入門機械学習読書会9章
DESCRIPTION
入門機械学習読書会9章TRANSCRIPT
第5回入門機械学習 読書会 2013.08.24 @kzfm
9章 MDS
サンプルコード ! https://gist.github.com/kzfm/6325547
!
距離とは? ! 2つのデータが似ている度合い(非類似度、距離) ! ユークリッド距離 ! マンハッタン距離 ! tanimoto(A&B/(A|B-(A&B))) ! コサイン類似度
とりあえず相関
! これだとあまり有益な情報が出てこない
sseett..sseeeedd((885511998822)) eexx..mmaattrriixx <<-- mmaattrriixx((ssaammppllee((cc((--11,, 00,, 11)),, 2244,, rreeppllaaccee == TTRRUUEE)),, nnrrooww == 44,, nnccooll == 66)) rrooww..nnaammeess((eexx..mmaattrriixx)) <<-- cc((''AA'',, ''BB'',, ''CC'',, ''DD'')) ccoollnnaammeess((eexx..mmaattrriixx)) <<-- cc((''PP11'',, ''PP22'',, ''PP33'',, ''PP44'',, ''PP55'',, ''PP66''))
eexx..mmaattrriixx eexx..mmuulltt <<-- eexx..mmaattrriixx %%**%% tt((eexx..mmaattrriixx)) eexx..mmuulltt
距離行列を作る ! 下三角
>> eexx..ddiisstt <<-- ddiisstt((eexx..mmuulltt)) >> eexx..ddiisstt AA BB CC BB 66..224444999988 CC 55..447777222266 55..000000000000 DD 22..223366006688 66..778822333300 66..008822776633
MDS(Multi Dimensional Scaling)とは
! 距離の類似度を可視化して表現するための手法
! 主成分分析の様に分類対象物の関係を低次元空間における点の布置で表現する手法である(似たものは近くに、異なったものは遠くに配置する)
! 距離行列を用い、二点の距離を近似する座標を返す ! 二次元に潰すので近似になる
! 三角錐を二次元に射影することを考えれば
MDSを使う ! cmdscale関数が用意されている
eexx..mmddss <<-- ccmmddssccaallee((eexx..ddiisstt)) pplloott((eexx..mmddss,, ttyyppee == ''nn'')) tteexxtt((eexx..mmddss,, cc((''AA'',, ''BB'',, ''CC'',, ''DD''))))
事例 ! 米国の議会は分極しているのか?
! 共和党と民主党は重ならないのか?
! 点呼投票データ ! 法案に賛成したか反対したかのデータを用いて政治的な距離を測る
! 点呼投票データでクラスタリングしたとき、異なる政党の上院議員は交わるか?
result
result 2
おまけ ! 距離を使うやり方には他にはstochastic proximity embedding(SPE)という方法もあります。 ! 利点は計算時間がはやい
! http://blog.kzfmix.com/entry/1273835887
! 右の本もクラスタリング手法の情報が多い