Document

白井ゼミ
豊田秀樹(2008)『データマイニング入門』 (東京図
書)。4章
情報知能学科
白井 英俊
4章 自己組織化マップ
• コホーネンネット:複雑な多次元情報から、観
測対象の「ポジショニング」(位置決め)マップ
を描くためのツール
• 自己組織化マップ(SOM, Self-Organizing Map)
教師なし学習を用いるニューラルネットモデ
ル
コホーネンネット = SOM
• Kohonen, T. (1984)「自己組織化と連想記憶」
多次元データの可視化
• データが2次元なら、平面(XY座標)
• データが3次元なら、空間(XYZ座標)
• しかし、それ以上だと、可視化するのは困難
• そこで、多次元データの情報を圧縮して、低
次元(特に2次元)上に表示することが重要
⇒ SOMの出番(他にも主成分分析、因子分
析、多次元尺度法などの方法があるが….)
ニューラルネットとしてのSOM
• SOMは2層のニューラルネット
第1層は入力層
第2層は出力層(座標に対応)
隠れ層・隠れユニットはない
• 教師なしの学習ー競合学習
入力情報と接続重みがどれだけ似ているか
を第2層のユニット間で競争
例:動物地図
動物名
アヒル イヌ イノシシ
ウシ ウマ オオカミ
カナリヤ
ガチョウ
キツネ クマ サル シカ シマウマ
スズメ ゾウ タカ タヌキ ダチョウ
チーター
トラ ニワトリ
ネコ 小
中
1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
1
1
大
0
1
1
0
0
1
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
1
1
0
1
0
0
1
1
1
0
0
2本足 4本足 毛 蹄 たてがみ 羽
1
0
0
0
0
0
1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1
1
0
1
1
0
1
1
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
1
1
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
1
1
0
0
0
1
1
0
0
1
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
1
0
0
1
0
狩猟 走る 飛ぶ 泳ぐ
0
0
1
1
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
1
0
0
0
10
例:動物地図
タヌキ キツネ ワシ 8
ハイエナ
サル イヌ オオカミ
ペンギン
ブタ 6
ネコ タカ クマ イノシシ
y
フクロウ
ヒョウ チーター
トラ 4
ニワトリ
ライオン
アヒル ハト ガチョウスズメ カナリヤ
2
ウシ ゾウ ダチョウ
シカ 0
ウマ シマウマ
0
2
4
6
x
8
10
数理モデル
• 入力層---観測変数ベクトル(I次元、t:時間)
x(t) = (x1(t), x2(t), …, xi(t), …, xI(t))
• 出力層---J個のユニット(m1,…,mj,…,mJ)
mj(t) = (m1j(t), m2j(t), …, mij(t), …, mIj(t))
mij : 入力層i番目のユニットと出力層j番目のユニッ
トの重み
• x(t)とmj(t) の差: || x(t) - mj(t) ||
これが最小となるものがあるはず。それがmc(t)
数理モデル(続き)
• 学習(時刻tの状態から時刻t+1の状態へ)
mj(t+1) = mj(t) + α(t)*hcj(t)*(x(t) - mj(t))
α(t), hcj(t) : 0 以上 1以下の重み、 mj(t+1)に対する
x(t)の影響の強さを表す
α(t)=hcj(t)=1 なら mj(t+1) = x(t) になる⇒影響大
• hcj(t) : 出力層ユニットcと出力層ユニットjの近さを表
す関数
hcj(t) = exp( - ||rc – rj||2 / 2σ2(t) )
σ2(t) : 時間とともに減少する関数
(σ2(t) → ∞ならhcj(t) →1, σ2(t) → 0ならhcj(t) →0)
• α(t) の例(Tは変化持続時間) : Max((T-t)/T, 0)
次元圧縮のための他の方法との比較
• 主成分分析、因子分析、判別分析:多次元
データの情報の線形写像を行って、ユークリッド距
離空間を構成→距離が「類似度の程度」を表す
SOMはそうではない: 隣り合ったユニット同士
の類似性は高いが、距離が類似度を表すわけ
ではない、xy軸の解釈も不可能
• 主成分分析との比較
p.121-122 を参照
10
食料品
コンビニエンスストア
野菜果実
小売データ
食肉
8
鮮魚
ガソリンスタンド
スーパーマーケット
酒
米穀類
自転車
料理品
6
菓子・パン
履物 花・植木
y
自動車
飲食店
4
婦人・子供服
スポーツ用品
書籍
建築材料
化粧品 写真
文房具医薬品
肥料飼料
楽器
洋品雑貨 家電機器
織物・衣服
娯楽用品
金物
靴
茶
時計
寝具
2
農業機器
陶磁器
呉服・服地
家具
眼鏡
0
男子服
0
2
4
6
8
10
マップの解釈
• 生データだけを眺めていては見出し得ない特徴
が自己組織化マップを作ることで見えてくる
• 生データと見比べて解釈を進めると効果的
• 類似度の高いものが集まる
• ただし、「距離」が類似度の度合を表すわけでは
ない(尺度n個分離れたからといって類似度が
1/nになるわけではない)
• 方向(「軸」)も意味をもたない
決定木との連動
• 決定木と連動させると効果的
言葉で特徴づけたい
分類基準がない状態で、観測対象を明確に
分類したい
分析結果の不定性
• データマイニングの多くの手法(決定木、
ニューラルネットなど)では、同一のデータか
ら同一の分析結果・解釈が得られるとは限ら
ない=不定性
• SOMの場合:乱数の種(seed)が異なると、競
合学習される重みも異なる ⇒ 観測対象の
マップが変化する
• SOMは探索的に示唆を与えるツール
検証・確認させる手段としては問題がある
10
追加課題:5章の温泉データから
大釜温泉
稲住温泉
蟹場温泉
玉川温泉
湯ノ又温泉
湯ノ沢温泉2
4
y
6
8
新浪温泉
長者温泉
角間川温泉
雪沢温泉
三六温泉
滝温泉
なるせ温泉
湯ノ岱温泉1
横手温泉
木地山温泉
象潟温泉
平兵湯
大湯温泉1
蒸ノ湯温泉
岩倉温泉
大湯温泉2
湯ノ平温泉
かすみ温泉
孫六温泉
三又温泉
銭川温泉
湯ノ沢温泉3
大深温泉
澄川温泉
湯ノ沢温泉1
潮浜温泉
金浦温泉
下内沢温泉
小安峡温泉
切石温泉
男鹿温泉郷
打当温泉
金ヶ崎温泉
川原毛温泉
岩見温泉
小倉温泉
能代温泉
鷹の湯温泉
角館温泉
秋田温泉
親川ノ湯
矢立温泉
野宅温泉
猿倉温泉2
湯ノ神温泉
貝の沢温泉
強首温泉
長瀞温泉
滝ノ沢温泉
安楽温泉
戸波温泉
猿倉温泉1
金ヶ沢温泉 後生掛温泉
田沢湖高原温泉郷
妙の湯温泉
森岳温泉
船沢温泉
赤川温泉
仙北温泉
湯っこランド
湯瀬温泉
保呂瀬温泉
中里温泉
川口温泉
仁別温泉
2
夏瀬温泉
0
くつろぎ荘温泉
日景温泉
唐松温泉
姫神温泉
志張温泉
水沢温泉郷
ふるさわ温泉
湯ノ台温泉
新鳩ノ湯温泉
相野々温泉
鹿子温泉
湯ノ岱温泉2
泥湯温泉
協和温泉
乳頭温泉
鶴の湯温泉
大森温泉
花ノ湯温泉
西明寺温泉
湯ノ原温泉
雄和ふるさと温泉
0
黒湯温泉
2
4
6
8
10