使用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神經網路的。