Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

クラシックな機械学習の入門  8. クラスタリング

10,071 views

Published on

代表的な教師なし学習アルゴリズムであるクラスタリングについて説明する。これは、データの持つ性質の近いもの同士をまとめ上げるアルゴリズムである。また、そのために必要な距離と類似度についても説明する。

Published in: Technology
  • Be the first to comment

クラシックな機械学習の入門  8. クラスタリング

  1. 1. 8. クラスタリング 距離と類似度 階層型クラスタリング K-means クラシックな機械学習の入門 by 中川裕志(東京大学)
  2. 2. クラスタリング(Clustering)とは? 教師データはない 性質が近い観測データ点をひとまとまり(これを 「クラスタ」と呼ぶ)にまとめる 3つのキーポイント 「性質が近い」ということを定量的に表すために観測 データ点間の距離を定義する 距離の近いものをどのようにまとめるかというアルゴ リズム いくつのまとまり(=クラスタ)があるのか ただし、クラスタ数はまとめるアルゴリズムと密接に関連 すると距離ないし類似度が大切なので、まずはそれから。
  3. 3. 観測データ点を多次元空間中の点と定義 そこで2つの問題 各次元は観測データ点からどのように定義するか 次元のことをfeatureあるいは素性(そせい)と呼ぶ この問題をfeature design :素性設計と呼ぶ。例えば、  2つの素性の比を新たな素性とする ex 身長/体重  2つの素性の連続したもの ex 日本・銀行、 日本・沈没、 しかし、これは個別適用分野に応じて工夫すべし。 多次元空間における2点間の距離の定義 ユークリッド距離ばかりではないのだ! 距離の定義
  4. 4. 距離あるいは類似度の定義 wiをデータ点を表す素性のベクトルとする。 ex. あるテキストwにおいて語彙番号1の「日本」が3回、 語彙番号2の「米国」が2回、語彙番号3の「中国」が1 回,… 出現したとき、wの素性ベクトル: wi=(3,2,1,….)T wiの第j成分wijとしてTF*IDF(i,j)を使うこと有 距離で定義する場合と、その逆の類似度で 定義する場合がある。類似度の場合は、最 大値=1、最小値=0とすることが多い。 いくつかの定義を次のページ以降に記す。
  5. 5. 距離あるいは類似度の定義 1     が定義できる。えば、成分の生起確率だと思番目のが 擬距離) ユークリッド距離 係数(類似度) 係数(類似度) 内積と書くと  類似度   KLkw wwKLdivergenceKL wwwwwwDist ww ww wwDiceDice ww ww wwJaccard wwwwwwwwww ww ww wwcosine ik ji N k jkikjiji ji ji ji ji ji ji N k iki N k jkikjiiNiii ji ji ji ||( ),( 2 ),( || || ),(Jaccard ),(),...,,( ),()(cosine 2/1 1 2 2/1 1 2 1 21                             i.e.TF*IDF(i,N)
  6. 6. いよいよ距離の話に進むのだが、 その前に情報理論の基礎概念を復習  エントロピー:  結合エントロピー:  条件付エントロピー:    )(log)( xPxPxH x  )|(log),()|( xyPyxPxyH x y     yHyxH yPyxPyxPyxP yPyxPyxPyxPyxPyxH x yx y x yx y      | )(log),()|(log),( )()|(log),(),(log),(),( ),(log),(),( yxPyxPyxH x y 
  7. 7. KL divergence: 情報理論による擬距離  相対エントロピー or Kullback-Leibler divergence or KL divergence: KL(P||Q):分布PとQの類似性を測る尺度 KL(P||P)=0 KL(P||Q)≠KL(Q||P) 非対称なので擬距離 対称性を持たせるために SymmetricKL(P||Q)=(KL(P||Q)+KL(Q||P))/2 という尺度もある  相互情報量: )( )( log)()||( i i i i xQ xP xPQPKL                   yx yPxP yxP yxPyPxPyxPKLyxI , , log,||,, この部分をpointwise mutual informationとして使うこと もある
  8. 8. 距離の計算例 x=(1,0), y=(0,1)の場合                                    1 0 log0 0 1 log1)||( 21001, 0 1001 10012 , 0 2 0 |1,00,1| |1,00,1| , 0 1001 1001 ),cos( 2/122 22 22 yxKL yxDist yxDice yxJaccard yx (擬)距離  距離   類似度  類似度  類似度  
  9. 9. 距離の計算例 x=(1,1), y=(2,2)の場合                      化すれば同一分布は確率分布として正規yxyxKL yxDist yxDice yxJaccard yx ,0)||( 21212, 88.1 23 8 2211 21212 , 1 2 2 |2,21,1| |2,21,1| , 1 82 4 2211 2121 ),cos( 2/122 2222 2222              
  10. 10. 距離の計算例 x=(1,2), y=(2,1)の場合                      82.22log 3 1 1 2 log 3 2 2 1 log 3 1 3 1 3 2 log 3 2 3 2 3 1 log 3 1 )||( 21212, 35.0 52 8 1221 21212 , 1 2 2 |1,22,1| |1,22,1| , 5 4 1221 2121 ),cos( 2/122 2222 2222               yxKL yxDist yxDice yxJaccard yx
  11. 11.  距離の定義1のスライドで示した距離、類似度はすべ ての次元の数値を平等に扱っていた。  ただし、次元の間に相関がある場合はよい距離では ない。  この場合に対応するのがマハラノビス距離  図に示すように各次元の方向毎に異なるスケーリング+回転 距離の定義 2-1 原点から等距離線 ユークリッド距離 マハラノビス距離
  12. 12. マハラノビス距離dAの楕円の等距離線を実現す るには次式の正定値行列Aを用いる Aが単位行列ならユークリッド距離の2乗 Aが対角行列なら、次元毎のスケールが異なる Aが非対角行列なら回転も加わる 距離の定義 2-2                      iNiN ji iNiNjiji T jijiA ww ww AwwwwwwAwwwwd  11 11 ,...,,                          2 1 2 1 2 2 2 2 10 02 10 01
  13. 13. Aは各次元のデータの分散行列:covの逆行列 距離の定義 2-3                                                   NN NN wwN iNiN jiiNiNji ji T jijiA xxxx xx xx ExxA K ww wwAwwww wwAwwwwd K ,..., cov ,..., , 1111 ..1 1 1111 1   するとを観測データ点の数と
  14. 14. マラハノビス距離の直観的説明 下図で横軸方向の分散=100A11=0.01 マハラノビス距離の成分=0.01x 縦軸方向の分散=0.01  A22=100 マハラノビス距離の成分=100x 横軸方向の分散が大きい ので、意味的には原点から あまり離れていない 縦軸方向の分散が小さい ので、意味的には原点から 大きく離れている x x 原点からの等距離線
  15. 15. データ点間の距離を利用してまとめあげるア ルゴリズムをクラスタリングアルゴリズムと呼 ぶことが多い。ここでは以下に2種について説 明する。 階層型 K-means まとめるアルゴリズム
  16. 16. 階層型クラスタリングアルゴリズムの概念:Dendrogram (Hierarchical Agglomerative Clustering Algorithm: HAC)
  17. 17. 階層型クラスタリングアルゴリズム:閾値で切るという直感的意味 (Hierarchical Agglomerative Clustering Algorithm: HAC)
  18. 18. Dendrogram形成方法が鍵  一番下のデータ点CiとCjをつなぐときは、距離d(Ci,Cj) が一番小さいものをつなぐ  つながれたデータ点集合は新たなひとつの擬データ点 Ckとみなす。  (擬)データ点同士をつなぐときに閾値θにより次のよう に条件付ける if min d(Ci,Cj) < θ then new Ck= Ci∪Cj i,j otherwise Ci, Cj are result clusters 図では高さの閾値のように書いたが、実は上記のように d(Ci,Cj)の閾値。 θが大きいほど大きなクラスタが作られる。  距離d(Ci,Cj)の定義によっていくつかのvariationがある 。
  19. 19. 距離の定義                   l m ji ji ji jimlji jimlji ii mClCd CC CCd mClCdCCd mClCdCCd kkCC )(),( |||| 1 , methodlinkaverageGroup )(),(max, methodlinkComplete )(),(min),( methodlinkSingle ,..2,1),( , , Single linkはまばらな内容のクラスタ、とくに鎖状につながったクラスタを作りやすい Complete link は最初は凝縮したクラスタを作りがち。最後のころに離れ離れのクラ スタを無理やりつなぐ傾向あり Group average は、その中庸をとる。
  20. 20. K-means法 前述の階層型クラスタリングでは、閾値θで、 クラスタのまとまりの良さを決めていた。しか し、クラスタ数そのものを制御できない。 一般的には、もともといくつのクラスタがある か分からない。 もし、クラスタ数がK個だと分かっているとき使 えるのが、K-means法。 後に述べるEMアルゴリズムの原始的な形態。
  21. 21. K-means のアルゴリズム 1. データ:x[n]はN個 2. K個の点の初期値:m[k]を適当な値に決める 3. for (var n = 1; n <= N; n++) { x[n]の所属先を 距離(x[n] , m[k] )の一番小さい k とする} 4. m[k]を、kに所属するx[n]の平均値に更新 5. 収束のテスト 例えば、全てのkで更新前m[k]と更新後m[k]の距離が予め 決めた閾値εより小さい 6. 収束したら終了。収束しなかったら3.へ戻る
  22. 22. 初期化
  23. 23. 各データの所属を一番m[k]に近い決める
  24. 24. m[k]の更新
  25. 25. 各データ点の所属の更新 破線の境界から実線の境界へ
  26. 26. m[k]の更新
  27. 27. 所属の更新: m[k]の変化は小さくなってくる
  28. 28. 標準的評価法 • 精度:Precision= 𝑇𝑃 𝑇𝑃+𝐹𝑃 • 再現率:Recall= 𝑇𝑃 𝑇𝑃+𝐹𝑁 • F値= 2×𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛×𝑅𝑒𝑐𝑎𝑙𝑙 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛+𝑅𝑒𝑎𝑙𝑙 処理sで得ら れたデータ集 合 処理sで得られるべきデータ集合 FP TP FN TN
  29. 29. クラスタリングの評価:Purity 生成されたクラスタがどれだけ多数派で占めら れているかを表す尺度                   L i ji j L i ji j L i K j ji jiL j ji ji K n N n n purityglobal n n puritylocal j in L CCCN 1 , 1 , 1 1 , , 1 , , 1 max 1 max 1 max 1 : ,,...:,:     するデータ数番目の真のクラスに属 て番目のクラスタにおい生成された 生成されたクラスタ数 真のクラス集合データ数
  30. 30. local purity global purity 問題点 何もしない場合 全データが同一クラスタ 1クラスタが1データ 1 2 3 10 6 )1(, 8 4 )1(, 7 5 )1(  puritypuritypurity 6.0 25 15 1087 645    purity  ji ji n N purity , , max 1    11 1 max 1 11 ,    N N N n N purity L i L i ji j
  31. 31. Inverse Purity                     K i ji j K i ji L j ji n n n N ityInversePur 1 , 1 , 1 , max 1 真のクラスjのデータ総数 1クラスタに1個のデータしかない場合も Inverse Purityは1より小さい。 そこでPurityとの調和平均であるF値で評価 ityInversePurPurity F 11 2  値 クラスタiのデータ数
  32. 32.  8個、 7個、 10個   1 2 3 25 15 1087 645    Purity 599.0 598.0 1 6.0 1 2   値F 598.06 10 10 4 7 8 5 8 7 25 1       ityInversePur

×