titc.ai › BLOG
BLOG · AI入門・機械学習
階層クラスタリングの動きをアニメーションで理解する
「近いもの同士から順に合体」して、グループの系統図をつくる仕組みを、動かして確かめる
公開日 / 著者 富田 良治(TITC合同会社 代表社員)
階層クラスタリングは、いちばん近い者同士を1つにまとめる作業を、全員が1つになるまで繰り返し、「どの順にくっついたか」を系統図(樹形図、デンドログラム)に残す手法です。たとえば「お客様を購買の傾向で分ける」「商品や店舗を似たもの同士でまとめる」といった場面で使われます。k-meansと違い、グループの数を最初に決めなくてよいのが特徴です。下のデモで、樹形図が下から育っていく様子を見てみましょう。
動かして確かめる
左の図の点の一つひとつが、お客様(または店舗)だと思ってください。横は「来店の頻度」、縦は「1回あたりの購入額」のようなものです。右は樹形図で、下に並ぶ小さな点が1人ひとり、横線の高さが「合体したときの遠さ」です。まずは「再生」を押してください。最初は全員が1人きりで、いちばん近い2つから順に色がそろっていきます。そのあと、右の図の点線(切る高さ)を上下に動かしてみてください。
お客様の分布(近い者同士が1つの色に合流します)
灰色の点=まだ1人きり 白い線=いま合体させる2つのグループの距離の目安
樹形図(合体するたびに、下から育ちます)
横線が高いほど「遠いもの同士の合体」です。点線を上下にドラッグ(またはスライダー)で、グループ数を決められます。
ここまでの合体:0 回(全部で - 回)
いまのグループ数:-
切る高さ - → 完成した樹形図では - グループ
何が起きているのか:「いちばん近い2つ」を合体させ続ける
階層クラスタリング(ここで扱うのは、下から積み上げる「凝集型」)がやっているのは、次の3つだけです。
- 最初は全員が1人きりのグループとして始める。(デモでは灰色の点)
- いちばん近い2つのグループを探して、1つに合体させる。(デモで白い線が引かれ、2つが同じ色に合流するところ)
- グループが1つになるまで、2を繰り返す。(点の数をnとすると、n−1回で終わります)
合体のたびに、右の樹形図に横線を1本引いていきます。横線の高さは「合体したときの遠さ」です。低い位置で合体したものは似た者同士、高い位置で合体したものは大きく違う者同士、と読めます。樹形図ができたら、好きな高さで水平に切ると、その高さより下でつながっていたものが1つのグループになります。点線を動かすと、グループ数が変わり、左の点の色分けも変わるのを確かめてみてください。
「近さ」の測り方で、結果が変わる(連結法)
点どうしの距離は決められても、「点がたくさん集まったグループどうしの距離」には決め方が要ります。それが連結法で、デモで切り替えられます。
- 最短距離法:2つのグループの「いちばん近い2人」の距離。1人でも近い人がいればくっつくので、細長く鎖のようにつながる傾向があります(鎖効果)。データの形を「鎖でつながった塊」にして試してください。
- 最長距離法:「いちばん遠い2人」の距離。全員が近くないとくっつかないので、直径のそろった丸い塊になりやすい方法です。
- 群平均法:2つのグループの全員の組み合わせの距離を、平均したもの。最短と最長の中間的な性格です。
- ウォード法:合体させたときに、グループ内のばらつき(中心からの距離の二乗和)の増え方がいちばん小さくなる組み合わせを選びます。大きさのそろった塊になりやすく、実務でよく使われます。樹形図の高さは、単純な距離ではなく、そのばらつきの増え方に基づく値です。
白い線は、最短・最長の連結法ではそれぞれ「いちばん近い/遠い2人」を結びます。群平均法・ウォード法では、グループの重心どうしを結んだ目安の線です。
一度くっついたものは、あとで離れません。「あとから見直さない」ことが、階層クラスタリングの特徴であり弱点でもあります。
使うときの注意点
- グループ数は、結局は人が決めます。樹形図で、縦に長く伸びている部分(次の合体まで間が大きくあく部分)の手前で切ると、自然な分け方になりやすい目安です。ただし決まった正解はなく、現場で使いやすい数に落とすことも大切です。
- 連結法で結果が変わります。最短距離法は鎖効果で、離れた塊が途中の点を伝ってつながったり、外れた点が1人きりで残ったりします。迷ったら、まずウォード法で試し、他の方法と見比べるのが定石です。
- 外れ値の影響を受けます。極端に離れた点は、最後まで1人きりで残ったり(最短距離法)、最長距離法やウォード法では分け方を乱したりします。先に外れ値を確認しておきましょう。
- 件数が増えると、重くなり、読めなくなります。全員どうしの距離を扱うため、数千件を超えると計算が重くなります。樹形図も、数十〜数百件程度までが読みやすい範囲です。大量のデータにはk-meansなどが向きます。
- 単位の違う項目は、そろえる必要があります。「購入金額(円)」と「来店回数(回)」をそのまま使うと、数字の大きい金額ばかりが距離を決めてしまいます。平均0・ばらつき1にそろえる「標準化」を先に行うのが定石です。
中小企業での使いどころ
顧客名簿や売上データがあれば、「よく来る少額の常連」「たまに来て高額を買う層」といった人が気づいていなかったグループを見つけるきっかけになります。k-meansと違い、最初にグループ数を決めなくてよいので、「まず何種類くらいに分かれそうか」を樹形図で眺めてから決められます。また、数十〜数百件の取引先・商品・店舗を「似たもの同士」で並べ替える、アンケートの質問項目をまとめる、といった使い方もできます。分けた結果に名前を付けて意味を考えるのは、現場を知る人の仕事です。
富田 良治(とみた よしはる)
TITC合同会社 代表社員
AI経営コンサルタント。中小企業診断士・ITストラテジスト。元ITエンジニアで駄菓子屋オーナー。 プロフィールを見る