感知機演算法

2021-08-20 10:26:01 字數 1491 閱讀 7037

利用帶有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

),則不修正權重;若yi

=1且z

(xi)

=0y i=

1且z(

xi)=

0,則更新

w w

:=w+

xi' role="presentation">w+x

iw+x

i;若yi

=0且z

(xi)

=1y i=

0且z(

xi)=

1,則更新

w w

:=w−

xi' role="presentation">w−x

iw−x

i。直到迭代完

t t

。from geometry perspective,在權重空間(weight space)內,把所有的權重

w' role="presentation">w

w和訓練集

t t

中的樣本xi

' role="presentation">xix

i視作一些從原點出發的向量(或者點),則對於任意給定的向量xi

x

i,存在乙個過原點的超平面把空間分成兩部分,其中乙個子空間內的

w w

都能把xi

' role="presentation">xix

i**為0,另乙個子空間內的

w w

都能把xi

' role="presentation">xix

i**為1。根據的yi

y

i可以分別命名為當前樣本的「好的權重向量子空間」和「壞的權重向量子空間」。

演算法的所做的就是,若當前權重

w w

位於當前樣本的「好的權重向量子空間」時不需要進行更新,否則旋轉

w' role="presentation">w

w使得更接近分界超平面。於是的到了乙個凸優化問題。

(圖來自hinton)

感知機演算法

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 優...

感知機學習演算法

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...