Your SlideShare is downloading. ×
0
Tokyo r 11_self_organizing_map
Tokyo r 11_self_organizing_map
Tokyo r 11_self_organizing_map
Tokyo r 11_self_organizing_map
Tokyo r 11_self_organizing_map
Tokyo r 11_self_organizing_map
Tokyo r 11_self_organizing_map
Tokyo r 11_self_organizing_map
Tokyo r 11_self_organizing_map
Tokyo r 11_self_organizing_map
Tokyo r 11_self_organizing_map
Tokyo r 11_self_organizing_map
Tokyo r 11_self_organizing_map
Tokyo r 11_self_organizing_map
Tokyo r 11_self_organizing_map
Tokyo r 11_self_organizing_map
Tokyo r 11_self_organizing_map
Tokyo r 11_self_organizing_map
Tokyo r 11_self_organizing_map
Tokyo r 11_self_organizing_map
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Tokyo r 11_self_organizing_map

4,885

Published on

Published in: Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,885
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
59
Comments
0
Likes
5
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Tokyo.R #11 (2011/01/29)『Rによるデータサイエンス』第 II 部第 6 章「自己組織化マップ」SOM:Self-Organizing Map発表者: Bob#3(TwitterID:@bob3bob3)
  • 2. 初心者の方へ● 今日のお話はあまり初心者向けではありません… – @sakaue さんの Japan.R での講義資料が素晴らし いのでお勧めです。 ● http://lab.sakaue.info/wiki.cgi/JapanR2010?page=JapanR2010AM
  • 3. 自己組織化マップとは?● Teuvo Kohonen が 1980 年代前半に提案した 手法。● ニューラルネットワークモデルの一種で、人間 が脳の中で情報を分類・整理する過程を模した 方法。● 多次元データをより低次元(多くの場合は2次 元)のマップに落とし込み可視化する、というの が良く使われるケース。その意味で主成分分 析や MDS に似ている。● 格子状または蜂の巣状のグリッドを用意し、そ れぞれの部屋(ユニット)に似たものを集めてゆ く。● クラスタリングの一種としても使われる。
  • 4. 要は「脳内メーカー」 http://maker.usoko.net/nounai/
  • 5. 事例紹介
  • 6. RでSOM● 主なパッケージと関数 – {som} som() – {class} SOM(), batchSOM() – {kohonen} som() – {wccsom} wccsom()
  • 7. RでSOM● 主なパッケージと関数 – {som} som() – {class} SOM(), batchSOM() – {kohonen} som()  ← 今回紹介するのはコレ! – {wccsom} wccsom()
  • 8. 毎度おなじみ「あやめ」のデータ● いわゆる「フィッシャーのあやめのデータ」● 3品種の菖蒲のがく片の長さと幅、花びらの長さと幅のデー タ (n=150) 。● 詳しくはウィキペディア(英語版)で! – http://en.wikipedia.org/wiki/Iris_flower_data_set setosa versicolor virginica
  • 9. {kohonen} som()library(kohonen) # パッケージの読み込みset.seed(10) # 乱数種の指定# som() はマトリクスしか受け付けないので変換iris.mat <- as.matrix(iris[,1:4])# グリッドの大きさを指定。ただし「 x*y < サンプルサイズ」# topo はグリッドの形状の指定。格子状の場合は“ rect”# 蜂の巣状の場合は“ hexa”GRID <- somgrid(xdim=3, ydim=3, topo="hexa")# 自己組織化マップの実行iris.som <- som(iris.mat, # 分析するデータ。マトリクス grid=GRID, # グリッドの指定 rlen=1000) # 反復回数# 各個体がどのユニットに分類されたかは $unit.classif に入っているtable(iris.som$unit.classif)# 1 2 4 5 6 7 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25# 18 7 5 6 19 6 4 3 4 8 3 8 4 11 2 6 8 2 9 7 5 5
  • 10. とりあえず、 plot() ! plot(iris.som, bg="#FFFF99") Sepal.Length Petal.Length Sepal.Width Petal.Width
  • 11. バリエーションplot(iris.som, bg="#FFFF99", plot(iris.som, bg="#FFFF99", codeRendering="stars") codeRendering="lines")
  • 12. マップ! Mapping plot ve ve ve ve ve ve ve ve ve veve veveve ve veve ve ve ve veve ve ve ve ve ve vive veve ve ve ve ve ve ve ve ve ve ve ve ve ve se se se vi vi vi vi sese se se se ve sese ve vi vivi vi ve vi sese se se se se se se ve vi vivi vese se sese ve vi vi vi se vi vi vi vi se se se se se se vivivivivi vi vi vi vivi vi vivi vivi se se se sesese sese sese se vi vi vi sese se se se vi vivivi vi vi vi vi se vi vi vi vi
  • 13. ユニットごとの個体数
  • 14. 収束の様子 Training progress 0.030Mean distance to closest unit 0.025 0.020 0 200 400 600 800 1000 Iteration
  • 15. さらにユニットをクラスタリング Mapping plot ve ve ve veve ve ve ve ve veve ve veve ve vi veve ve veveveve ve ve veveveve ve ve ve ve veveve ve veve ve ve veve ve se se vi se sese vi se se se se ve ve vi vivi se se se se se se vivi vevi se se se ve ve vi vi ve vive se vi vi se se se vi se se vi vivi vi vi vi sesesese se se vi sesese se sesese sese vi vi vi vi vi vi se se se se se vi vi vi vi vi vi vivivi vi vi vivi vi vi vi se vi se vi se vi
  • 16. 書き方# 色と記号の設定COL <- c("#FF3300", "#339966", "#0041FF")BGC <- c("#FFFF99", "#76E4A6", "#B4EBFA")SP <- as.numeric(iris[,5])LBL <- c("se","ve","vi")# マップplot(iris.som, type="mapping", labels=LBL[SP], col=COL[SP], bg=BGC[1])# ユニットごとの個体数plot(iris.som, type="counts")# 収束の様子plot(iris.som, type="changes")# ユニットをクラスタリングして色づけBGC <- c("#FFFF99", "#76E4A6", "#B4EBFA")iris.som.dist <- dist(iris.som$codes)^2CLST <-cutree(hclust(iris.som.dist,"ward"),3)plot(iris.som, type="mapping", labels=LBL[SP], col=COL[SP], bgcol=BGC[CLST])
  • 17. グリッドを細かくすると Mapping plot se se se se se se se se se se ve ve se se se ve se se se se se se se ve se se se se se se se se sese se se se se se sese ve ve ve ve se se se se se se se se se se ve ve vi ve veve ve ve ve ve ve ve ve ve ve ve ve ve ve ve ve ve ve ve ve ve ve ve ve ve ve ve vi vi ve vi vi ve ve ve vi vi ve vi vi vi vi ve vi vi ve ve vi vi vi vi vi vi ve vi vivi vi vivi vi vi vi vi vi vi vi vi vi vi vi ve vi vi vi vi vi vi vi vi vi vi vi vi vi vi
  • 18. 主成分分析やMDSでは
  • 19. 書き方# グリッドを細かくするとGRID <- somgrid(xdim=12, ydim=12, topo="hexa")iris.som <- som(iris.mat, grid=GRID, rlen=1000)iris.som.dist <- dist(iris.som$codes)^2CLST <-cutree(hclust(iris.som.dist,"ward"),3)plot(iris.som, type="mapping", labels=LBL[SP], col=COL[SP], bgcol=BGC[CLST])# 主成分分析の場合iris.pca <- princomp(iris[,-5])plot(iris.pca$scores[,1:2], pch=21, bg=COL[SP], main=" 主成分分析 ")# 非計量 MDS (マンハッタン距離)の場合library(MASS)iris.mds <- isoMDS(dist(iris[-143,-5], "man"))plot(iris.mds$points, pch=21, bg=COL[SP], main=" 非計量 MDS")
  • 20. ご清聴、ありがとうございました。

×