1、可以呼叫matlab工具箱裡的函式建立競爭性神經網路: 主要進行分類:
newc(p,s,klr,clr) --------------------------------------p表示輸入的範圍,
s-------------------------------表示神經元的個數 klr表示kohonen學習速率,-------------------------------clr表示conscience的學習速率
p=[0.1 0.8 0.1 0.9;0.2 0.9 0.1 0.8];
net=newc([0 1;0 1],2);
net.iw
net.b
該網路的訓練:
p = [.1 .8 .1 .9; .2 .9 .1 .8]
net = newc([0 1; 0 1],2);
wts = net.iw
biases = net.b
net.trainfcn
net.trainparam.epochs = 500;
net = train(net,p);
a = sim(net,p)
ac = vec2ind(a)
2、自組織特徵對映型別的神經網路
net=newsom(p,[d1 d2 .....],tfcn,dfcn,steps,in)
p表示輸入向量,di表示第i層大小,,預設[5 8], tfcn表示網路的拓撲結構,預設的是hextop, dfcn表示網路的距離函式,預設的是linkdist
step表示調整階段的鄰域變為1的步驟,預設100, in表示初始網路的大小,預設3
sofm網路的建立:
net = newsom([0 2; 0 1],[2 3]);
p = [.1 .3 1.2 1.1 1.8 1.7 .1 .3 1.2 1.1 1.8 1.7;...
0.2 0.1 0.3 0.1 0.3 0.2 1.8 1.8 1.9 1.9 1.7 1.8]
plot(p(1,:),p(2,:),'o','markersize',8)
hold on
plotsom(net.iw,net.layers.distances)
hold off
net.iw
網路的訓練:
net = newsom([0 2; 0 1],[2 3]);
p = [.1 .3 1.2 1.1 1.8 1.7 .1 .3 1.2 1.1 1.8 1.7;...
0.2 0.1 0.3 0.1 0.3 0.2 1.8 1.8 1.9 1.9 1.7 1.8]
plot(p(1,:),p(2,:),'o','markersize',8)
hold on
plotsom(net.iw,net.layers.distances)
hold off
net.iw
net.trainparam.epochs = 1000;
net = train(net,p);
plotsom(net.iw,net.layers.distances)
lvq神經網路
主要用於模式分類:
netnewlvq(pr,sl,pc,ir,if)
pr表示r*2的矩陣,代表輸入向量元素的最大值和最小值
s1表示隱含層的神經元數目;
pc為二元向量,表示典型的類別權重百分比;
ir表示學習速度
if學習函式
p = [-3 -2 -2 0 0 0 0 2 2 3; 0 1 -1 2 1 -1 -2 1 -1 0],
tc = [1 1 1 2 2 2 2 1 1 1],
plotvec(p,tc,'*'),
t = ind2vec(tc);%稀疏矩陣
targets = full(t) %對稀疏矩陣進行填充
net = newlvq(p,4,[.6 .4]); %表示第二層的權值重60的對應著targets第一行的元素1,40對應著第二行元素1
net.iw
net.lw
y = sim(net,p);
yc = vec2ind(y)
競爭性網路的乙個分類:
x = [0 1; 0 1]; % 定義輸入類別範圍
clusters = 8; % 類別數目
points = 10; % 每一類中的樣本數
std_dev = 0.05; % 每一類的標準差
p = nngenc(x,clusters,points,std_dev); %生成輸入樣本向量系列
plot(p(1,:),p(2,:),'+r');
title('input vectors');
xlabel('p(1)');
ylabel('p(2)');
net = newc([0 1;0 1],8,.1);
w = net.iw;
plot(p(1,:),p(2,:),'+r');
hold on;
circles = plot(w(:,1),w(:,2),'ob');
net.trainparam.epochs = 7;
net = train(net,p);
w = net.iw;
delete(circles);
plot(w(:,1),w(:,2),'ob');
p = [0; 0.2];
a = sim(net,p)
自組織特徵對映網路的實驗:
angles = 0:0.5*pi/99:0.5*pi;
p = [sin(angles); cos(angles)];
plot(p(1,:),p(2,:),'+r')
net = newsom([0 1;0 1],[10]);
net.trainparam.epochs = 10;
net = train(net,p);
plotsom(net.iw,net.layers.distances)
p = [1;0];
a = sim(net,p)
lvq神經網路的運用:分類:
p = [-3 -2 -2 0 0 0 0 +2 +2 +3;
0 +1 -1 +2 +1 -1 -2 +1 -1 0];
c = [1 1 1 2 2 2 2 1 1 1];
t = ind2vec(c);
clafor i=1:10
if(c(i)==1)
plot(p(1,i),p(2,i),'+')
hold on;
else
plot(p(1,i),p(2,i),'o')
hold on;
endend
net = newlvq(minmax(p),4,[.6 .4],0.1);
hold on
w1 = net.iw;
plot(w1(1,1),w1(1,2),'*')
title('input/weight vectors');
xlabel('p(1), w(1)');
ylabel('p(2), w(3)');
net.trainparam.epochs=150;
net=train(net,p,t);
w1 = net.iw;
w2 = vec2ind(net.iw);
cla;
for i=1:10
if(c(i)==1)
plot(p(1,i),p(2,i),'+')
hold on;
else
plot(p(1,i),p(2,i),'o')
hold on;
endend
for i=1:4
if(w2(i)==1)
plot(w1(i, 1),w1(i, 2),'*')
hold on;
else
plot(w1(i, 1),w1(i, 2),'.')
hold on;
endend
p = [0.2; 1];
a = vec2ind(sim(net,p)),
SOM自組織神經網路
som自組織神經網路 自組織神經網路競爭學習規則 winner take all。how to find the winner?首先,對網路當前輸入模式向量x和競爭層中的個神經元對應的權重向量wj 對應j神經元 全部進行歸一化,使得x和wj的模為1 當前網路得到乙個輸入模式向量x時,競爭層的所有神經...
SOM自組織特徵對映神經網路 MATLAB
競爭層?正方形?看不出來資料屬於哪類?神經網路建立函式 一 newsom函式 net newsom pr,d1,d2,tfcn,dfcn,olr,osteps,tlr,pr r個輸入元素的最大值和最小值的設定值,r 2維矩陣 di 第i層的維數,預設為 5 8 tfcn 拓撲函式,預設為hextop...
如何實現團隊的自組織管理
如何實現團隊的自組織管理 在 射鵰英雄傳 裡,以全真七子的武功是打不過東邪黃藥師的,但當他們擺出了 天罡北斗陣 時,卻能和黃藥師打成平手。這就是團隊合作形成合力的威力。自組織管理是原阿里itu內貿團隊採取的一種敏捷實踐,該實踐旨在幫助團隊成員加強團隊合作,形成團隊的合力,從而提高團隊整體的工作效率。...