使用newsom函式建立網路:
net=newsom(PR,[D1,D2,^],TFCN,DFCN,OLR,OSTEPS,TLR,TND)
PR:R個輸入元素的最大值和最小值的設定值,R*2維矩陣
Di:第I層的維數,預設為[5 8]
TFCN:拓撲函式,預設為hextop
DFCN:距離函式,預設為linkdist
OLR:分類階段學習速率,預設為0.9
OSTEPS:分類階段的步長,預設為1000
TLR:調諧階段的學習速率,預設為0.02
TNS:調諧階段的領域距離,預設為1.
例子:
>> P=[rand(1,400)*2;rand(1,400)];>> plot(P(1,:),P(2,:),".","markersize",20)>> net=newsom([0 1;0 1],[3 5]);>> net=train(net,P);>> hold on>> plotsom(net.iw{1,1},net.layers{1}.distances)>> hold off
第二個函式:newc函式
功能:該函式用於建立一個競爭層
net=newc
net=newc(PR,S,KLR,CLR)
S:神經元的數目
KLR:Kohonen學習速度,預設為0.01
CLR:Conscience學習速度,預設為0.001
net:函式返回值,一個新的競爭層。
也可以參考附件的程式碼,裡面有一個案例是SOM神經網路的。
使用newsom函式建立網路:
net=newsom(PR,[D1,D2,^],TFCN,DFCN,OLR,OSTEPS,TLR,TND)
PR:R個輸入元素的最大值和最小值的設定值,R*2維矩陣
Di:第I層的維數,預設為[5 8]
TFCN:拓撲函式,預設為hextop
DFCN:距離函式,預設為linkdist
OLR:分類階段學習速率,預設為0.9
OSTEPS:分類階段的步長,預設為1000
TLR:調諧階段的學習速率,預設為0.02
TNS:調諧階段的領域距離,預設為1.
例子:
>> P=[rand(1,400)*2;rand(1,400)];>> plot(P(1,:),P(2,:),".","markersize",20)>> net=newsom([0 1;0 1],[3 5]);>> net=train(net,P);>> hold on>> plotsom(net.iw{1,1},net.layers{1}.distances)>> hold off
第二個函式:newc函式
功能:該函式用於建立一個競爭層
net=newc
net=newc(PR,S,KLR,CLR)
S:神經元的數目
KLR:Kohonen學習速度,預設為0.01
CLR:Conscience學習速度,預設為0.001
net:函式返回值,一個新的競爭層。
也可以參考附件的程式碼,裡面有一個案例是SOM神經網路的。