感知機演算法

2021-08-03 14:01:05 字數 2093 閱讀 6812

1 目標

感知機演算法針對二分類問題 f(

x):x

→(1)

實質在於對於線性可分的資料集(x

i0,x

i1,.

..,x

in;y

i)=(

xi;y

i),i

=0,1

,2,.

..,m

(2)

找到乙個超平面ωx

+b=0

將資料分成兩部分,使得位於位於超平面上半部分的資料點屬於+1

類,處於超平面下半空間的資料點屬於−1

類。2 優化模型

確定學習策略 —-定義(經驗)損失函式將其最小化

分析:

(1) 由於我們的目標是找到乙個超平面將資料完分開,標籤為+1

的樣本都處於超平面的上半空間,標籤為-1 的樣本都處於超平面下半空間,自然想到目標損失函式迫使誤分類的資料點數降到0,表示成數學形式如下: l(

x;ω,

b)=∑

i=1n

i[si

gn(ω

x+b)

≠yi]

(3)

但是這個損失函式

l 不是引數ω,

b的連續可導函式,不易求解,因此不能採用這樣的函式。

(2)損失函式另一種取法是誤分類點到超平面的距離,則可寫作l′

(x;ω

,b)=

∑xi∈

m|ωx

i+b|

||ω|

|(4)

式中m 是誤分點的集合。若m=

∅,則l′

=0,否則l′

>

0 。

為了便於求解(4)式,需要對其進行等效處理。首先要處理掉「|

|」,ωxi

+b表示的是點xi

到超平面的相對距離;樣本

(xi,

+1)處

於超平面

的上半空

間(ωx

i+b>0)

樣本(x

i,−1

)處於超

平面的下

半空間(

ωxi+

b<0)

}⇒yi

(ωxi

+b)>

0(5)

這是資料點xi

被超平面分類正確的情況。相反,資料點被超平面錯分時: 樣本

(xi,

−1)處

於超平面

的上半空

間(ωx

i+b>0)

樣本(x

i,+1

)處於超

平面的下

半空間(

ωxi+

b<0)

}⇒yi

(ωxi

+b)<

0(6)

則當樣本被錯分時,有−y

i(ωx

+b)>

0 ,因此,(4) 式被等效地變為l′

(x;ω

,b)=

−1||

ω||∑

xi∈m

yi(ω

xi+b

)(7)

學習模型就是將損失函式最小化,即

minω,b

l′(x

;ω,b

)=minω,b

−1||

ω||∑

xi∈m

yi(ω

xi+b

)(8)

3 優化模型求解

上面已經將損失函式造好,下面就需要求解,不過求解之前對(8)式仍需做簡單的處理,項1|

|ω||

不影響問題的最優解,而優化引數又處於分母,所以將其去掉,(8)式重新寫作

minω,b

−∑xi

∈myi

(ωxi

+b)(9)

這是典型的多元函式求極值問題,用最速下降法即可高效求解。具體地,每一步使得引數ω^

=(ω,

b)沿著其在損失函式的負梯度方向調整,即可快速求得最優解。

未完待續….

reference:

統計學習方法\李航

感知機演算法

利用帶有0 1門限的神經元進行學習。形式化如下 感知機輸入x x 感知機權值w w 偏置 b 1令y x wxt b y x wx t b感知機輸出 z x role presentation t t 及標籤集y y 每次餵入乙個樣本xi x i,若yi z x i y i z xi 則不修正權重 ...

感知機學習演算法

from sklearn.linear model import perceptron import numpy as np 訓練資料集 x train np.array 3,3 4,3 1,1 y np.array 1 1,1 構建perceptron物件,訓練資料並輸出結果 perceptron...

機器學習 感知機演算法

感知機 perception 是一種二類線性模型,主要用於分類問題。目標函式 f x sgn w x b 其中sgn為符號函式 其中向量w為目標函式向量,向量x為樣本。向量w 向量x 超平面 w x b 0 所構成的平面 向量w為超平面上的法向量。訓練集 t x1,y1 x2,y2 x3,y3 xn...