利用带有0-1门限的神经元进行学习。
形式化如下:
感知机输入 X={x1,x2,...,xn} X = { x 1 , x 2 , . . . , x n }
感知机权值 W={w1,w2,...,wn} W = { w 1 , w 2 , . . . , w n }
偏置$b=1令 y(X)=WXT+b y ( X ) = W X T + b
感知机输出z(X)={1, if y(X)≥00, if y(X)<0 z ( X ) = { 1 , i f y ( X ) ≥ 0 0 , i f y ( X ) < 0
学习过程:
初始化感知机权重
W
W
,有一个线性可分的训练集及标签集
Y={y1,y2,...,ym}
Y
=
{
y
1
,
y
2
,
.
.
.
,
y
m
}
,每次喂入一个样本
Xi
X
i
,若
yi=z(Xi)
y
i
=
z
(
X
i
)
,则不修正权重;若
yi=1且z(Xi)=0
y
i
=
1
且
z
(
X
i
)
=
0
,则更新
W
W
:=;若
yi=0且z(Xi)=1
y
i
=
0
且
z
(
X
i
)
=
1
,则更新
W
W
:=。直到迭代完
T
T
。
From geometry perspective,在权重空间(Weight space)内,把所有的权重和训练集
T
T
中的样本视作一些从原点出发的向量(或者点),则对于任意给定的向量
Xi
X
i
,存在一个过原点的超平面把空间分成两部分,其中一个子空间内的
W
W
都能把预测为0,另一个子空间内的
W
W
都能把预测为1。根据的
yi
y
i
可以分别命名为当前样本的“好的权重向量子空间”和“坏的权重向量子空间”。
算法的所做的就是,若当前权重
W
W
位于当前样本的“好的权重向量子空间”时不需要进行更新,否则旋转使得更接近分界超平面。于是的到了一个凸优化问题。
(图来自Hinton)