知能システム論
ー クラスタリング -
クラスタリングとは、データ間に距離を定義し、
距離が近いデータ同士をグループ(クラスター)にまとめる作業
例
• 顧客のクラスタリング
• 化学物質のクラスタリング
• 遺伝子のクラスタリング
階層的クラスタリング
ボトムアップ型
近いクラスター同士を融合するプロセスを繰り返す
クラスターCi , Cj 間の距離に結果が依存
距離の例:
Dmin (Ci , C j ) min{d ( x , y ) | x Ci , y C j }
Dmax (Ci , C j ) max{d ( x , y) | x Ci , y C j }
7
5
9
8
6
3
1
2
4
1
2
3
4
5
6
Dendrogram
7
8
9
階層的クラスタリング: トップダウン分割型
与えられた集合を分割することを繰り返す
確率的モデル型クラスタリング
複数の(正規)分布が重なり全データが分布していると
仮定し、各分布を予測
k - クラスタリング (本講義で紹介)
k - クラスタリング
d 次元ユークリッド空間
R d 内の点集合 S を、 S を覆い
S S1 S 2 S k かつ
(クラスターと呼ぶ)
、互いに交わらない
S1 , S 2 , , S k に分解すること。
クラスター
S i の評価 : 直径
diam eter( S i ) = max x1 x 2 | x1 , x 2 S i
x1 ,, x d
x
i 1,, d
2
i
1
2
S i の評価:重心からの距 離の分散
c( S i )
1
Si
var(S i )
x
xSi
1
Si
xSi
x c( S i )
2
k 個の部分集合
S1
S2
diameter(S1) = diameter(S2)
var(S1) >> var(S2)
誤差二乗平均によるクラスターの評価
S の k クラスタリングを
{S1 , , S k }
各クラスターの重心は
1
c( S i )
Si
y
yS i
Sの各点 x と、 x が属するクラスターの
1
S
i {1,, k } xS i
x c( S i )
重心間の距離の分散
2
を m eansquared error (誤差二乗平均) と呼ぶ
誤差二乗平均を最小化する k-クラスタリングを計算する
問題はNP困難
できるだけ小さくすると言われているアルゴリズムとして
k-means 法がある
k-means 法の様々な変形が広く使われている
k m eans法
クラスターの代表点の 集合を T、
T の点 y を代表点とするクラス ターを S y と表現 .
1. (初期化) S から k 個の点を選択し、 Tの初期集合とする .
2. (再クラスタリング)
各代表点 y T について S y を空集合にリセット .
S の各点 x に最も近い T の点 y x y min
x z を計算し、 x を S y に 追加.
z T
3. (代表点を再計算) S y に登録された点全体の 重心は代表点 y から
1
ずれている可能性が ある . 各代表点 y T を重心 cS y
S y
4. 誤差二乗平均が改善しなくなるまで、ステッ
u
に更新.
uS y
プ2と3を繰返す
.
k-means 法による
2-クラスタリング
初期の選択
次ページ
重心を再計算
再クラスタリング
重心を再計算
再クラスタリング
誤差二乗平均は収束
クラスターの評価に直径を使う場合
S の k クラスタリング
C {S1 , S 2 , , S k } に対して
q (C ) max{diam eter( Si ) | i 1, , k } と定義
q(C ) を最小化する k クラスタリング
Cを
効率的に計算できるか ?
与えられた B に対して q (C ) B となる k クラスタリングが
存在するか否かを決定 する問題はNP完全
近似的解法
opt minq (C ) | C は S の k クラスタリング
q (C ) 2 opt となる k クラスタリング
アルゴリズムが存在す る
とおく
C を生成する
Gonzalez’s farthestpoint heuristics
T を S のクラスターの代表元 の集合とし、空集合で 初期化
S から1点 c1 を選択し T に追加
各 j 2, , k について以下のステッ プを実行
1. x S T に最も近い T の点を neighbor( x )と記述
x は neighbor( x ) を代表元とするクラス ターに属すると定義
2. 属するクラスターの代 表元との距離が最大の 点 c j S T
(farthestpoint)を T に追加
c j neighbor(c j ) max x neighbor( x ) | x S T
c1
c3
c2
代表点
代表点以外の点
補題 T c1 , c2 , , c j 1 のとき、
1 h i j について
neighbor(c j ) c j ch ci
つまり、 T {c j } の任意の2点は
neighbor(c j ) c j 以上離れている
neighbor(c3 ) c2 の場合
c1
c3
c2
neighbor(c3 ) c2なので c2 c3
c2 が c3 より先に選択されたの で
c1 c3
c1 c3 c1 c2
neighbor(c3 ) c1 の場合
c1
c3
c2
neighbor(c3 ) c1 なので
c1 c3 c2 c3
c2 が c3 より先に選択されたの で
c1 c3 c1 c2
補題
T c , c , , c のとき、
1
2
j 1
1 h i j について
neighbor(c j ) c j ch ci
つまり、 T {c j } の任意の2点間距離は neighbor(c j ) c j 以上
j に関する帰納法. 一 般の場合を証明
i j のとき、 Tの中で最も c j に近いのは neighbor(c j ) なので
neighbor(c j ) c j ch c j
neighbor(c j )
cj
ch
代表点
代表点以外の点
i j のとき:
j 2個の代表元を選択した 一つ前のステップでの 状態、
つまり T c1 , c2 , , c j 2 を考える。
この時点での c j 1の属するクラスターの
とすれば、帰納法の仮 定より
a
代表元 neighbor(c j 1 ) を a
a c j 1 ch ci
b
この時点で c j の属する
クラスターの代表元を
c j 1
cj
b
T
c
,
c
,
,
c
j 1個代表点を選択後に
1 2
j 1 のとき、つまり
neighbor(c j ) c j a c j 1 となることを示せ
ば十分
neighbor(c j ) c j 1のとき
a
b
a
b
c j 1
cj
c j 1
cj
c j 1が代表元として選択さ れたので
c j がより近い代表元 c j 1 の
b c j a c j 1
クラスターに移動した
ので
neighbor(c j ) c j b c j
neighbor(c j ) b のとき、つまりクラス
ターを移動しないとき
a
b
a
b
c j 1
cj
c j 1
cj
c j 1が代表元として選択さ
れたので
neighbor (c j ) c j a c j 1
定理 Gonzalez’s farthestpoint heuristicsが生成する k クラスタリングを
q(C )が最小のk クラスタリングを
Copt とすれば
CG
q(CG ) 2 q(Copt )
Gonzalez’s farthestpoint heuristicsから k 個の代表元を選び
T c1 , , ck とする
もう一回ステップ2を 実行して得られる ck 1 に対して
D ck 1 neighbor(ck 1 ) とおく
各クラスターの直径は 2 D 以下に注意すると
ci
直径
q(CG ) 2 D
D ck 1 neighbor(ck 1 ) なので
任意のクラスターの直 径は 2D 以下
補題より T ck 1 の任意の2点間の距離 は D 以上である
すると Coptのどれかのクラスター
その2点間の距離を D'とすれば
は T ck 1の2点を含む.
D D' q(Copt )
q(CG ) 2 D より、 q(CG ) 2 q(Copt )
© Copyright 2026 ExpyDoc