画像処理工学
画像の分類(2) -クラスタリング-
教師なし分類
0 255
255
•
クラスタリング–
特徴空間上でクラスタ(特徴の類似した集団)を自動 的に抽出する処理–
通常は,教師データを見つけ出すための処理として 用いられる特徴空間
画像からいくつかの サンプルを取り出し 特徴空間にプロット
0 255
特徴空間
255
サンプル間の 類似度を基に クラスタを 見つけだす
教師なし分類
•
階層的クラスタリング– N
個のサンプルからC
個のクラスタを抽出する処理–
すべてのサンプルを要素数が1個のクラスタと考え,最短距離にある2つのクラスタを融合していく処理を
C
個のクラスタになるまで繰り返す255
要素数が 2つ以上の クラスタとの 距離は?
255
2つのクラスタ間の距離が 最短となるものどうしを 1つのクラスタに
教師なし分類
•
階層的クラスタリングの処理手順–
ある2つの特徴で表される7つのサンプルデータを クラスタリングする–
最短距離法(後に説明)を採用する0 5
5
① ②
③
④ ⑤
⑥
⑦
x 1 x 2
x 1 x 2
①
1 2
②
3 1
③
2 3
④
3 6
⑤
4 6
⑥
7 2
⑦
7 4
7つのサンプルデータ
特徴空間
教師なし分類
•
階層的クラスタリングの処理手順(続き)–
2つのサンプル間の距離をすべて算出–
最も距離が短いサンプルを1つのクラスタにする0 5
① ②
③
④ ⑤
⑥
⑦
x x 2
5 2 20 5 6 40
5 5 26 17 5
10 13 26 26
1 32 20
5 13 2
① ② ③ ④ ⑤ ⑥ ⑦
①
②
③
④
⑤
⑥
サンプル間の距離
最短距離
教師なし分類
•
階層的クラスタリングの処理手順(続き)–
クラスタ(④,⑤)と他のサンプルとの距離は,④との 距離,⑤との距離のうち短い方をとる0 5
5
① ②
③
④ ⑤
⑥
⑦
x 1 x 2
特徴空間
5 2 20 5 6 40
5 5 26 17 5
10 13 26 26
1 32 20
5 13 2
① ② ③ ④ ⑤ ⑥ ⑦
①
②
③
④
⑤
⑥
⑦
サンプル間の距離
短い方を③と(④,⑤)
との距離とする
こちらを③と(④,⑤)との 距離として採用する
教師なし分類
•
階層的クラスタリングの処理手順(続き)–
新しいクラスタとサンプルとの距離を求めておいて,その中で最短距離をとる2つのクラスタを融合する
0 5
① ②
③
④ ⑤
⑥
⑦
x x 2
5 2 20 6 40
5 5 17 5
10 26 26
13 2
① ② ③ ④ ⑤ ⑥ ⑦
①
②
③
④
⑤
⑥
サンプル間の距離
最短距離
教師なし分類
•
階層的クラスタリングの処理手順(続き)–
クラスタ間の距離は,クラスタを構成するサンプルの うち,最短距離をとる2つのサンプル間の距離とする0 5
5
① ②
③
④ ⑤
⑥
⑦
x 1 x 2
特徴空間
5 20
5 5 17 5
10 26 26
13 2
① ② ③ ④ ⑤ ⑥ ⑦
①
②
③
④
⑤
⑥
⑦
サンプル間の距離
(①,③)と(④,⑤)の 距離とする
教師なし分類
•
階層的クラスタリングの処理手順(続き)–
新しいクラスタとの距離を求めて,さらに処理を繰り 返していく0 5
① ②
③
④ ⑤
⑥
⑦
x x 2
5
5 5 17 5
10 26 26
13 2
① ② ③ ④ ⑤ ⑥ ⑦
①
②
③
④
⑤
⑥
サンプル間の距離
階層的クラスタリングにおける距離の定義
•
最短距離法–
クラスタc
はクラスタa
とb
が融合したものとする–
クラスタc
とh
をそれぞれ構成する要素の中で,互いに最短距離にある要素間の距離を
c
-h
間 の距離とする[ ]
min ,
ch ah bh
d = d d
クラスタ
c
クラスタ
a
クラスタ
b
クラスタ
h d bh
d ah d ch
=
階層的クラスタリングにおける距離の定義
•
最短距離法(続き)–
1つでも近い要素が含むクラスタは次々と融合されて いく傾向にある–
そのため,連鎖状のクラスタが生成されやすい階層的クラスタリングにおける距離の定義
•
最長距離法–
クラスタc
とh
をそれぞれ構成する要素の中で,互いに最長距離にある要素間の距離を
c
-h
間 の距離とする–
特徴空間内でできるだけ散在するようなクラスタ を作りたいときに有効[ ]
max ,
ch ah bh
d = d d
クラスタ
c
クラスタ
a
クラスタ
b
クラスタ
h d bh
d ah
d ch
=
階層的クラスタリングにおける距離の定義
•
メディアン法–
最短距離法と最短距離法ではクラスタd ch
としてd ah
かd bh
のどちらかが使用される–
メディアン法ではd ah
とd bh
の中間の値に設定する–
クラスタa
とb
の各代表点間の中点を新たな代表点とすることに相当する
2 4
ah bh ab
ch
d d d
d +
= −
新たなクラスタ
c
の代表点(中点)クラスタ
a
の代表点クラスタ
クラスタ
h
の代表点d ah
x
x
x x
• k
-means
法–
最初に適当なC
個のクラスタにサンプルデータを 分割–
その後,より適当と思われる分割に徐々に分割の 仕方を修正していく– C
個のクラスタの平均ベクトルのみが最小限保存 されていればよい–
階層的クラスタリングの場合は,サンプルN
個が ある場合N
(N
-1)/2 組の距離を保存しておく 必要がある教師なし分類
• k
-means
法の処理手順① 適当に種子点を
C
個与え,仮のクラスタ重心とする② 各サンプルデータを最短距離にあるクラスタに振り分ける
(距離はユークリッド距離を用いる)
教師なし分類
( ) 0 ( ) 0 ( ) 0 ( ) 0
1 2
c M = c M c M c M K
ある種子点
c
の位置をc M (0)
とするK
: 特徴空間の次元数• k
-means
法の処理手順(続き)③ 得られた各クラスタの平均ベクトルをそれぞれ求め,それら を新たなクラスタ重心とする
④ 処理の
i
回目とi + 1
回目の間で,すべてのクラスタ重心が 変わらないとみなせるとき処理を終了するそうでない場合は②,③を繰り返す
教師なし分類
( ) 1
1
1
cN
i n
c k c k
c n
M X
N
+
=
= ∑ c n X k
i + 1
回目におけるクラスタc
の次元k
の平均c M k (i+1)
はクラスタ
c
に振り分けられた サンプルn
の次元k
の特徴量:
( ) ( )
( 1 ) 2
2
1 K
i i
c c k c k
k
D M M +
=
= ∑ −
がすべてのc
で小さい値であれば処理を終了
• k
-means
法の処理進行の様子教師なし分類
① 種子点を2個設定し,それらに最短距離にあるサンプルを振り分ける(左)
その後,振り分けたクラスタの平均ベクトルをそれぞれ求める(右)
② 平均ベクトルを新たな重心としてサンプルを振り分けなおす
• k
-means
法の処理進行の様子(続き)教師なし分類
③ 処理を繰り返し,新たな重心位置と前の重心位置とがほぼ一致 していると見なせるならば処理を終了する
• k
-means
法の問題点–
クラスタ数があらかじめわかっている必要がある•
わからない場合,多めのクラスタ数を設定して処理を行い,その結果 に対して距離の近いクラスタを併合すればよい–
最初の種子点の与え方によって分類結果が異なる•
種子点によっては分類結果が最適でない場合がある•
種子点の与え方として① 与えられた
N
個のサンプルデータからランダムにC
個を選び 出して種子点とする② 最終的に得たいクラスタを代表する平均ベクトルを分類対象画像 から抽出するなど,ユーザの主観に基づいて種子点を与える
教師なし分類