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