內容如有錯誤請不吝指教!


(1)    初始化node set A,裡面包含兩個node c1,c2
 1     

weight vectorinput pattern中隨機選取。

connection set1初始化為1  

(2)    輸入新的pattern 1  

(3)    搜尋A裡面的所有node,得到   
first winner s1,藉由右式取得:1   

    second winner s2,藉由右式取得:1    

如果1 s11s2之間的距離比T1T2大,則input signal成為新的node

 1    1  ,則 1  

接著再回第二步繼續處理新的signal

 

(4)    如果連接s1s2的連結不存在,則創造一個,並且加到C
1  ,然後再把s1  s2 連結的age設為0

age(s1,s2)=0

(5)    增加所有edgeage,增加的量由s1得到

   1  

(6)    將「輸入訊號」與「Winner」之間的歐式距離(Euclidian distance)加到累計的errors1

 1  

(7)   1  

(8)   1        1    

在此,我們將1  稱為winnerlearning rate1 稱為neighborlearning rate

 

(9)    將大於agedeadnode移除,例如:

 1 and 1 then 1    

(10)如果目前的輸入訊號數量是浪打的倍數,則插入一個新的node,並且用以下的方法在低機率分佈下移除node
A. 用最大累積誤差 E來決定node q
      1     

B. 尋找所有q的鄰居,用最大累積誤差來決定node f
      1     

C. 新增node r,並且從q和從f去做內插算出weigh vector

      1    

D. 藉由1  1   1  

   去做內插,算出Er(累積誤差)Mr(累積訊號量)、和Rr(inherited error radius)

E. 1  ,由beta降低qf的累積誤差變數

F.  1  ,由gamma降低qf的累積訊號數量變數

E. 判斷插入是否成功

判斷誤差半徑是否大於繼受誤差半徑1

換句話說,如果插入不能減少這個local area的平均誤差(mean error),插入就是失敗的。

否則,就更新繼受誤差半徑

例如,1  ,插入就是失敗的,新node r要被移除,並且其他變數恢復原來的狀況。否則,

1    1       1     

F. 如果插入是成功的,將新node rqf連接,1  

並且將qf的連結拿掉。

 1  

G. 針對所有在Anode,尋找一個只有一個鄰居的nodes,然後拿這些只有一個鄰居的node的累積訊號數量  所有node的平均累積訊號數量 比較。如果node只有一個鄰居而且累積訊號數量比適性門檻值低,將它從node中移除。

例如:

1  而且1    ,則1  

其中,c由使用者決定,而且1  

如果input data的雜訊多,c就越大

H. 刪除在A裡面獨立沒連結的node,例如:

if1  then1  

(11)使用以下方法將node分群

A. 一開始所有的node都是unclassified

B. Loop:隨機從A選擇一個未被分類的node i,把node i標記為已分類的,並且將他標示成class Ci

C. 搜尋A,尋找所有以”path”連到node i的未分類的node,將它們標記為已分類,並且將它們標記為和node i相同的類別(Ci)

D. 如果仍有未被分類的node,回到Loop繼續

E. 回到(2),繼續on-line程序


創作者介紹

Frank's 資訊科技潮流站

finalfrank 發表在 痞客邦 PIXNET 留言(0) 人氣()