SlideShare a Scribd company logo
1 of 18
本日のアジェンダ


自己組織化マップとは



自己組織化マップのアルゴリズム



データ解析
 パッケージkohonen

1
自己組織化マップとは
自己組織化マップは、高次元データを2次元平面上へ非線形射影するデータ解析法であり、
多次元尺度法・クラスター分析法として用いられている。位相を考慮しつつ低次元空間に
写像する。

引用:マインドウェア総研
引用:九州工業大学

2
自己組織化マップのアルゴリズム(もっとも基本/2次元の場合)
(1) マップの縦横の大きさ・トポロジーを決める。
(2) マップを乱数によって初期化する
(3) 入力

に最も近いマップ上のユニット

(4) 選択した

を選択する。

とその近傍のユニットを更新する。

縦サイズ

横サイズ

6角形のSOM

入力列

四角のSOM

3
自己組織化マップのアルゴリズム(図解)
各ユニットのベクトルを色にたとえてアルゴリズムを例示する。簡単のため、ランダムに
初期化されたマップのうち、3色に注目してマップが更新される様子を図示する。
入力列からランダムにマップ上にユ
ニットを配置する。
入力列
入力列から1つ選択し、最も近いユ
ニットを選択する。近傍のユニット
の値を更新する。
入力列

入力列

同様に、入力列から1つ選択し、最も
近いユニットと、その近傍を更新す
る。このとき、少しずつ範囲と更新
割合を減らす。

以下同様に既定の回数まで繰り返す

入力列
4
データ解析
実際にRを用いて、データirisをSOM上にプロットする。手順は(1)SOMの作成、(2)データを
SOM上にプロットの2段階。irisデータのうち4つのアヤメの特徴からアヤメをクラスタリン
グし、品種の判別を試みる。

Mapping plot
1
1

1
11

11
1

2
2
2
22
2
2

1

Petal.Length
Petal.Width

(1)作成したSOM

2
22

2

2
2

2
2

2

2
2
2

2
22

2
2

3

3
3

2
33

2
2
2

3

3

2
3
3

3
3
3

3
3
3

3

3

3
3

3 3
3
3
2
3
3
2
2
3
3

2
2

333
33

3
3
3

3

2

2

2
2
2

Sepal.Length
Sepal.Width

22

1
1

2
22

2
2

1
1
1

11
1
11
11 1
11

1
111

11
1
1
1
1

11
1

1
11
1

1

1
1
1

3

3
3
3

33
3
3

3
3
33

(2)SOMへのプロット

5
データ解析(SOMの作成)
somgridでSOMのサイズ・形状を指定。SOM関数でSOMを作成しplotで作成したSOMを図示する
。傾向の似たユニットが近くに配置されていることがわかる。

Sepal.Length
Sepal.Width

Petal.Length
Petal.Width

somgrid(xdim=8, ydim=6, topo=“hexagonal”)
som(as.matrix(iris[,1:4]),…)
plot(….type=“codes”…)

6
データ解析(データをSOMへプロットする)
作成したSOMに対して、データをプロットしていく。大体近いところに同じ品種がプロット
されていることがわかる。

Mapping plot
1
1

1
11

11
1

2
2
2
22
2
2

1
2

2
2

2
2

2
2
2
2

2
22

2
2

3

3
3

2
33

2
2
2

3

3

2
3
3

3
3
3

3
3
3

3

3

3
3

3 3
3
3
2
3
3
2
2
3
3

2
2

333
33

3
3
3

3

2

2

2
2
2

2
22

22

1
1

2
22

2
2

1
1
1

11
1
11
11 1
11

1
111

11
1
1
1
1

11
1

1
11
1

1

1
1
1

3

作成したSOMの
一番近いところに
配置

3
3

3

33
3
3

3
3
33

somgrid(xdim=8, ydim=6, topo=“hexagonal”)
som(as.matrix(iris[,1:4]),…)
plot(….type=“mapping”…)
7
データ解析(元のデータとの比較)
元のirisは4次元空間上にあるデータだったが、SOMによって二次元空間に落とし込むこと
ができたことがわかる。
3.0

4.0

0.5

1.5

2.5
6.5

2.0

3.5

4.5

Sepal.Length

7

2.0

Sepal.Width

5

Mapping plot

2.0

1

3

Petal.Length

0.5

3.0
2.0
1.0

Species
6.0

7.5

1

3

5

7

1.0

2.0

11
1

3.0

11
1

2
2
2
22
2
2

1
2

2
2

2
2

2
2
2
2

2
22

2
2

3

3
3

2
33

2
2
2

3

3

2
3
3

3
3
3

3
3
3

3

3

3
3

3 3
3
3
2
3
3
2
2
3
3

2
2

333
33

3
3
3

3

2

2

2
2
2

2
22

22

1
1
1

1
1

2
22

2
2

1
1
1

11
1
11
11 1
11

1
111

1
1
1

11
1

1
1
11

1

4.5

1
1

1
11

Petal.Width

3

3
3
3

33
3
3

3
3
33
8
実際の分析に使うときに留意すべきこと
実際の分析にあたっては、ここまで説明していなかった点で、結果に影響がでる留意すべ
き点があります。
ここについて、
もう一歩踏み込
んでみます。

• 用途に応じた、オンラインSOM/バッチSOMの選択
• SOMのサイズの選び方
• マップの初期値の選び方
• Rのデフォルトは、入力値からのランダム選択
です
• 主成分分析を使った合理的な選択方法がある
ようです。
• マップ更新時の学習半径・学習率の選び方
• 値の設定で、結果が大きく変わる
9
オンラインSOM / オフラインSOM
Kohonenの自己組織化マップは、データを入力するごとにユニットを更新するためマップが
データの順序に依存してしまう。これに対してバッチ自己組織化マップが提案されている
。

オンラインSOM

データ

利点

• 1つずつ入力
• 入力された順に学習

• データを収集しながら
学習可能

使用メモ
リ

• データを1つずつ読み込む
ため省メモリ

学習時間

• 逐次更新のため1回の学習
時間が短い

バッチSOM
• 一括で入力
• すべてのデータを一気に
学習
• 順序によらない学習法の
ため安定した結果が得ら
れる。
• 学習率(アルファ)が不
要
• すべてのデータを読み込
むためメモリ使用量が多
い
• すべてのデータを利用す
るため更新時間が長い
10
オンラインSOMは入力順序に依存してしまう場合がある
オンラインSOMは、初期のころのほうが更新範囲が広く、ステップが進むにつれて更新範囲
が狭くなっていく。オンラインSOMだと入力列の順序によってマップが変わってしまう。マ
ーケティングなど順序に意味がない分析では、バッチSOMの方がよい。

ステップ`(t)が進むにつ
れ
更新範囲が狭く、
割合も小さくなる

11
オンラインSOMのデータ順序による結果の差
RのclassパッケージのSOM関数(オンラインSOM)に対して、順序を変えたirisデータを入
力し、結果を図示した。マップの様子が順序で異なることがわかる
※わざと大きな学習率(アルファ)を指定しているので変な出力です。

irisデータを花弁の長さの昇順でソート

irisデータを花弁の長さの降順でソート

コマンド
model <- SOM(liris, grid =
layer, alpha=seq(10,0,len=rlen), radii=seq(4,1,len=rlen), init
=init)
12
バッチSOMの順序による結果の差
RのclassパッケージのbatchSOM関数(バッチSOM)に対して、順序を変えたirisデータを入
力し、結果を図示した。マップが安定して得られていることがわかる。

irisデータを花弁の長さの昇順でソート

irisデータを花弁の長さの降順でソート

コマンド
model <- batchSOM(liris, grid =
layer, radii=seq(4,1,len=rlen), init=init)
13
まだ時間が余っていたら・・・・
SOMは高次元データを低次元空間に落とし込むだけでなく、NP問題を効率的に解くことにも
利用されている。

そのほかのSOMの例。低次元への
マップ以外の使い方。
http://www.brain.kyutech.ac.jp/~fur
ukawa/note/som/som.html

14
SOMまとめ

SOMのポイント
• 高次元データを低次元空間に落とし込む
• 位相を考慮した写像
• NP問題など、計算量が膨大な問題の近似解を求めるのにも利用
可

SOMの検討事項(結果に影響する)
•
•
•
•

マップのサイズの決め方
学習半径・学習率の決め方
マップの初期状態の決め方
オンライン学習/バッチ学習の使い分け

実際の応用に合わ
せて検討する必要
あり。

15
Q&A

Q&A

16
References

• 九州工科大学、古川研究室
http://www.brain.kyutech.ac.jp/~furukawa/note/som/so
m.html
• 同志社大学
http://www1.doshisha.ac.jp/~mjin/R/30/30.html
• WikiPedia
http://en.wikipedia.org/wiki/Self-organizing_map
• マインドウェア総研
http://www.mindware-jp.com/basic/somward.html
• 新潟大学
• http://bioinfo.ie.niigatau.ac.jp/?SOM%E3%81%A8%E3%81%AF#oed7b8fd
17
Appendix

• 添付:som_kohonen.R
教科書の自己組織化マップコード
• 添付:som_online_batch.R
オンラインSOMとバッチSOMの比較用のRコード

18

More Related Content

What's hot

Deep Learningで似た画像を見つける技術 | OHS勉強会#5
Deep Learningで似た画像を見つける技術 | OHS勉強会#5Deep Learningで似た画像を見つける技術 | OHS勉強会#5
Deep Learningで似た画像を見つける技術 | OHS勉強会#5Toshinori Hanya
 
GAN(と強化学習との関係)
GAN(と強化学習との関係)GAN(と強化学習との関係)
GAN(と強化学習との関係)Masahiro Suzuki
 
【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習cvpaper. challenge
 
画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量takaya imai
 
データサイエンス概論第一=2-1 データ間の距離と類似度
データサイエンス概論第一=2-1 データ間の距離と類似度データサイエンス概論第一=2-1 データ間の距離と類似度
データサイエンス概論第一=2-1 データ間の距離と類似度Seiichi Uchida
 
Rethinking and Beyond ImageNet
Rethinking and Beyond ImageNetRethinking and Beyond ImageNet
Rethinking and Beyond ImageNetcvpaper. challenge
 
SSII2019企画: 点群深層学習の研究動向
SSII2019企画: 点群深層学習の研究動向SSII2019企画: 点群深層学習の研究動向
SSII2019企画: 点群深層学習の研究動向SSII
 
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習SSII
 
モデル高速化百選
モデル高速化百選モデル高速化百選
モデル高速化百選Yusuke Uchida
 
Somの分かり易い解説
Somの分かり易い解説Somの分かり易い解説
Somの分かり易い解説Daisuke Takai
 
backbone としての timm 入門
backbone としての timm 入門backbone としての timm 入門
backbone としての timm 入門Takuji Tahara
 
物体検知(Meta Study Group 発表資料)
物体検知(Meta Study Group 発表資料)物体検知(Meta Study Group 発表資料)
物体検知(Meta Study Group 発表資料)cvpaper. challenge
 
画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -
画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -
画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -MPRG_Chubu_University
 
Deep Learningを用いたロボット制御
Deep Learningを用いたロボット制御Deep Learningを用いたロボット制御
Deep Learningを用いたロボット制御Ryosuke Okuta
 
不均衡データのクラス分類
不均衡データのクラス分類不均衡データのクラス分類
不均衡データのクラス分類Shintaro Fukushima
 
パターン認識と機械学習入門
パターン認識と機械学習入門パターン認識と機械学習入門
パターン認識と機械学習入門Momoko Hayamizu
 
階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布についてhoxo_m
 
スパースモデリング入門
スパースモデリング入門スパースモデリング入門
スパースモデリング入門Hideo Terada
 

What's hot (20)

Deep Learningで似た画像を見つける技術 | OHS勉強会#5
Deep Learningで似た画像を見つける技術 | OHS勉強会#5Deep Learningで似た画像を見つける技術 | OHS勉強会#5
Deep Learningで似た画像を見つける技術 | OHS勉強会#5
 
GAN(と強化学習との関係)
GAN(と強化学習との関係)GAN(と強化学習との関係)
GAN(と強化学習との関係)
 
【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習
 
画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量
 
データサイエンス概論第一=2-1 データ間の距離と類似度
データサイエンス概論第一=2-1 データ間の距離と類似度データサイエンス概論第一=2-1 データ間の距離と類似度
データサイエンス概論第一=2-1 データ間の距離と類似度
 
Rethinking and Beyond ImageNet
Rethinking and Beyond ImageNetRethinking and Beyond ImageNet
Rethinking and Beyond ImageNet
 
SSII2019企画: 点群深層学習の研究動向
SSII2019企画: 点群深層学習の研究動向SSII2019企画: 点群深層学習の研究動向
SSII2019企画: 点群深層学習の研究動向
 
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習
SSII2020 [OS2-02] 教師あり事前学習を凌駕する「弱」教師あり事前学習
 
Depth Estimation論文紹介
Depth Estimation論文紹介Depth Estimation論文紹介
Depth Estimation論文紹介
 
モデル高速化百選
モデル高速化百選モデル高速化百選
モデル高速化百選
 
Somの分かり易い解説
Somの分かり易い解説Somの分かり易い解説
Somの分かり易い解説
 
backbone としての timm 入門
backbone としての timm 入門backbone としての timm 入門
backbone としての timm 入門
 
物体検知(Meta Study Group 発表資料)
物体検知(Meta Study Group 発表資料)物体検知(Meta Study Group 発表資料)
物体検知(Meta Study Group 発表資料)
 
画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -
画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -
画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -
 
BlackBox モデルの説明性・解釈性技術の実装
BlackBox モデルの説明性・解釈性技術の実装BlackBox モデルの説明性・解釈性技術の実装
BlackBox モデルの説明性・解釈性技術の実装
 
Deep Learningを用いたロボット制御
Deep Learningを用いたロボット制御Deep Learningを用いたロボット制御
Deep Learningを用いたロボット制御
 
不均衡データのクラス分類
不均衡データのクラス分類不均衡データのクラス分類
不均衡データのクラス分類
 
パターン認識と機械学習入門
パターン認識と機械学習入門パターン認識と機械学習入門
パターン認識と機械学習入門
 
階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について
 
スパースモデリング入門
スパースモデリング入門スパースモデリング入門
スパースモデリング入門
 

More from Jun Harada

決算が読めるようになるゼミ第5回_Slack_原田惇
決算が読めるようになるゼミ第5回_Slack_原田惇決算が読めるようになるゼミ第5回_Slack_原田惇
決算が読めるようになるゼミ第5回_Slack_原田惇Jun Harada
 
mybo concept v1.00
mybo concept v1.00mybo concept v1.00
mybo concept v1.00Jun Harada
 
IoT x オープンイノベーション MERC丸の内院生ラウンジ
IoT x オープンイノベーション MERC丸の内院生ラウンジIoT x オープンイノベーション MERC丸の内院生ラウンジ
IoT x オープンイノベーション MERC丸の内院生ラウンジJun Harada
 
ロボット技術が、意外な製品・サービスに変わる - ロボット技術の応用事例
ロボット技術が、意外な製品・サービスに変わる - ロボット技術の応用事例ロボット技術が、意外な製品・サービスに変わる - ロボット技術の応用事例
ロボット技術が、意外な製品・サービスに変わる - ロボット技術の応用事例Jun Harada
 
(途中案)本当に役立つプログラミング力を鍛える講座
(途中案)本当に役立つプログラミング力を鍛える講座(途中案)本当に役立つプログラミング力を鍛える講座
(途中案)本当に役立つプログラミング力を鍛える講座Jun Harada
 
コミュニケーションロボット開発から拡販までの色々
コミュニケーションロボット開発から拡販までの色々コミュニケーションロボット開発から拡販までの色々
コミュニケーションロボット開発から拡販までの色々Jun Harada
 
ユカイ工学 Qooboのご紹介
ユカイ工学 Qooboのご紹介ユカイ工学 Qooboのご紹介
ユカイ工学 Qooboのご紹介Jun Harada
 
2017-12-06 tsumugu4 人工知能特集
2017-12-06 tsumugu4 人工知能特集2017-12-06 tsumugu4 人工知能特集
2017-12-06 tsumugu4 人工知能特集Jun Harada
 
IoT Business in Japan
IoT Business in JapanIoT Business in Japan
IoT Business in JapanJun Harada
 
東京研修プログラム
東京研修プログラム東京研修プログラム
東京研修プログラムJun Harada
 
20170606 東京システムハウス様 ロボティクス思考塾_1.00
20170606 東京システムハウス様 ロボティクス思考塾_1.0020170606 東京システムハウス様 ロボティクス思考塾_1.00
20170606 東京システムハウス様 ロボティクス思考塾_1.00Jun Harada
 
西大和中学校様むけ、ミエタ社ワークショップ
西大和中学校様むけ、ミエタ社ワークショップ西大和中学校様むけ、ミエタ社ワークショップ
西大和中学校様むけ、ミエタ社ワークショップJun Harada
 
IoT・ロボット製品の実現に向けたアプローチの実例
IoT・ロボット製品の実現に向けたアプローチの実例IoT・ロボット製品の実現に向けたアプローチの実例
IoT・ロボット製品の実現に向けたアプローチの実例Jun Harada
 
Lab seminar20100604
Lab seminar20100604Lab seminar20100604
Lab seminar20100604Jun Harada
 

More from Jun Harada (15)

決算が読めるようになるゼミ第5回_Slack_原田惇
決算が読めるようになるゼミ第5回_Slack_原田惇決算が読めるようになるゼミ第5回_Slack_原田惇
決算が読めるようになるゼミ第5回_Slack_原田惇
 
mybo concept v1.00
mybo concept v1.00mybo concept v1.00
mybo concept v1.00
 
IoT x オープンイノベーション MERC丸の内院生ラウンジ
IoT x オープンイノベーション MERC丸の内院生ラウンジIoT x オープンイノベーション MERC丸の内院生ラウンジ
IoT x オープンイノベーション MERC丸の内院生ラウンジ
 
ロボット技術が、意外な製品・サービスに変わる - ロボット技術の応用事例
ロボット技術が、意外な製品・サービスに変わる - ロボット技術の応用事例ロボット技術が、意外な製品・サービスに変わる - ロボット技術の応用事例
ロボット技術が、意外な製品・サービスに変わる - ロボット技術の応用事例
 
(途中案)本当に役立つプログラミング力を鍛える講座
(途中案)本当に役立つプログラミング力を鍛える講座(途中案)本当に役立つプログラミング力を鍛える講座
(途中案)本当に役立つプログラミング力を鍛える講座
 
コミュニケーションロボット開発から拡販までの色々
コミュニケーションロボット開発から拡販までの色々コミュニケーションロボット開発から拡販までの色々
コミュニケーションロボット開発から拡販までの色々
 
ユカイ工学 Qooboのご紹介
ユカイ工学 Qooboのご紹介ユカイ工学 Qooboのご紹介
ユカイ工学 Qooboのご紹介
 
2017-12-06 tsumugu4 人工知能特集
2017-12-06 tsumugu4 人工知能特集2017-12-06 tsumugu4 人工知能特集
2017-12-06 tsumugu4 人工知能特集
 
IoT Business in Japan
IoT Business in JapanIoT Business in Japan
IoT Business in Japan
 
東京研修プログラム
東京研修プログラム東京研修プログラム
東京研修プログラム
 
20170606 東京システムハウス様 ロボティクス思考塾_1.00
20170606 東京システムハウス様 ロボティクス思考塾_1.0020170606 東京システムハウス様 ロボティクス思考塾_1.00
20170606 東京システムハウス様 ロボティクス思考塾_1.00
 
西大和中学校様むけ、ミエタ社ワークショップ
西大和中学校様むけ、ミエタ社ワークショップ西大和中学校様むけ、ミエタ社ワークショップ
西大和中学校様むけ、ミエタ社ワークショップ
 
IoT・ロボット製品の実現に向けたアプローチの実例
IoT・ロボット製品の実現に向けたアプローチの実例IoT・ロボット製品の実現に向けたアプローチの実例
IoT・ロボット製品の実現に向けたアプローチの実例
 
Lab seminar20100604
Lab seminar20100604Lab seminar20100604
Lab seminar20100604
 
test
testtest
test
 

【勉強会】自己組織化マップ(SOM)