階層型クラスタリング徹底比較|ウォード法・最短距離法などの使い分け

階層的クラスタリングとは?

クラスタリングは、教師なし学習の基本的な手法の一つであり、類似したデータ点をグループ化することで、ラベル付けされていないデータから有益な情報を抽出する手法です。

中でも階層的クラスタリングは、データ点間の類似度に基づいて段階的にクラスタを形成していく手法です。

この過程は樹形図(デンドログラム)として視覚的に表現されるため、結果の解釈が容易になります。

クラスタリングを可視化したデンドログラム

こんな感じですね。

一般的には、個々のデータ点をそれぞれ一つのクラスタとして出発し、最も類似性の高いクラスタ同士を繰り返し統合していくボトムアップ(凝集型)のアプローチが採用されます。

2. 階層的クラスタリングの7つの代表的手法

階層的クラスタリングの大きな特徴は、事前にクラスタの数を指定する必要がないことです。これにより、データの構造が未知の場合でも探索的に分析を進めることができます。K-means法などの分割クラスタリングとは異なり、階層的クラスタリングではデンドログラムを切断する高さを選ぶことで、後からでも異なるレベルのクラスタリング結果を検討できるため、データに対するより深い洞察を得ることが可能です。

階層的クラスタリングには、クラスタ間の距離(または類似度)をどのように定義するかによって、様々な手法が存在します。

ここでは、代表的な7つの手法について詳しく解説します。

2.1 ウォード法(Ward’s Method)

ウォード法は、クラスタ内の分散の増加を最小限に抑えながらクラスタを統合していく手法です。

数学的背景

ウォード法は、クラスタを統合する際に情報損失を最小化するという考えに基づいています。情報損失は、二乗誤差和(SSE: Sum of Squared Errors)の増加量として定量化されます。

各クラスタのセントロイド(重心)は、そのクラスタに属するデータ点の平均ベクトルとして計算されます。

二つのクラスタ $C_i$ と $C_j$ を統合した際の分散増加量は次式で表されます

$${\Delta Var(C_i, C_j) = \frac{|C_i| \cdot |C_j|}{|C_i| + |C_j|} \cdot ||{\mu_i – \mu_j}||^2}$$

  • $|C|$ はクラスタのサイズ(データ点の数)
  • $\mu$ はセントロイドを表します。

アルゴリズム

  1. すべてのデータ点を個別のクラスタとして初期状態とします
  2. 各ステップで、可能なすべてのクラスタペアを統合した場合の、クラスタ内分散の増加量を計算します
  3. 分散の増加量が最も小さい二つのクラスタを統合し、新たな一つのクラスタを形成します
  4. このプロセスは、すべてのデータ点が単一のクラスタに統合されるか、あらかじめ設定されたクラスタ数に達するまで繰り返されます

メリットとデメリット

メリット
  • データの微細な違いに敏感
  • 類似したサイズと形状のクラスタを生成する傾向がある
  • 分散最小化により統計的に安定した結果が得られる
デメリット
  • 特に大規模なデータセットでは計算負荷が高い
  • ユークリッド距離を前提としているため、非凸型のクラスタには適さない場合がある

クラスタ形状と外れ値の影響

ウォード法は一般的にバランスの取れた、やや球形またはコンパクトなクラスタを生成する傾向があります。外れ値は分散を増加させるため、統合プロセスに影響を与え、最適でないクラスタ構造につながる可能性があります。

クラスタリングツール

補足|DIANA法

DIANA(Divisive Analysis)法は、階層的クラスタリングの一種で、分割型の手法です。

一般的な凝集型(agglomerative)の階層クラスタリング(例:ウォード法)とは逆のアプローチを取ります。

  1. すべてのデータを1つの大きなクラスターとする ところから開始。
    • ウォード法は「ボトムアップ型」(小さなクラスタを統合)ですね。
  2. クラスタ内のデータ間の距離を考慮し、最も異質なデータ点の集合を特定
  3. その集合を分割し、2つのクラスターに分ける
  4. このプロセスを繰り返し、最適なクラスタリング結果が得られるまで進める。
管理人

ウォード法は分割時に分散が最小化されるように統合するのに対し、DIANA法は異質性の大きい部分を切り離すことでクラスターを形成します。正直あんまり使われないです。

クラスタリング可視化ツール|DIANA法

2.2 最短距離法(Single Linkage)

最短距離法は、二つのクラスタに属する任意の二点間の距離のうち、最も短い距離に基づいてクラスタを統合していく手法です。

数学的背景

二つのクラスタ $C_1$ と $C_2$ 間の距離は次式で定義されます

$${d(C_1, C_2) = \min_{x \in C_1, y \in C_2} d(x, y)}$$

  • $d(x, y)$ は点 $x$ と点 $y$ の間の距離(多くの場合ユークリッド距離)

アルゴリズム

  1. 初期状態では、各データ点が個別のクラスタとして扱われます
  2. 各ステップで、すべてのクラスタペア間で最も距離の短い二点を見つけます
  3. これらの二点を含むクラスタを統合し、一つのクラスタを形成します
  4. このプロセスは、すべてのデータ点が単一のクラスタに統合されるまで繰り返されます

メリットとデメリット

メリット
  • 概念的に単純で実装が容易
  • 不規則な非球形のクラスタを識別できる
  • コンパクトでなくても十分に分離されたクラスタを分離するのに効果的
デメリット
  • 「鎖効果」により、単一の近い点に基づいてクラスタが不適切にマージされる可能性がある
  • 外れ値に非常に敏感
  • 細長いクラスタを生成する傾向がある

クラスタ形状と外れ値の影響

最短距離法は細長く、鎖状の形状を形成する傾向があります。

外れ値はブリッジとして機能し、本来分離しているクラスタを早期にマージさせる可能性があるため、外れ値に対してロバストではありません。

クラスタリングツール

2.3 最長距離法(Complete Linkage)

最長距離法は、二つのクラスタに属する任意の二点間の距離のうち、最も長い距離に基づいてクラスタを統合する手法です。

数学的背景

二つのクラスタ $C_1$ と $C_2$ 間の距離は次式で定義されます:

$${d(C_1, C_2) = \max_{x \in C_1, y \in C_2} d(x, y)}$$

アルゴリズム

  1. 初期状態では、各データ点が個別のクラスタとして扱われます
  2. 各ステップで、異なるクラスタに属するすべての点のペアを考慮します
  3. そして、二つのクラスタ間で、最も遠い二点間の距離が最小となるペアを見つけます
  4. これらの二つのクラスタを統合します
管理人

このプロセスは、すべてのデータ点が単一のクラスタに統合されるまで繰り返されます

メリットとデメリット

メリット
  • 十分に分離された、同様の直径のコンパクトなクラスタを生成する傾向がある
  • 最短距離法よりも鎖効果の影響を受けにくい
デメリット
  • 外れ値に敏感であり、外れ値が主クラスタから遠く離れていると、最長距離が増加し、自然なクラスタが分割されることがある
  • 非球形のクラスタには適さない可能性がある

クラスタ形状と外れ値の影響

最長距離法はコンパクトで、多くの場合やや球形または球状の形状を形成する傾向があります。

外れ値はクラスタ間の最大距離を増加させ、本来起こりうる統合を遅らせたり妨げたりする可能性があるため、外れ値に対して敏感です。

クラスタリングツール

2.4 群平均法(Average Linkage)

群平均法は、統合する二つのクラスタに属するすべての点間の距離の平均に基づいて、クラスタを統合する手法です。

数学的背景

二つのクラスタ $C_1$ と $C_2$ 間の距離は次式で定義されます:

$${d(C_1, C_2) = \frac{1}{|C_1||C_2|} \sum_{x \in C_1} \sum_{y \in C_2} d(x, y)}$$

  • $|C|$ はクラスタ $C$ 内の点の数
  • $d(x, y)$ は点 $x$ と点 $y$ の間の距離です。

アルゴリズム

  1. 初期状態では、各データ点が個別のクラスタとして扱われます
  2. 各ステップで、すべてのクラスタペアについて、一方のクラスタの点と他方のクラスタの点のすべての可能なペア間の距離の平均を計算します
  3. そして、平均距離が最も小さい二つのクラスタを統合します
管理人

このプロセスは、すべてのデータ点が単一のクラスタに統合されるまで繰り返されます

メリットとデメリット

メリット
  • 平均化の効果により、最短距離法や最長距離法よりも外れ値の影響を受けにくい
  • 最短距離法の鎖効果を軽減する
  • 最長距離法ほど大きなクラスタを分割する傾向がない
  • 多くの場合、よりバランスの取れた意味のあるクラスタが得られる
デメリット
  • 明確に分離されたクラスタの境界を曖昧にする可能性がある
  • 非常にコンパクトで明確に定義されたクラスタの場合には、ウォード法ほど性能が良くないことがある

クラスタ形状と外れ値の影響

群平均法は最短距離法や最長距離法と比較して、よりバランスの取れた適切に形成されたクラスタを生成する傾向があります。

平均化により外れ値の影響は軽減されますが、完全に排除されるわけではありません。

クラスタリングツール

2.5 重心法(Centroid Method)

重心法は、各クラスタをそのセントロイド(平均ベクトル)で代表させ、二つのクラスタのセントロイド間の距離に基づいてマージを決定する手法です。

数学的背景

クラスタ $C = {x_1, x_2, …, x_n}$ のセントロイド $\mu$ は、その点の平均として計算されます

$${\mu = \frac{1}{n} \sum_{i=1}^{n} x_i}$$

二つのクラスタ間の距離は、それぞれのセントロイド間の距離(通常はユークリッド距離)となります。

アルゴリズム

  1. 初期状態では、各データ点が個別のクラスタとして扱われます
  2. 各ステップで、すべてのクラスタのセントロイドを計算します
  3. そして、セントロイド間の距離が最小となる二つのクラスタを見つけます
  4. これらの二つのクラスタをマージし、マージされたクラスタの新しいセントロイドを計算します。
管理人

このプロセスは、すべてのデータ点が単一のクラスタに統合されるまで繰り返されます。

二つのクラスタをマージした後、新しいクラスタのセントロイドは、マージされる前の二つのクラスタのセントロイドの加重平均として計算されます。

$${\mu_{new} = \frac{|C_1|\mu_1 + |C_2|\mu_2}{|C_1| + |C_2|} }$$

  • ${|C_i| }$ はクラスタ ${C_i}$​ のサイズ
  • ${\mu_i }$​ はそのセントロイド

メリットとデメリット

メリット
  • 概念的に直感的で実装が容易
  • 特にデータ点が多次元の場合に効率的
  • 複雑な形状のクラスタ構造にも対応可能
デメリット
  • 「逆転」(クラスタの類似度が単調でない)が発生する可能性がある
  • クラスタが大きさ(サイズ)に影響されるため、不均衡なクラスタサイズの場合に問題が生じることがある

クラスタ形状と外れ値の影響

重心法は、比較的均一なサイズのクラスタを形成する傾向があります。外れ値はセントロイドの計算に影響を与えますが、群平均法と同様に、単一の外れ値がクラスタリング全体に大きな影響を与えることはありません。

クラスタリングツール

2.6 重み付き平均法(Weighted Average Linkage)

重み付き平均法は、群平均法の拡張版で、クラスタのサイズに基づいて距離計算に重みを付ける手法です。

数学的背景

二つのクラスタC_1 と C_2間の距離は次式で定義されます

$${d(x,y)d(C_1, C_2) = \frac{1}{w_1 w_2} \sum_{x \in C_1} \sum_{y \in C_2} w_x w_y d(x, y) }$$

  • ${w_1}$​と ${w_2}$ はそれぞれのクラスタの重み(多くの場合、クラスタサイズ)
  • ${w_x}$ と ${w_y}$ は個々のデータ点の重み

アルゴリズム

  1. 初期状態では、各データ点が個別のクラスタとして扱われます
  2. 各ステップで、すべてのクラスタペアについて、重み付き平均距離を計算します
  3. 重み付き平均距離が最小となる二つのクラスタを統合します
  4. 新しいクラスタの重みは、統合された二つのクラスタの重みの和として計算されます
  5. このプロセスは、すべてのデータ点が単一のクラスタに統合されるまで繰り返されます

メリットとデメリット

メリット
  • クラスタサイズの違いに対応するため、より均衡のとれたクラスタリングが可能
  • 群平均法よりも特定のデータ構造に適応しやすい
  • 外れ値の影響を軽減しつつ、クラスタの特性を保持できる
デメリット
  • 重みの設定によって結果が大きく変わる可能性がある
  • 計算が複雑になり、実装や解釈が難しくなる場合がある

クラスタ形状と外れ値の影響

重み付き平均法は、クラスタのサイズに基づいて距離計算に重みを付けるため、大きなクラスタと小さなクラスタの統合に対してより慎重になります。

これにより、クラスタサイズの偏りがある場合でも、より均衡のとれた結果が得られる傾向があります。外れ値の影響は、重みの設定によって軽減されますが、完全に排除されるわけではありません。

クラスタリングツール

2.7 メディアン法(Median Method)

メディアン法は、重心法の一種で、クラスタサイズの影響を最小限に抑えるために、セントロイドではなくメディアン(中央値)を使用する手法です。

数学的背景

メディアン法では、二つのクラスタ C1C_1 C1​ と C2C_2 C2​ のメディアンを計算し、それらの間の距離に基づいてクラスタを統合します。クラスタのメディアンは、そのクラスタに属するデータ点の各次元の中央値として計算されます。

二つのクラスタをマージした後の新しいメディアンは、以下の式で計算されます

$${med_{new} = \frac{med_1 + med_2}{2}}$$

  • ${med_i}$ はクラスタ ${C_i}$​ のメディアン

管理人

重要なのは、クラスタのサイズに関係なく均等に重みづけされることです。

アルゴリズム

  1. 初期状態では、各データ点が個別のクラスタとして扱われます
  2. 各ステップで、すべてのクラスタのメディアンを計算します
  3. メディアン間の距離(通常はユークリッド距離)が最小となる二つのクラスタを見つけます
  4. これらの二つのクラスタを統合し、新しいクラスタのメディアンを計算します
  5. このプロセスは、すべてのデータ点が単一のクラスタに統合されるまで繰り返されます

メリットとデメリット

メリット
  • クラスタサイズの違いに対して重心法よりもロバスト
  • 特に外れ値を含むデータセットに対して効果的
  • メディアンは平均よりも外れ値の影響を受けにくい
デメリット
  • 重心法と同様に「逆転」現象が起こる可能性がある
  • 高次元データでは計算が複雑になる
  • 全体的な計算効率が低下する場合がある

クラスタ形状と外れ値の影響

メディアン法は中央値を使用するため、極端な値の影響を受けにくく、より安定したクラスタリング結果になります。

外れ値が存在する場合でも、クラスタの代表点(メディアン)の計算に与える影響は限定的です。

クラスタリングツール

まとめ!

階層的クラスタリングの7つの手法を理解したところで、それぞれの特徴と適用場面を比較しましょう。

3.1 手法の特性比較

手法名連結基準数学的基礎
ウォード法クラスタ内分散の増加を最小化マージ時の二乗誤差和(SSE)を最小化
最短距離法二つのクラスタの点間の最小距離クラスタ間で最も近い点のペアに基づいてマージ
最長距離法二つのクラスタの点間の最大距離クラスタ間で最も遠い点のペアに基づいてマージ
群平均法クラスタ内のすべての点ペア間の平均距離二つのクラスタのすべての点間の平均的な近さを考慮
重心法二つのクラスタのセントロイド間の距離平均ベクトルが最も近いクラスタをマージ
重み付き平均法クラスタサイズによる加重平均距離マージされるクラスタのデータ点の数を考慮して平均距離を計算
メディアン法マージされるクラスタのセントロイドの中央値新しいセントロイドはセントロイドの中央値に関連付けられる

3.2 選択基準

管理人

最適な階層的クラスタリング手法を選択する際は、以下の要素を考慮することが大事かなと思います。

  1. データの性質
    • 高次元データ、外れ値の存在、データの分布など
  2. 予想されるクラスタ形状
    • 球形、非球形、チェーン状など
  3. クラスタサイズの均一性
    • 同じようなサイズのクラスタが必要か否か
  4. 計算リソース
    • 大規模データセットの場合、計算効率が重要
  5. 解釈のしやすさ
    • 結果の解釈と説明が必要な場合の考慮

3.3 使い分けどうしたらいい?

  • ウォード法
    • クラスタ内の均質性が重要な場合
    • (例:顧客セグメンテーション)
  • 最短距離法
    • 非球形クラスタや連続的なパターンを検出する場合
    • (例:地理的なパターン)
  • 最長距離法
    • 明確に分離されたクラスタが必要な場合
    • (例:画像セグメンテーション)
  • 群平均法
    • 一般的な探索的分析や、バランスの取れた結果が必要な場合
  • 重心法
    • 多次元データで、クラスタの中心が重要な場合
  • 重み付き平均法
    • クラスタサイズの差が大きい場合
  • メディアン法
    • 外れ値が存在する可能性が高い場合

FOLLOW ME !