狠狠撸

狠狠撸Share a Scribd company logo
+

はじパタ
10章	
 クラスタリング	
 前半
(10.1 ~ 10.3)	
 

2014/3/4 yamakatu
+

omae dare yo	
 
n??

やまかつ(@yamakatu)

n??

フルスタックイクメンエンジニア

n??

主に検索方面

n??

gihyo.jp Mahoutで体感する機械学習の実践
n??

n??

合い言葉は「読まずにはてブだけ」

一部の心ない人たちからソーシャルチンピラって呼ばれてる
n??

インターネット怖い
+

最初に知っておくべきこと 1/2
+

最初に知っておくべきこと	
 2/2
+

10章	
 クラスタリング	
 
n??

教師なし学習の一つ

n??

入力データ間の類似度や非類似度から、データをグループ分け

n??

手法(やまかつ、ポッター小野氏)
n??

n??

n??

非階層的クラスタリング
n?? K-means法
階層的クラスタリング(融合法)
n?? 単連結法
n?? 完全連結法
n?? 群平均法
n?? ウォード法
n?? 重心法
n?? メディアン法
混合分布(混合分布モデル
n?? EMアルゴリズム
+

10.1 類似度と非類似度
+

10.1.1 距離の公理	
 
n??

データをグループ分け
n??
n??

n??

指標:類似度や非類似度
尺度:距離

距離の公理
n??

非負性:d(x,y) >= 0
反射律:d(x,y) = 0 の時、x = yが成り立つ

n??

対称性:d(x,y) = d(y,x)

n??

三角不等式:d(x,z) <= d(x,y) + d(y,z)

n??
+

10.1.2 ミンコフスキー距離	
 
n??

で、実際の距離の計算方法は?
n??

n??

パラメータa,bの値次第で以下の距離に派生する
n??
n??
n??
n??

n??

ミンコフスキー距離

a=1, b=1 :	
 市街地距離(マンハッタン距離)
a=2, b=2 :	
 ユークリッド距離
a=2, b=1 :ユークリッド距離の2乗(ユークリッド平方距離)
a=b=∞ :	
 チェビシェフ距離(各次元の差の内、最大の差が距離となる)

一言で言うと
n??
n??

aの増加:個々の特徴間の差の重みが大きくなる
bの増加:差分累乗和に対する重みが小さくなる
+

その他の距離	
 
n??

キャンベラ尺度(キャンベラ距離)

n??
n??

n??

方向余弦(方向余弦距離、コサイン類似度)

n??

n??

マンハッタン距離の亜種っぽい感じ
各次元を正規化できる

ベクトル間の角度を利用

LTの資料がまとまってるぽい
+

新鋭	
 
n??

アルベルト距離
n??
n??

??????????
いつかきっとアルベルトな方が説明してくれる、、、?
+

10.2 非階層型クラスタリ
ング(K-平均法)
+

10.2 非階層型クラスタリング
(K-平均法) 1/2	
 
n??

非階層型クラスタリング、と言うよりK-Meansの話

n??

目的
n??
n??

n??

d次元のN個のデータ
これをあらかじめ定めたK個のクラスタに分類する

定義

n??

各クラスタの代表ベクトルの集合
k番目の代表ベクトルが支配するクラスタ
帰属変数

n??

K-Meansの評価関数

n??

最適化

n??
n??
+

10.2 非階層型クラスタリング
(K-平均法)	
 2/2	
 
n??

アルゴリズム(逐次最適化)
n??

以下、TJO氏のサイト wikipedia(
http://en.wikipedia.org/wiki/K-means_clustering )から

1.	
 

n??

3.	
 

4.	
 

収束するまで3?4を繰り返す
ちなみにKmeansの初期化ってやりかた2つあるよね
n?? 本:データをクラスタにランダムに割り当てる
n?? wikipedia:ランダムに重心を決める
ちなみにK個のKはCanopyクラスタリングで求める方法があるぜよ
n??

n??

2.
+

10.3 階層型クラスタリン
グ(融合法)
+

10.3 階層型クラスタリング(融合法)	
 
n??

類似度の高い順に融合していって、最終的にN個のデータを一
つのクラスタに統合

n??

デンドログラムで表現できる
+

クラスタ間の類似度の定義	
 
n??

単連結法

n??

完全連結法

n??

群平均法

n??

ウォード法

n??

重心法

n??

メディアン法
+

10.3.1 単連結法	
 
n??

二つのクラスタA,B間でもっとも類似度の高いデータ間の距離
を、クラスタ間の距離にする
+

単連結法の性質	
 
n??

クラスタに一つデータが追加されると、他のクラスタとの距離は
小さくなるか、または変化しない
n??

最も距離が近いデータを採用してるから、遠くなることはない

n??

クラスタAとBが融合してクラスタCができた場合、他のクラスタ
Xとの距離

n??

大きなクラスタができる傾向がある
n??

n??

???

あるクラスタから同じ距離に二つのクラスタがある場合、どちら
を選んでも結果は同じ
n??

???
+

10.3.2 超距離	
 
n??

単連結法と完全連結法との間にいきなり出てきた、、、だと!?

n??

「二つのデータxiとxjが融合する直前のクラスタ間の距離」

n??

例題10.1にもどる
n??
n??
n??

n??

BとEの超距離を考える
クラスタBCとDEがあるとする
このクラスタ間の距離は、ユークリッド距離で単連結法だとd(C, E)で2√2になる

そういう訳で
n??
n??

「融合する直前」というより単に「融合前」
     でxiとxjが属するクラスタが融合する前のクラスタ間の距離を表現する
+

10.3.3 完全連結法	
 
n??

単連結法の逆

n??

クラスタ間でもっとも類似度の低いデータ間の距離をクラスタ間
の距離に

n??

性質も逆
n??

略
+

10.3.4 群平均法	
 
n??

二つのクラスタ間のすべてのデータ間の距離の平均

n??

式
n??

NA, NB:クラスタA, Bのデータ件数
+

10.3.5 ウォード法	
 
n??

クラスタを融合したときのクラスタ内変動の増加分で距離を定義

n??

この距離が小さなクラスタから融合する
n??

データ間の距離計算にはユークリッド距離(って書いてあるけど、他
じゃ駄目なの?)

n??

式

n??

階層法の中で最も精度が高い
Have a nice
clustering!!

More Related Content

はじパタ 10章 クラスタリング 前半