1. 程式人生 > >感知機-理論心得體會

感知機-理論心得體會

感知機1957年由Rosenblatt提出,是二分類的線性分類模型,其輸入為例項的特徵向量,輸出為例項的類別,即+1和-1。感知機對應於特徵空間中將例項劃分為正負兩類的分離超平面。感知機學習的目的是找出將訓練資料正確劃分的線性分離超平面,具體的方法是使用梯度下降法嘗試不斷減少損失函式。---感知機是神經網路和支援向量機(SVM)的基礎。

1.定義

感知機的輸入空間為:為n維特徵向量

輸出空間為:{-1,+1}---即類別

函式為f(x)=sign(w.x+b)

引數說明:w為n維實向量,稱為權值向量,b為實數,稱為偏置。sign為符號函式,即


感知機的解釋如下:

線性方程  w.x +b=0;對應於特徵空間中的一個超平面S,其中w是超平面的法向量,b是超平面的截距。

超平面將特徵空間中的點分為正,負兩部分,因此S又被稱為分離超平面,展示如下:


2.學習策略

線性可分性:給定一個特徵空間,如果存在一個超平面 w.x+b=0 將特徵空間中的點,能將特徵空間中的正,負例點完全分開,則稱該特徵空間(資料集)線性可分。

衡量標準:需要定義一個損失函式,並且對於每一個誤分類點不斷將損失函式極小化。---感知機採用的是所有誤分類點到當前超平面S的總距離,公式如下:


||w||是L2範數。

對於誤分類資料(x,y)來說


因此可得總距離為:


從而得到感知機學習的損失函式。

3.感知機學習演算法

如果想要讓感知機能夠正確分類,則需要調整感知機函式f(x)的的引數,從而使感知機的損失函式極小化--即讓特徵空間正確分類。

定義M為誤分類點的集合,

使用梯度下降演算法(SGD):

1>任意初始化一個超平面,引數為w、b

2>隨機選取一個誤分類點,修改w、b,使梯度下降

梯度由下式給出(分別對w,b求偏導)


隨機選出一個誤分類點,對w,b更新


不斷對誤分類點進行處理,從而使梯度不斷減少,b中 y的引數成為學習率or步長

演算法總結如下:


演算法還有一個淺顯的解釋:當一個特徵點被誤分類時,調整w、b的值,使超平面S向誤分類一側移動。

參考資料:統計學習方法-李航