感知機模型

目錄(?)[-]

 

       感知機學習旨在求出將訓練數據集進行線性劃分的分類超平面,爲此,導入了基於誤分類的損失函數,而後利用梯度降低法對損失函數進行極小化,從而求出感知機模型。感知機模型是神經網絡和支持向量機的基礎。下面分別從感知機學習的模型、策略和算法三個方面來介紹。算法

1. 感知機模型

      感知機模型以下:網絡

f(x)= sign(w*x+b)數據結構

      其中,x爲輸入向量,sign爲符號函數,括號裏面大於等於0,則其值爲1,括號裏面小於0,則其值爲-1。w爲權值向量,b爲偏置。求感知機模型即求模型參數w和b。感知機預測,即經過學習獲得的感知機模型,對於新的輸入實例給出其對應的輸出類別1或者-1。

2. 感知機策略

      假設訓練數據集是線性可分的,感知機學習的目標就是求得一個可以將訓練數據集中正負實例徹底分開的分類超平面,爲了找到分類超平面,即肯定感知機模型中的參數w和b,須要定義一個損失函數並經過將損失函數最小化來求w和b。函數

       這裏選擇的損失函數是誤分類點到分類超平面S的總距離。輸入空間中任一點x 0到超平面S的距離爲:

其中,||w||爲w的L2範數。學習

        其次,對於誤分類點來講,當-y i (wx i + b)>0時,y i=-1,當-y i(wx i + b)<0時,y i=+1。因此對誤分類點(x i, y i)知足:

-yi (wxi +b) > 0優化

因此誤分類點(x i, y i)到分類超平面S的距離是:

3. 感知機算法

       感知機學習問題轉化爲求解損失函數式(1)的最優化問題,最優化的方法是隨機梯度降低法。感知機學習算法是誤分類驅動的,具體採用隨機梯度降低法。首先,任意選取一個超平面w0,b0,而後用梯度降低法不斷極小化目標函數式(1)。極小化的過程不是一次使M中全部誤分類點的梯度降低,而是一次隨機選取一個誤分類點使其梯度降低。.net

       損失函數L(w,b)的梯度是對w和b求偏導,即:
其中,(0<<=1)是學習率,即學習的步長。綜上,感知機學習算法以下:

        這種算法的基本思想是:當一個實例點被誤分類,即位於分類超平面錯誤的一側時,則調整w和b,使分類超平面向該誤分類點的一側移動,以減小該誤分類點與超平面的距離,直到超平面越過該誤分類點使其被正確分類爲止。blog

       須要注意的是,這種感知機學習算法獲得的模型參數不是惟一的,它會因爲採用不一樣的參數初始值或選取不一樣的誤分類點,而致使解不一樣。爲了獲得惟一的分類超平面,須要對分類超平面增長約束條件,線性支持向量機就是這個想法。另外,當訓練數據集線性不可分時,感知機學習算法不收斂,迭代結果會發生震盪。而對於線性可分的數據集,算法必定是收斂的,即通過有限次迭代,必定能夠獲得一個將數據集徹底正確劃分的分類超平面及感知機模型。get

       以上是感知機學習算法的原始形式,下面介紹感知機學習算法的對偶形式,對偶形式的基本想法是,將w和b表示爲實例x i和標記y i的線性組合形式,經過求解其係數而求得w和b。對誤分類點(x i, y i)經過
 
因此,感知機學習算法的對偶形式以下:
相關文章
相關標籤/搜索