1. 程式人生 > >Perceptron(感知機)

Perceptron(感知機)

感知機原理:

這裡寫圖片描述

為了使線性迴歸能用於分類,引入了logistic函式對映成比率來進行分類。但是從人的直觀視角來看,對於如上圖所示的點,能否在空間中直接就找到一條分割線呢?感知機學習的目標就是求得一個能夠將訓練資料集中正負例項完全分開的分類超平面。那麼如何找這個超平面?

這裡寫圖片描述

首先可以得出感知機的模型:

f(x)=sign(Wx+b)其中sign函式為:
sign(x)=+1,1,x0x<0
wx+b預測出的值的正例與反例,即可得到初步分割,將空間花費為兩部分。

這裡寫圖片描述

然後從機器學習的老套路來看,我們肯定需要一個損失函式,所以自然可以定義出損失函式的策略:誤分類點到分隔超平面的總距離


點到平面的幾何距離為:

|wxi+b|||w||其中||w||是L2範數,如果該點被誤分:yi(wxi+b)||w||
最終可得M個被誤分點總的損失函式為:J(w,b)=xiMyi(wxi+b接下來就是對這個函式進行梯度下降求解了。

迭代的次數會不會很多?對偶優化問題
可以想到沒有被誤分的點參與迭代調整次數為0,而對於多次被誤分的點就會參與多次的迭代,為了節省時間,將採用它的對偶形式來進行優化。即將w 和 b 表示為 xi和 yi的線性組合的形式來求解,計算時的樣本內積形成的Gram矩陣將大大提高速度:
此時函式變為:

f(x)=sign(j=1Nαiyixjxi+
b)
是否誤分類的判斷條件變為:yi(j=1Nαiyixjxi+b)0

其他的就沒什麼的,不過值得注意的是感知機面向的特徵空間必須是得線性可分的,而且滿足條件的分割線會有多個。由此得來神經網路支援向量機