感知機-理論心得體會
感知機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向誤分類一側移動。
參考資料:統計學習方法-李航