前言
核函數和感知機學習算法是支持向量機的基礎,支持向量機通過核函數進行非線性分類(參考《深入淺出核函數》),支持向量機也是感知機算法的延伸,本文介紹了感知機學習算法。
目錄
1、感知機模型
2、感知機學習策略
3、感知機學習算法
4、總結
1. 感知機模型
感知機是二分類的線性分類模型,由輸入特徵 x 得到輸出類別1或-1的映射函數:
稱為感知機。其中w,b為感知機模型參數,w為超平面的法向量,b為超平面的截距。若參數確定,則分類模型也相應的確定。sign是符號函數,即:
對於新的輸入特徵 x,分類準則:
2. 感知機學習策略
1. 點到平面的距離
假設超平面方程為:
點
到超平面的距離d:
2. 感知機學習策略
對於誤分類數據
,滿足如下不等式:
正確分類的數據無損失函數,所有誤分類的數據點Mi到超平面的總距離為:
不考慮標準化範數
,就得到感知機學習的損失函數:
一般用當前樣本估計損失函數稱為經驗風險函數,因此上式就是感知機學習的經驗風險函數。
3. 感知機學習算法
2.1式是訓練樣本的損失函數,顯然,損失函數L(w,b)是非負的,在負分類時,損失函數L(w,b)是w,b的連續可導函數,正確分類時,損失函數是0,因此,2.1式是w,b的連續可導函數,可以放心大膽的用隨機梯度下降算法來構建模型,梯度下降的方向是損失函數值減小最快的方向,當損失函數為0時,模型構建完成。本節介紹感知機學習算法的兩種形式:原始形式和對偶形式。
1. 感知機學習算法的原始形式
損失函數L(w,b)的梯度:
隨機(隨機梯度下降法的定義)選取一個誤分類點(xi,yi),對w,b進行更新:
因此,感知機學習算法原始形式的模型構建步驟:
注意:初始化參數w0,b0值不同或隨機選取的誤分類點不同,得到的最優模型參數也可能不同,因為滿足感知機損失函數為0的模型不止一個。
圖解感知機學習算法的原始形式:
如下圖,紅色框為誤分類點,l1為位分類直線,隨機梯度下降法使l1直線順時針旋轉
角度為l2直線,點到分類直線的距離逐漸減小直到被正確分類。
2. 感知機學習算法的對偶形式
思想:對於每一個誤分類樣本點(xi,yi),假設誤分類點共迭代
次後,結果無誤分類點,那麼參數w,b就是對應的模型參數,
,參數表示:
解法:用3.1式和3.2世代入上一節的w和b式子,其他步驟完全一樣,即可解得參數。
同時,用3.1式和3.2式代入2.1式,可得感知機的對偶模式:
發現亮點沒?f(x)表達式包含了內積部分
,所以盡情的用核函數吧!因此,感知機也能實現非線性分類。
4. 總結
感知機算法有兩個點需要引起重視:(1)感知機算法用點到平面的距離作為損失函數,稍微修改下就和支持向量機一樣。(2)感知機算法可以寫成對偶形式,所以也能通過核函數實現非線性分類。
閱讀更多 人工智能早報 的文章