クラスタリングと次元削減:教師なしで整理する
正解のないデータを機械が自分で整理する教師なし学習を学びます。基礎層では、似たものをまとめるクラスタリングと、情報を圧縮する次元削減の大枠を身近な例でつかみます。深掘り層では、k-means法の初期値依存性を補うk-means++、ウォード法とデンドログラム、ばらつきを手がかりにする主成分分析と特異値分解、t-SNEや多次元尺度構成法まで説明できるようになります。
ねらい
このレッスンでは、正解のないデータを機械が自分で整理する、教師なし学習(きょうしなしがくしゅう)を学びます。
基礎
似たものをまとめるクラスタリングと、情報を減らして扱いやすくする次元削減(じげんさくげん)の大枠を身近な例でつかみます。
1. 正解のラベルなしで構造を見つける教師なし学習
教師あり学習は、入力と正解の組から学ぶ方法でした。しかし現実のデータの多くは、お店の記録のように正解のラベルを持ちません。ラベルを人が付けるには、時間も費用もかかります。
そこで、正解のラベルが付いていないデータから、そこに隠れた構造やまとまりを機械が自分で見つけ出す方法が使われます。これが教師なし学習です。手がかりにするのは正解ではなく、データそのものの中にある、似ている・近いという関係です。
教師なし学習の代表的な使い道は2つあります。1つは、似たデータどうしを自動でグループにまとめることです。もう1つは、大事なところを保ったまま、たくさんある情報の種類を少なくすることです。順に見ていきます。
2. 似たものを自動でまとめるクラスタリング
似たデータどうしをいくつかのグループに自動で分けることをクラスタリングといいます。分けてできた1つ1つのグループは、クラスタと呼ばれます。
お店の例なら、買い方の似たお客が同じクラスタに集まります。「よく来て少しずつ買う人たち」「たまに来てまとめ買いする人たち」というまとまりが、機械の手で浮かび上がります。
大切なのは、どんなグループがあるかを人が前もって決めていない点です。正解を与えず、データの近さだけからまとまりを見つけるので、これは教師なし学習です。
3. 大事な特徴を保って情報を減らす次元削減
1つのデータが持つ情報の種類の数を次元といいます。お客の情報が年齢や来店回数など多くあるほど、次元が高い状態です。次元が高いと全体像がつかみにくく、計算も重くなります。
そこで、大事な特徴をなるべく保ったまま情報の種類を少なくすることを次元削減といいます。たとえば、多くの数値から要点を残した2つの数値を取り出せれば、お客の1人1人を平面の地図に点として描けます。人の目で傾向を見渡せるようになり、後の処理も軽くなります。
ポイント
クラスタリングは似たものをまとめること、次元削減は情報を減らすことです。どちらも正解を使わず、データそのものの構造を手がかりにする教師なし学習です。
ここまでの要点
- 教師なし学習は、正解のラベルなしで、データに隠れた構造を見つけます。
- クラスタリングは、似たデータを自動でグループにまとめます。
- 次元削減は、大事な特徴を保ったまま、情報の種類を少なくします。
まずは全体像をつかめれば十分という人は、ここで区切って大丈夫です。「正解なしで、まとめるのがクラスタリング、減らすのが次元削減」と押さえられていれば、この先の深掘りに進む土台はできています。
発展
ここからは代表的な手法のしくみに入ります。k-means法はどこでつまずくのか、主成分分析はなぜばらつきにこだわるのか、という2つの疑問を軸に掘り下げます。
4. k-means法のしくみと初期値に左右される弱点
クラスタリングの代表が、k-means法(ケイミーンズほう)です。いくつのグループに分けるかをあらかじめ数で決めておきます。
手順はこうです。まず、決めた数だけ仮の中心をランダムに置きます。次に、各データを最も近い中心のグループに割り当てます。そして、各グループに集まったデータの平均の位置へ中心を動かします。この割り当てと移動をくり返すと、やがて中心が動かなくなり、グループ分けが定まります。名前のmeansは平均という意味で、平均の位置で中心を決め直すことを表しています。
シンプルで速い手法ですが、見落とせない弱点があります。最初にランダムに置く中心の位置は初期値と呼ばれます。この初期値がどこに落ちるかで、最終的なグループ分けが大きくブレるのです。
なぜブレたまま終わるのでしょうか。k-means法の中心は、近くに集まったデータの平均へ動くという小さな改善をくり返すだけで、全体を見渡して配置を組み直すことはしません。だから、出発点が悪いと、悪いなりの落ち着き先で計算が止まってしまいます。
たとえば、データに3つのかたまりがあるのに、3つの中心のうち2つが偶然同じかたまりの中に置かれたとします。すると、その1つのかたまりが2つのグループに割られ、残った離れた2つのかたまりが1つのグループにまとめられたまま、計算が終わります。スタート位置の偶然が結果を左右するこの性質は、初期値依存性と呼ばれます。
だったら、出発点そのものを賢く選べばよいはずです。そこで生まれた改良がk-means++です。最初の中心はランダムに選びますが、2つ目からは、すでに選ばれた中心から遠いデータほど次の中心に選ばれやすくします。中心どうしが互いに遠ざかるように散らばるため、それぞれのかたまりに中心が行き渡りやすくなり、おかしな分割のまま止まる事故が起きにくくなります。
5. 下から順にまとめ上げるウォード法とデンドログラム
k-means法とは別の発想のクラスタリングもあります。分ける数を先に決めず、データを下から順にまとめ上げていくやり方です。
代表がウォード法です。はじめは、1つ1つのデータをそれぞれ別のクラスタとみなします。そして、合体させたときにグループ内のばらつきの増え方が最も小さくすむ2つを選び、1つにまとめます。この合体をくり返すと、小さなまとまりが大きなまとまりへ育ち、最後は全体が1つになります。下から順にまとめ上げていくこの方式は、階層的クラスタリングと呼ばれます。
合体の過程は、枝分かれの図で表せます。この図がデンドログラム(樹形図)です。どのデータが早くに合体し、どのまとまりが遅くに合体したかが、木の高さで分かります。適当な高さで木を横に切れば、その時点でのクラスタの分かれ方を読み取れます。分ける数を先に決めるk-means法と違い、分ける数をあとから選べるのが利点です。
理解の確認
k-means法の結果が初期値に左右される理由と、ウォード法が分ける数をあとから選べる理由。この2つを自分の言葉で言い直せるか、確かめてみてください。
6. ばらつきの大きさを情報とみなす主成分分析と特異値分解
次元削減の話に移ります。基礎層では、大事な特徴を保ったまま減らすと言いました。それでは、何を残せば大事な特徴を保ったことになるのでしょうか。次元削減の代表である主成分分析(PCA)の答えは、ばらつきです。
極端な例で考えてみます。お客のデータに「支払いに使った通貨」という項目があり、全員が円と記録されていたとします。この項目の値は全員同じ、つまりばらつきがゼロです。この項目をいくら眺めても、誰と誰が違うのかはまったく分かりません。ばらつきゼロの項目は、データを区別する手がかり、つまり情報をまったく持っていないのです。
逆に、値が広く散らばっている項目ほど、お客ごとの違いがはっきり現れます。ばらつきの大きさは、そのデータの個性がどれだけ表れているかの度合いだといえます。
そこで主成分分析は、データが最も広く散らばっている向きを探し、それを第1の新しい軸に選びます。もとの項目をそのまま使うのではなく、複数の項目を組み合わせた向きとして探すのが特徴です。次の軸は、最初の軸と直角に交わる向きの中から、また最もばらつく向きを選びます。
こうして選んだ軸のうち、ばらつきの大きい軸だけを残し、小さい軸を捨てます。ばらつきの小さい向きは、捨てても点どうしの区別がほとんど失われません。データが最も広く散らばっている向きこそ、1つ1つのデータの個性を一番よく保存している軸なのです。ばらつきが最大の軸に点を写せば、情報の要点を保ったまま次元を減らせます。
この主成分分析の計算の土台になるのが、特異値分解(SVD)です。特異値分解は、データを表の形にまとめた大きな行列を3つの単純な部品の掛け算に分解する数学の手法です。この分解を通すと、ばらつきの大きい向きと、その向きがどれだけ大事かの度合いをまとめて取り出せます。特異値分解は次元削減だけでなく、買い物の記録から好みの近さを取り出す推薦のしくみなど、さまざまな場面で使われる基礎的な道具です。
7. 点どうしの近さを保って地図に描くt-SNEと多次元尺度構成法
次元削減には、もう1つの大きな目的があります。高い次元のデータを2つか3つの次元まで落とし、人の目で見える地図にすることです。この目的では、ばらつきよりも、点どうしの近さの関係を保つことが重んじられます。
多次元尺度構成法(MDS)は、もとの高い次元での点どうしの距離をなるべく保ったまま、低い次元に配置し直す手法です。もとで遠かった点は低い次元でも遠く、近かった点は近くに置かれます。距離の関係を崩さずに地図を描く、という考え方です。
t-SNE(ティーエスネイ)は、とくに近いものどうしの近さを保つことを重んじた手法です。近い点をはっきりと近くに集めて描くため、クラスタのかたまりが目で見て分かりやすくなります。高い次元のデータの様子を平面の図でつかむ用途でよく使われます。同じ目的の新しい手法としてUMAP(ユーマップ)という名前も知られています。
理解の確認
主成分分析がばらつきの大きい向きを軸に選ぶ理由と、t-SNEや多次元尺度構成法が何を保って地図を描くのか。この2つを自分の言葉で言い直せるか、確かめてみてください。
理解度の確認
説明できる項目にチェックを入れましょう。すべて確認できたら、完了ボタンで記録します。
分からなかった点・気になった点
読み込み中です。