様々な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
%
Back