1. 程式人生 > >感知機模型、學習演算法、收斂性證明

感知機模型、學習演算法、收斂性證明

1、感知機

學習資料:《統計學習方法》,cs229講義,其他。

感知機是用來進行二類分類的分類模型,而感知機的學習過程就是求出將訓練資料進行線性劃分的分離超平面過程。下面會給出感知機模型,接著進行學習,最後證明演算法的收斂性。

1.1、感知機模型

看下面的圖,有兩類點,記為-1和+1(負累和正類),我們需要求一條直線(超平面,用 w x + b

= 0 wx+b=0 來表示)來將它們進行劃分。我們最後需要得到引數 w w b
b
,引數求解的過程就是感知機學習過程了。

在這裡插入圖片描述

假設輸入空間 X X 是m維向量,輸出空間 Y = { +

1 , 1 } Y=\{+1,-1\} 。輸入 x = { x 1 , x 2 , . . . , x m } x=\{x^1,x^2,...,x^m\} 表示例項的特徵向量;輸出 y y 表示例項的類別。那麼感知機模型表示如下:

f ( x ) = s i g n ( w x + b ) f(x)=sign(wx+b)

其中 w w 稱為權值, b b 稱為偏置, w x = w 1 x 1 + w 2 x 2 + . . . + w m x m wx=w^1x^1+w^2x^2+...+w^mx^m ,當 w x + b > 0 wx+b>0 時候 s i g n ( w x + b ) = + 1 sign(wx+b)=+1 ,當 w x + b < 0 wx+b<0 時候 s i g n ( w x + b ) = 1 sign(wx+b)=-1

現在要做的是求出這樣的超平面 w x + b = 0 wx+b=0 將空間分成正類和負類,接下來進行模型的學習,求解引數 w w b b

1.2、感知機的學習演算法

先給出資料集線性可分的定義:

給定一個數據集 T = { ( x 1 , y 1 ) , . . . , ( x n , y n ) } T=\{(x_1,y_1),...,(x_n,y_n)\} ,其中 x i x_i 是m維向量(m個特徵), y i = { + 1 , 1 } y_i=\{+1,-1\} 表示類別,如果存在某個超平面 S S
w x + b = 0 wx+b=0
能夠將訓練集的正例項點和負例項點正確的劃分到超平面兩側,即:對於 y = + 1 y=+1 的例項有 w x i + b > 0 wx_i+b>0 ,對於 y = 1 y=-1 的例項有 w x i + b < 0 wx_i+b<0 ,寫到一起也就是 y i ( w x i + b ) > 0 y_i(wx_i+b)>0 那麼就說資料集 T T 是線性可分的。

如果給定資料集是線性可分的,那麼我們就可以去求這樣的超平面 w x + b = 0 wx+b=0 ,引數 w , b w,b 求解過程也就成了感知機學習過程。我們定義損失函式,通過最小化損失函式值來進行引數的求解。

定義一個點 x i x_i 到超平面 w x + b = 0 wx+b=0 的距離:

1 w w x i + b \frac{1}{||w||}|wx_i + b|

其中 w ||w|| 是向量 w w L 2 L_2 範數,舉個例子來說,假設超平面表示為 x 1 + 2 x 2 + 3 = 0 x_1+2x_2+3=0 那麼點(1,-2)剛好在上面,而 ( 1 , 1 ) (1,1) 帶入 x 1 + x 2 + 3 x_1+x_2+3 中結果是6,而權重和偏置變成了原來兩倍那麼 ( 1 , 1 ) (1,1) 的距離就成了原來的2倍,所以我們使用了距離除以 L 2 L_2 範數進行距離的固定化,這樣權重和偏置就算成倍增加那麼距離也不會變了。這裡叫做集合間隔,而不進行標準化的叫做函式間隔。

對於誤分類的資料 ( x i , y