感知機的對偶形式

首先聲明感知機的對偶形式與原始形式並沒有多大的區別,運算的過程都是一樣的,但通過對偶形式會事先計算好一些步驟的結果並存儲到Gray矩陣中,因此可以加快一些運算速度,數據越多節省的計算次數就越多,因此比原始形式更加的優化。
首先我們介紹一下感知機的原始形式,之後與其對比。

感知機

感知機是二類分類的線性分類模型,輸入爲實例的特徵向量,輸出爲實例的類別,分別去+1和-1兩值。感知機對應與輸入空間中將實例劃分爲正負兩類的分離超平面,屬於判別模型。感知機學習旨在求出能將訓練數據劃分的分離超平面其學習算法爲,基於誤分類的損失函數利用隨機梯度下降法對損失函數進行極小化求解出超平面。

感知機學習算法是對以下問題優化,給定一個訓練數據集
T={(x1,y1),(x2,y2),(x3,y3),…,(xN)(yN)}
其中,xi∈X=R^N , yi∈Y={-1,1},i=1,2,…,N,求參數w,b,使其爲以下損失函數極小化問題的解。
這裏寫圖片描述
其中M爲誤分類點的集合。
感知機學習算法,具體採用隨機梯度下降法(與梯度下降法每次迭代的是全局所有點不同,隨機梯度下降每次只取一個點,雖然每次下降的方向不一定準確,但經過多次迭代,一定會接近最優值)
損失函數L(w,b)的梯度由
這裏寫圖片描述
給出,其中M是固定的誤分類點的集合。
隨機選取一個誤分類點(xi,yi),對w,b進行更新:
這裏寫圖片描述
其中η(0<η<=1)是步長,統計學習中稱爲學習率,通過這樣不斷的迭代期待損失函數L(w,b)不斷減小,直到爲0.

總結下其基本原始算法步驟如下:

輸入:訓練數據集
這裏寫圖片描述
其中
這裏寫圖片描述
輸出:w,b ; 感知機模型 f(x)=sign(w·x+b).
(1) 選取初值 w0 , b0
(2) 在訓練集中選取數據(xi,yi)
(3) 如果 yi(w·xi+b)<=0
這裏寫圖片描述
(4) 轉至步驟(2),直至訓練集沒有誤分類點.
例1(原始形式方式)
如圖1訓練數據集,其正實例點是 x1=(3,3)^T, x2=(4,3)^T ,負實例點是x3=(1,1)^T,求感知機模型f(x)=sign(w · x + b). 這裏w=( w(1),w(2) )^T,x=( x(1),x(2) )^T
這裏寫圖片描述(圖1)
解 構造最優化問題:
這裏寫圖片描述
求解w , b . η=1.
這裏寫圖片描述
這裏寫圖片描述

感知機對偶形式

對偶形式的基本想法是,將w和b表示爲實例xi和標記yi的線性組合的形式,通過求解其係數而求得w和b
假設w,b初值都爲0。
在原始形式中w和b通過每次對一個點的梯度下降,逐步修改w,b
這裏寫圖片描述

設修改n次,那麼w,b關於(xi,yi)的增量分別爲ni *η *yi *xi和
ni η *yi 。在學習過程中,最後學到的w,b與每個點及其個數有關
ai=ni*η.
這裏寫圖片描述

這裏ni表示第i個實例點更新的次數,η爲步長爲1,當η=1時,表示第i個實例點由於誤分而進行更新的次數。實例點更新次數越多,意味着它距離分離超平面越近,也就越難正確分類。

從這裏可以看出感知機之所以有兩種形式,是因爲採用的隨機梯度下降,隨機梯度下降每次迭代的是一個點,而不是整體,因此對於迭代的點有次數的概念

感知機對偶算法

輸入:訓練數據集
這裏寫圖片描述
其中
這裏寫圖片描述
輸出:a ,b ;
感知機模型
這裏寫圖片描述
ai =ni 是次數
(1) a<-0 ,b<-0
(2) 在訓練集中選取數據(xi , yi)
(3) 如果
這裏寫圖片描述
(注aj是次數*步長,yj是輸出空間結果取值爲{-1,1},xj是某點j的向量形式)
(4) 轉至(2)指導沒有誤分類數據。
對偶形式中訓練實例僅以內積的形式出現即(3)中的xj · x,爲了方便,預先求出內積,並以矩陣形式存儲,該矩陣名爲Gram矩陣
這裏寫圖片描述

這次我們用例1的數據,通過對偶形式求解例一

這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
迭代過程如下
這裏寫圖片描述
由此可以看出對偶算法與原始算法並無太大區別,運算過程一樣,
畢竟原始形式中w就是aixiyi的累加和

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章