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