感知器的訓練算法


 

 1.感知器算法來源和基本思想
      “感知器”一詞出自於20世紀50年代中期到60年代中期人們對一種分類學習機模型的稱呼,它是屬於有關動物和機器學習的仿生學領域中的問題。當時的一些研究者認為感知器是一種學習機的強有力模型,后來發現估計過高了,但發展感知器的一些相關概念仍然沿用下來。
 
      采用感知器算法(Perception Approach)能通過對訓練模式樣本集的“學習”得到判別函數的系數。由於該算法不需要對各類別中模式的統計性質做任何假設,因此稱為確定性的方法。
 
      感知器算法實質上是一種賞罰過程:
–對正確分類的模式則“賞”,實際上是“不罰”,即權向量不變。
–對錯誤分類的模式則“罰”,使w(k)加上一個正比於xk的分量。
–當用全部模式樣本訓練過一輪以后,只要有一個模式是判別錯誤的,則需要進行下一輪迭代,即用全部模式樣本再訓練一次。
–如此不斷反復直到全部模式樣本進行訓練都能得到正確的分類結果為止。

2.感知器的訓練算法

     2.1 兩類情況算法:  

     已知兩個訓練模式集分別屬於$\omega_1$類和$\omega_2$類,權向量的初始值為$w(1)$,可任意取值。若$x_k\in \omega_1,w^T(k)x_k>0$,若$x_k\in \omega_2,w^T(k)x_k\leq0$,則在用全部訓練模式集進行迭代訓練時,第$k$次的訓練步驟為:

  • 若$x_k\in \omega_1$且$w^T(k)x_k\leq 0$,則分類器對第$k$個模式$x_k$做了錯誤分類,此時應校正權向量,使得$w(k+1) = w(k) + Cx_k$,其中$C$為一個校正增量。
  • 若$x_k\in \omega_2$且$w^T(k)x_k\geq 0$,同樣分類器分類錯誤,則權向量應校正如下:$w(k+1) = w(k) - Cx_k$
  • 若以上情況不符合,則表明該模式樣本在第$k$次中分類正確,因此權向量不變,即:$w(k+1) = w(k)$

若對$x\in \omega_2$的模式樣本乘以$(-1)$,則有:

$w^T(k)x_k\leq 0$時,$w(k+1) = w(k) + Cx_k$

此時,感知器算法可統一寫成:

\[w(k + 1) = \left\{ {\begin{array}{*{20}{c}}
{w(k)}&{if\;{w^T}(k){x_k} > 0}\\
{w(k) + C{x_k}}&{if\;{w^T}(k){x_k} \le 0}
\end{array}} \right.\]

      2.2 多類情況算法:

       對M類模式存在M個判別函數$\{d_i,i=1,2,\cdots,M\}$,若$x\in \omega_i$,則$d_i>d_j,\forall j\neq i$。

       設有M種模式類別$\omega_1,\omega_2,\cdots, \omega_M,$,若在訓練過程的第$k$次迭代時,一個屬於$\omega_i$類的模式樣本$x$送入分類器,則應先計算出$M$個判別函數:

             \[d_j(k)=w_j(k)x,j=1,2,\cdots,M\]

       若$d_i(k)>d_j(k),j=1,2,\cdots,M,\forall j\neq i$的條件成立,則權向量不變,即

             \[w_j(k+1)=w_j(k),j=1,2,\cdots,M\] 

       若其中第l個權向量使得$d_i(k)\leq d_1(k)$,則相應的權向量應做調整,即        

\[\left\{ {\begin{array}{*{20}{c}}
{{w_i}(k + 1) = {w_i}(k) + Cx}\\
{{w_l}(k + 1) = {w_l}(k) - Cx}\\
{{w_j}(k + 1) = {w_j}(k),\;j = 1,2, \ldots ,M,\;j \ne i,\;j \ne l}
\end{array}} \right.\]

       其中C是一個正常數。權向量的初始值$w_i(1),i = 1,2,\cdots,M$可視情況任意選擇。

 

3. 算法討論

–這里的分類算法都是通過模式樣本來確定判別函數的系數,但一個分類器的判斷性能最終要受並未用於訓練的那些未知樣本來檢驗。
–要使一個分類器設計完善,必須采用有代表性的訓練數據,它能夠合理反映模式數據的整體。
–要獲得一個判別性能好的線性分類器,究竟需要多少訓練樣本?直觀上是越多越好,但實際上能收集到的樣本數目會受到客觀條件的限制;過多的訓練樣本在訓練階段會使計算機需要較長的運算時間;一般來說,合適的樣本數目估計:若k是模式的維數,令C=2(k+1),則通常選用的訓練樣本數目約為C的10~20倍。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM