自己組織化マップ - Keio University

Download Report

Transcript 自己組織化マップ - Keio University

「Self-Organizing Map
自己組織化マップ」
を説明するスライド
Special thanks to H.Kusumoto
Keio University
Graduate School of Media and Governance
Kensuke Naoe
Self-Organizing Map (1)




自己組織化マップ
T. Kohonen 1982年
教師なし学習
応用




遺伝子解析
音声認識
画像解析
ロボット制御
SOM(2) 入力データ(多次元)
『自己組織化マップ』T.Kohonen
SOM(3) SOMによる結果
『自己組織化マップ』T.Kohonen
Self-Organizing Map (4)

入力データ



多次元データ
表だけを見ていてもデータの特性を理解しづらい
SOMによる結果




2次元空間上にマッピングする
似た特徴のデータは近い場所にマッピング
異なる特徴のデータは遠い場所にマッピング
視覚的に理解しやすい
SOM(5) アルゴリズム(1)

入力データ



X1, X2, X3, … , Xi, … , Xn
:動物
Xi=(xi1, xi2, … , xik, … , xid) :属性
マップ



格子状の2次元の空間を用意する
データは格子点にマッピングされることになる
マップの大きさはデータ量などから決める
(m×m)
SOM(6) アルゴリズム(2)


マップの格子点に重みベクトルWを置く
各Wに入力データと同じ次元数の要素を与
える
W(m,m)
W(1,2)
W(1,1)
SOM(7) アルゴリズム(3) 初期化



入力データ:4個 X1, X2, X3, X4
データの属性:3次元 X1=(x11, x12, x13)
マップ:5×5
W(5,5)=(w(5,5)1,w(5,5)2, w(5,5)3)
Wの初期値は任意
SOM(8) アルゴリズム(4) 探索

入力データを1つ持ってくる
X1=(x11, x12, x13)
Wの中からX1に値が最
も近いものを探す
Wwin 勝者ベクトルと呼ぶ
SOM(9) アルゴリズム(5) 学習
X1=(x11, x12, x13)
Wwinの値をX1に近づける
Wnew=Wold+α(X1-Wold)
α:学習率係数
SOM(10) アルゴリズム(6) 学習
X1=(x11, x12, x13)
WwinのそばにあるWの値もX1
に少し近づける
Wwinから離れるに従って
X1に近づける割合を減らす
SOM(10) アルゴリズム(6) 学習



このように「Wの値を
変えること」を「学習」
と呼ぶ
X2,3,4に関しても同様
に学習する
この学習を繰りかえ
し行う
SOM(11) アルゴリズム(7)
マッピング

X1, X2, X3, X4に対して,それぞれ最も近いWを
探し,そこにマッピングする
X3 X4
X1
X2
X3
X4
似た特徴のデータは近くに
異なる特徴のデータ遠くに
X1
X2
マッピングされる
実問題への適用

SOMの利点




ほとんどの多次元データを扱える
シンプル(複雑な計算式がない)
結果が視覚的にわかりやすい
問題点もある

実問題ではデータ数が多い場合がある
 マップ上での表現
 計算時間
↓

実問題への適用には様々な工夫が必要
SOMの問題点(1)
結果の表現方法

入力データ数が多い場合(数百~数万)
マップ上に全てを表記するのは不可能
動物の例題では
16データしかない
『自己組織化マップ』T.Kohonen
SOMの問題点(2) 計算コスト


SOMでは繰り返し学習(データ数×数回)が
必要
データ数が多い場合(数百~数万)なるべく
大きなマップを使いたい

入力ベクトルXに最も近い重みベクトルWを探す
時に,Wの個数分の計算が必要になる
↓

繰り返し学習の回数と,マップの大きさ
(M×M)に比例して計算量が増える