教師なし学習の代表選手『クラスタリング』を深掘り。似ているものを自動でグループ化する発想と、有名なk-means法のざっくりした仕組みを会話で追います。実務での使われ方も具体的に見ていきましょう。
先生〜、クラスタリングって、えへへ、食べ物の種類分けみたいな感じですかぁ?
ふふ、近いわよ。
クラスタリングは、似たデータ同士をまとめて『かたまり(cluster)』を作る手法。
正解ラベルなしで、データそのものの距離感からグループを見つけるの。
へぇ〜!
要は『趣味が似てる友達はだいたい同じ集まりにいる』みたいな現象を数式にするってこと?
いい感覚ね。
代表アルゴリズムにk-means法があるわ。
ポイントは、使う人がグループ数kを先に決める必要があるところ。
k-meansは『データ点と重心の距離を測って、一番近い重心のグループに入れる→重心を更新する』を繰り返します。
徐々に安定したグループが浮かび上がる仕組みです。
重心? うぅ〜ん…お神輿の担ぎ手の真ん中みたいな感じですかぁ?
わかりやすい例えね。
各グループのデータ点の平均位置が重心で、グループの『代表点』と考えればOK。
k-meansは、この代表点を賢く動かす作業を繰り返しているの。
k-means以外にも、距離の近いもの同士を順に結合していく『階層的クラスタリング』や、密度に基づく『DBSCAN』など複数の手法があります。
問題の性質で使い分けます。
グループ数kって、いくつにすればいいんですかぁ〜?
ここが難所ね。
データを見て試しながら決めるのが基本で、エルボー法などの補助指標を使うこともあるわ。
試験範囲では『kを事前指定する』という点だけ押さえれば十分。
ねぇねぇ、実際はどんなところで使われてるの?
代表例は顧客セグメンテーションです。
似た買い物傾向のお客さんをまとめて『ファミリー層』『学生層』のように整理して販促戦略に生かします。
ニュース記事の自動グルーピングや、画像の色クラスタリングにも使われますね。
気をつけたいのは、AIはグループを作るだけで『このグループはファミリー層だ』と名付けてくれないこと。
意味づけは人間の仕事よ。
わぁ、AIが地図を描いて、人間が地名を書き込むんですねぇ〜。
ましろ、なんか詩人みたいじゃん!
また、クラスタリング結果は初期値や乱数シードで変わることがあります。
同じデータでも実行のたびに微妙に違う結果になる場合があるため、複数回試して安定性を確認するのが実務のコツです。
えぇ〜、実行するたびに変わるなんて不思議ですねぇ。
k-meansの場合、初期の重心をランダムに選ぶので、その位置によって結果が変わるの。
対策として『k-means++』という初期化を工夫した改良版もよく使われるわ。
アルゴリズムにも色んな改良があるんだね。
勉強になるじゃん!
試験では『クラスタリング=ラベルなしでグループ化』『k-means法はk事前指定』を押さえて。
分類(教師あり)と混同しないようにね。
確認クイズ
クラスタリングの説明として正しいものはどれか?
- 正解ラベルを使ってカテゴリを予測する
- 似たデータ同士を自動でグループ分けする
- 連続的な数値を予測する
- 報酬を最大化する行動を学ぶ
こたえを見る
正解: 2. 似たデータ同士を自動でグループ分けする
クラスタリングは正解ラベルを使わず、データ同士の類似度で自動的にグループを作る教師なし学習の手法です。ラベルで学ぶのは分類、数値予測は回帰、報酬で学ぶのは強化学習であり、枠組みが異なります。