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


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

weight vectorinput pattern中隨機選取。

connection set初始化為  

(2)    輸入新的pattern   

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

    second winner s2,藉由右式取得:    

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

       ,則   

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

 

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

age(s1,s2)=0

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

     

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

   

(7)     

(8)               

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

 

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

  and  then     

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

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

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

          

D. 藉由  、   、  

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

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

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

E. 判斷插入是否成功

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

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

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

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

                

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

並且將qf的連結拿掉。

   

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

例如:

  而且    ,則  

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

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

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

if  then  

(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程序

文章標籤
全站熱搜
創作者介紹
創作者 finalfrank 的頭像
finalfrank

Frank's 資訊科技潮流站

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