先生がいないクラスタリング
マリリン「次は、この図でよいですか?」
天馬「お!さすがマリリン、今度は指示なしでも出せたな。次第に学習効果が出てきたようだ。次も分類だが、今度は教師なし学習のクラスタリング(Clustering)だ。
伴くん「教師なし学習ということは、正解がわからなくても分類ができるのですか?」
天馬「例えば、何らかのアンケートをした場合、全体の傾向をつかもうとすると、まず大雑把に分類するだろう。この場合だと、分類に正解があるわけではない。クラスタリングとは、大量のデータを自動で分類するための手法だ。先ほどのクラス分類と似ているが、どうやって分類するべきか分からない場合、正解付データがなくても、与えられたデータの値の類似性をもとにして分類している。
図の左下のグラフは、大学生たちの体重と身長のデータを入手して、プロットしたものだ。この場合、大雑把だが身長が高くても体重の少ない『やせ型』、逆の『肥満型』、中間の『標準型』に分けられるだろう。このようにデータ同士が近くに集まって集団を形成すること、すなわち各変数間の距離が小さいデータをグループにまとめることを、クラスタリングと呼ぶのだ」
伴くん「そこでの変数とは、体重と身長ですね」
猿田くん「伴くんはマッチョ型で、マリリンはグラマー型だから、どこにも入らないですよ」
天馬「猿田はいちいちうるさいな。ここで言う『変数間の距離』とは、右上のグラフのようにデータAとデータBの距離、これをユークリッド距離と呼ぶが、『三平方の定理』で計算ができる。これなら中学校で習ったから、猿田くんでもできるだろう。
変数が増えるとグラフ化できないが、変数が100個でも同様な計算で可能だ。このように、データとデータの距離が小さいほど類似度が高いとしているのだ。
データの類似度を測る方法には、このユークリッド距離以外にも、データとデータのベクトルの向きの近さ(角度)で評価する方法、コサイン類似度も、よく使われている」
伴くん「これが先ほどの話に出た、データの距離なのですね」
天馬「そうだ。ではマリリン、次の図を出してくれ」