SOM自組織特徵對映神經網路 MATLAB

2021-07-22 07:33:25 字數 4294 閱讀 1582

競爭層?正方形?

看不出來資料屬於哪類?

神經網路建立函式 

(一)newsom函式

net=newsom(pr,[d1,d2,^],tfcn,dfcn,olr,osteps,tlr,***)

pr:r個輸入元素的最大值和最小值的設定值,r*2維矩陣

di:第i層的維數,預設為[5 8]

tfcn:拓撲函式,預設為hextop

dfcn:距離函式,預設為linkdist

olr:分類階段學習速率,預設為0.9

osteps:分類階段的步長,預設為1000

tlr:調諧階段的學習速率,預設為0.02

tns:調諧階段的領域距離,預設為1.

輸入net=newsom([0 1;0 1],[3 5])時的拓撲結構

(二)newc函式

功能:該函式用於建立乙個競爭層

net=newc

net=newc(pr,s,klr,clr)

s:神經元的數目

klr:kohonen學習速度,預設為0.01

clr:conscience學習速度,預設為0.001

net:函式返回值,乙個新的競爭層。

(三)newlvq函式

功能:該函式用於建立乙個學習向量量化的lvq網路

net=newlvp

net=newlvp(pr,s1,pc,lr,lf)

s1:競爭層神經元的數目

pc:分類的百分比

lr:學習速率,預設為0.01

lf:學習函式,預設為learnlvl

例子看

傳遞函式

(一)compet函式

功能:該函式為傳遞函式

a=compet(n)

info=compet(code)

n:輸入(列)向量的s*q維矩陣

a:函式返回值,輸出向量矩陣,每一列向量只有乙個1,位於輸入向量最大的位置

info=compet(code):根據code值的不同返回有關函式的不同資訊,包括derice-導數名稱;name-函式名稱;output-輸出範圍;active-動態輸入範圍。

>> n1=[5;3;6;8];

>> a1=compet(n1)

a1 =

(4,1)  1

(二)softmax函式

功能:該函式為軟最大傳遞函式

a=softmax(n)

info=softmax(code)

與compet不同的是,引數a為函式返回向量,個元素在區間[0,1],且向量結構與n一致。

>> n1=[5;3;6;8];

>> a2=softmax(n1)

a2 =

0.0418

0.0057

0.1135

0.8390

距離函式

(一)boxdist函式

功能:該函式為box距離函式,在給定神經網路某層的神經元的位置後,可利用該函式計算神經元之間的位置,該函式通常用於結構函式的gridtop的神經網路層。

d=boxdist(pos)

ps:神經元位置的n*s維矩陣

d:函式返回值,神經元距離的s*s維矩陣。

函式的運算原理為d(i,j)=max||pi-pj||。其中,d(i,j)表示距離矩陣中的元素,pi表示位置矩陣的第i列向量。

(二)dist函式

功能:該函式的歐式距離權函式,通過對輸入進行加權得到加權後的輸入

z=dist(w,p);

df=dist('deriv')

d=dist(pos)

w:s*r維的權值矩陣

p:q組輸入(列)向量的r*q維矩陣

z:s*q維的距離矩陣

pos:神經元位置的n*s維矩陣

d:s*s維的距離矩陣

df=dist('deriv'):返回值為空,因為該函式不存在導函式。

函式運算規則為d=sqrt(sum((x-y)2)),其中x和y分別為列向量。

(三)linkdist函式

功能:該函式為連線距離函式,在給定神經元的位置後,該函式可用於計算神經元之間的距離

d=linkdist(pos)

(四)mandist函式

功能:該函式為manhattan距離權函式

z=mandist(w,p)

df=mandist('deriv')

d=mandist(pos)

學習函式

(一)learnk函式

功能:該函式為kohonen權值學習函式

[dw,ls]=learnk(w,p,z,n,a,t,e,gw,ga,d,lp,ls)

info=learnk(code)

w:權值矩陣

p:輸入向量矩陣

z:權值輸入向量矩陣

n:網格輸入向量矩陣

a:輸出向量矩陣

t:目標向量矩陣

e:誤差向量矩陣

gw:效能梯度矩陣

d:神經元距離矩陣

lp:學習引數,若無則為空

ls:學習狀態,初始化為空

dw:權值(閾值)變化矩陣

ls:新的學習狀態

info=learnk(code)……

(二)learnsom函式

功能:該函式為自組織對映權值學習函式

[dw,ls]=learnsom(w,p,z,n,a,t,e,gw,ga,d,lp,ls)

info=learnsom(code)

幾個需要設定的學習引數

lp.order_lr分類階段學習速率,預設0.9

lp.order_steps學習階段補償,預設1000

lp.tune_lr調諧階段領域距離,預設0.02

lp.tune_nd調諧階段學習速率,預設1

(三)learnis函式

功能:該函式為instar權值學習函式

[dw,ls]=learnis(w,p,z,n,a,t,e,gw,ga,d,lp,ls)

info=learnis(code)

(四)learnos函式

初始化函式(midpoint)

功能:該函式為i中心點權值初始化函式

w=midpoint(s,pr)

s:神經元的數目;

pr:每組輸入向量的最大值和最小值組成的r*2維矩陣,規定了輸入區間為[pmin,pmax]

w:函式返回值,s*r維的矩陣,每個元素對應設定為(pmin+pmax)/2

權值函式(negdist)

功能:該函式為負距離權值函式

z=negdist(w,p)

顯示函式(plotsom)

功能:該函式用於繪製自組織特徵對映

plotsom(pos)

plotsom(w,d,nd)

pos:神經元位置向量

w:權值矩陣

d:距離矩陣

nd:領域矩陣,預設為1

plotsom(pos):利用紅點繪製神經元的位置,將歐氏距離小於等於1的神經元連線起來

plotsom(w,d,nd):將歐氏距離小於等於1的神經元的權值向量連線起來

結構函式(hextop)

六角層結構函式

pos=hextop(dim1,dim2,^dimn)

eg.pos=hextop(8,5);

plotsom(pos)

w=rands(40,2);plotsom(w,dist(pos))

自組織對映

自組織對映的主要目的是將任意維數的輸入訊號模式轉變為一維或二維的離散對映,並且以拓撲有序的方式自適應實現這個變換。合作 獲勝神經元決定興奮神經元的拓撲領域的空間位置,從而提供這樣的相鄰神經元之間的合作。競爭 對每個輸入模式,網路中的神經元計算它們各自的判別函式的值,這個判別函式為神經元之間的競爭提供...

機器學習筆記 自組織對映網路(SOM)

什麼是自組織對映?乙個特別有趣的無監督系統是基於競爭性學習,其中輸出神經元之間競爭啟用,結果是在任意時間只有乙個神經元被啟用。這個啟用的神經元被稱為勝者神經元 winner takes all neuron 這種競爭可以通過在神經元之間具有橫向抑制連線 負反饋路徑 來實現。其結果是神經元被迫對自身進...

SOM自組織神經網路

som自組織神經網路 自組織神經網路競爭學習規則 winner take all。how to find the winner?首先,對網路當前輸入模式向量x和競爭層中的個神經元對應的權重向量wj 對應j神經元 全部進行歸一化,使得x和wj的模為1 當前網路得到乙個輸入模式向量x時,競爭層的所有神經...