様々なSOM (Self-Organizing Map) を表示させる関数です。
この関数1つで、
正方形SOM (2D), 長方形SOM (2D), 六角形結合SOM (2D), ロープ型SOM (1D), 円形SOM (1D)
が表示できます。
(ただし、六角形結合SOMは正方形のみで、今のところ長方形には対応してません。)
使い方は、PlotSOM.mのhelpを見てください。
M-fileダウンロード: PlotSOM.m(右クリック→保存)
注:この関数で3次元のSOMを表示させるためには、関数gplot3が必要です。
gplot3をパスの通ったフォルダに置いてください。
Download gplot3
---- 内部構造について ----
PlotSOM.mは構造体とか使ってないので、内部構造は簡単です。
表示方法はgplot+plotです。gplotの詳しいことはgplotのhelpを見てください。
===== PlotSOM.m の help =====
% 様々なSOMを表示させる % ニューロンの色は赤、結合線の色は青 % % PlotSOM(Weight) % PlotSOM(Weight,shape) % PlotSOM(Weight,shape,n,m) % % Weight : Dim次元 M個のニューロンの重みベクトル (M x Dim) % [shape](string) :map shape, 'grid' by default % 'grid' : SOMの配置が正方形(2-dimensional)の場合 % SOMの行数m = 列数m % % 'rectangle' : SOMの配置が長方形の場合 % n : SOMの"行"数 m : SOMの"列"数 % % 'rope' : SOMの配置1-dimensionalの場合 % 紐状に繋がっており、円ではない % % 'circle' : SOMの配置1-dimensionalの場合 % 'ring' 円に繋がっている(ニューロン1とmが繋がっている) % % 'hex' : SOMの配置が六角形(2-dimensional) % % === How to use === % % PlotSOM(Weight)は、正方形のSOMを表示させる。 % PlotSOM(Weight,'shape')は、shapeで指定した形のSOMを表示させる。 % ただし、shapeを長方形(rectangle)に指定したときは、 % PlotSOM(Weight,'rectangle',n,m)とし、 % SOMのニューロンの行数nと列数mを指定しなければならない。 %(つまり、長方形SOMはn*m個のニューロンを持つ。) % % n = m のとき、 % PlotSOM(Weight,'rectangle',n,m) は PlotSOM(Weight) と同じ。 % % 注:3次元のSOMを表示させるためには、関数gplot3が必要です。 % gplot3をパスの通ったフォルダに置いてください。 % Download gplot3 : http://nlab.ee.tokushima-u.ac.jp/nlab/haruna/memo/gplot3.html % % 6 June 2007 Haruna MATSUSHITA %