情報ラボ > クラスタリング
正解を教えなくても、コンピュータは似たものをまとめられます。
グループ数を変えたときの「まとまりの良さ」の変化を見ます。折れ曲がるところが目安です。
グループ数と、まとまりの良さの関係(エルボー法)
| 教師あり学習(分類) | 教師なし学習(クラスタリング) | |
|---|---|---|
| 正解ラベル | 必要(人がつける) | 不要 |
| グループの意味 | あらかじめ決まっている | あとから人が解釈する |
| 向いている場面 | 分けたいものが決まっている | どう分かれるか自体を知りたい |
| 準備の手間 | ラベル付けに人手がかかる | データだけあればよい |
たくさんのデータがあるとき、似たものどうしをまとめて グループ に分けることをクラスタリングといいます。できたグループをクラスタと呼びます。
特徴は、正解を教えないことです。「これはAグループ」といったラベルは一切与えません。データの位置関係だけを見て、コンピュータが自分でまとまりを見つけます。教師なし学習の代表例です。
そのため、できたグループが何を意味するかは、あらかじめ決まっていません。結果を見て人が「これは若い層だ」「これは購入頻度の高い客だ」と解釈します。
最もよく使われる手法が k-means法(k平均法)です。手順は驚くほど単純です。
この4つだけです。中心が動かなくなれば完成で、たいてい数回のくり返しで落ち着きます。上のツールで、1歩ずつ進めながら確かめられます。
名前の「means(平均)」は、手順3で平均を使うことに由来します。「k」は分けるグループの数で、人が指定します。
この手順は、ある値を小さくするように働いています。各データから、自分が属するグループの中心までの距離。その二乗の合計です。
手順2では、より近い中心に移すので、この合計が減ります。手順3では、平均の位置が距離の二乗和を最小にするので、やはり減ります。減り続けて、それ以上減らなくなったところで止まる。だから必ず終わります。
k-means法の弱点は、分ける数を人が決めなければならないことです。データを見ただけでは、いくつが適切か分かりません。
判断の目安になるのがエルボー法です。グループ数を1から順に増やしながら、まとまりの良さを計算してグラフにします。
グループ数を増やせば、まとまりは必ず良くなります。極端な話、データの数だけグループを作れば、まとまりは完璧です。しかしそれでは意味がありません。
グラフを見ると、ある数を境に改善の度合いが急に鈍る場所があります。ひじ(elbow)のように折れ曲がるので、エルボー法と呼ばれます。その折れ曲がる点が、適切なグループ数の目安です。
ただし、これは絶対的な答えではありません。目的によって適切な数は変わります。顧客を分けるとき、施策を打てるのが3種類までなら、3つに分けるのが実用的です。
最初に中心を置く位置によって、たどりつく答えが変わることがあります。偶然、悪い位置から始まると、不自然な分かれ方で止まってしまいます。
対策として、初期位置を変えて何度か実行し、最もまとまりの良い結果を採用する方法がとられます。
k-means法は、距離だけを見てグループを作ります。そのため、丸く集まったデータには強い一方、細長い形やドーナツ状のデータはうまく分けられません。
そうした場合は、密度に注目する手法や、階層的にまとめていく手法など、別の方法が使われます。
データが均一に散らばっていても、k-means法は指示された数のグループに分けます。「分かれていません」とは答えてくれません。
結果が出たからといって、そこに意味のあるまとまりがあるとは限らない。この点は必ず意識しておく必要があります。上のツールの「かたまりなし」で、この様子を確かめられます。
実際のデータでは、項目ごとに単位や桁が違います。年齢は0〜100、年収は0〜1000万。このまま距離を計算すると、桁の大きい年収だけで結果が決まってしまいます。
そこで、あらかじめ各項目を同じ尺度にそろえます。これを標準化や正規化といいます。前処理を怠ると、意味のない結果が出ます。
k-means法は最も基本的な方法ですが、ほかにもいくつかの手法があります。
| 手法 | 特徴 |
|---|---|
| 階層的クラスタリング | 近いものから順にまとめていく。グループ数を先に決めなくてよい |
| 密度による手法 | 点が密集した領域をグループとみなす。細長い形にも対応できる |
| 混合ガウスモデル | それぞれのグループを確率分布として扱う。所属を確率で表せる |
階層的クラスタリングでは、まとめていく過程を樹形図(デンドログラム)として描けます。どこで切るかによってグループ数を後から選べるのが利点です。
クラスタリングで難しいのは、計算よりもできたグループの意味づけです。コンピュータは「これが1番のグループ」としか教えてくれません。
顧客データを3つに分けたとき、それぞれの平均を見比べます。「このグループは購入頻度が高く、単価は低い」「こちらは年に数回だが高額商品を買う」。こうして特徴を読み取り、名前をつけていきます。
この作業には、データそのものだけでなく、業務や分野についての知識が必要です。分析は計算で終わりではなく、解釈まで含めて初めて役に立ちます。