「K」を選ぶアートへようこそ!
教師なし学習(Unsupervised Learning)の世界において、クラスタリングは散らかったクローゼットを整理するようなものです。似たもの同士をまとめたいのですが、一つ問題があります。それは、いくつの箱に分ければよいのか、誰も教えてくれないということです!箱は3つでしょうか?それとも5つ?あるいは10個?
クラスターの数を決めることは、統計学における最も一般的な課題の一つです。正解(ラベル)がある教師あり学習とは異なり、教師なし学習はより主観的な判断が求められます。このガイドでは、Exam SRM(リスクモデリングのための統計学)で学習する、多すぎず少なすぎない「ちょうどいい」クラスター数を見つけるための手法を探っていきましょう。
1. 核心的な問題:バイアスとバリアンスのトレードオフ
数学的な話に入る前に、ロジックについて考えてみましょう。もし \( n \) 個のデータポイントがあり、クラスター数 (\( K \)) を \( n \) に設定したら、一人ひとりが自分専用のクラスターを持つことになります。自分自身と完全に一致するため、クラスター内の「誤差」はゼロになりますね!
しかし、一人のクラスターは「グループ」とは呼べず、単なるリストに過ぎません。その一方で、\( K = 1 \) にすると、データセット全体が巨大な塊になってしまい、個々の違いについて何も教えてくれません。目標は、単純さ(少ないクラスター数)と詳細さ(クラスター内変動の小ささ)の間のバランスを見つけることなのです。
2. エルボー法(クラスター内変動の合計)
K-meansクラスタリングにおいて \( K \) を選ぶ最も一般的な方法の一つは、クラスター内平方和の合計(Total Within-Cluster Sum of Squares, WSS)を調べることです。これは、クラスターがどれだけコンパクトにまとまっているかを測定する指標です。
単一のクラスター \( C_k \) 内の変動を求める公式は以下の通りです:
\[ W(C_k) = \sum_{i \in C_k} \sum_{j=1}^{p} (x_{ij} - \bar{x}_{kj})^2 \]
これらをすべての \( K \) 個のクラスターについて合計したものが、合計WSSとなります。
「エルボー(肘)」の見つけ方:
1. さまざまな \( K \) の値(例えば \( K = 1 \) から \( 10 \) まで)についてK-meansを実行します。
2. それぞれの \( K \) に対して、合計WSSを計算します。
3. 横軸に \( K \)、縦軸に合計WSSをとってグラフを描きます。
\( K \) が増えるにつれて、WSSは必ず減少します。しかし、ある地点で減少の度合いが急激に緩やかになります。この地点がグラフ上で「肘(エルボー)」のように見えるため、一般的にこの地点が \( K \) の最適な選択肢とみなされます。
クイック復習:
- WSSが低い: 各点がクラスターの中心に近く、質が高い(良い!)。
- Kが高い: WSSは常に低くなるが、過学習のリスクがある(悪い!)。
- エルボー: 効率が落ち始める(収穫逓減)ポイント。
3. 階層的クラスタリングでの決定
階層的クラスタリングでは、開始前に \( K \) を決める必要はありません。代わりに、デンドログラム(樹状図)を作成します。ここでクラスター数を決めるには、デンドログラム上に水平な線を引くことを想像します。
「最長の垂直距離」ルール:
デンドログラムにおいて、垂直の高さは2つのクラスターがどれだけ異なるか(非類似度)を表しています。良いクラスター数を見つけるには:
1. 水平な「枝」に邪魔されていない、最も高い垂直線を探します。
2. その高い線を通るように、水平に木をカットします。
3. その水平線が通過する垂直線の数が、あなたの選ぶクラスター数 (\( K \)) になります。
よくある間違い: 木の下の方だけを見てはいけません!下の部分は個々のデータポイントを示しているだけです。クラスターが長い垂直距離にわたって分離し続けているような「隙間(ギャップ)」を探すようにしましょう。
4. ギャップ統計量(Gap Statistic)
エルボー法は素晴らしいですが、少し「視覚的」で主観が入る余地があります。ギャップ統計量は、より数学的なアプローチを提供してくれます。
ギャップ統計量は、実際のデータの合計WSSと、「ヌル(無)」データセット(クラスターが存在せず、点がランダムかつ均一に分布しているデータ)の期待WSSを比較するものです。
仕組み:
1. さまざまな \( K \) に対して、実際のデータのWSSを計算します。
2. 「偽」のランダムデータセットを生成し、同じ \( K \) に対してそのWSSを計算します。
3. ギャップとは、偽データの log(WSS) と実際のデータの log(WSS) との差です。
4. 最適な \( K \) は、このギャップを最大化するものです。これは、クラスタリングが純粋な偶然によるものよりも、はるかに優れていることを示しています。
覚え方:「ギャップに注意(Mind the Gap)」
「ギャップ」とはランダムさに対する改善度だと考えてください。私たちは可能な限り最大の改善を得られる場所を探しているのです!
5. 実践的な考慮事項(ビジネスの現実)
数学が少し抽象的に思えても心配しないでください。時として、最適な \( K \) は公式ではなく実用性によって決まります。Exam SRMにおいて重要なのは、教師なし学習は多くの場合、さらなる分析への出発点であるという点です。
実践的な制約の例:
- マーケティング: 企業が4種類の広告しか予算的に作成できない場合、たとえエルボー法で \( K=6 \) が最適と示されても、\( K=4 \) を選ぶことになります。
- 解釈可能性: マネージャーに対して、少しずつ違う15種類の顧客像を説明するよりも、明確な3つの顧客像を説明するほうがはるかに容易です。
まとめ:
1. エルボー法: クラスターを追加しても、クラスター内変動があまり減らなくなるポイントを探す。
2. デンドログラムのカット: 最も長い垂直線を通る高さで木を切る。
3. ギャップ統計量: データとランダムノイズの差が最大になる \( K \) を選ぶ。
4. 文脈がすべて: 直面している問題に対して意味のあるクラスター数を選ぶ。
豆知識: クラスター数に唯一の「正解」はありません。だからこそ教師なし(Unsupervised)と呼ばれるのです。アルゴリズムに正解を教えてくれる先生はいません!私たちができる最善のことは、これらのツールを使って、統計的に妥当でありながら、目的のために役立つ解決策を見つけることなのです。