感知机模型
对于一组特征向量 X=(X1,X2,⋯,Xd),y:+1,−1,将特征向量与权值向量做内积,其计算结果与阀值作比较进而输出结果
h∈H
h(X)=sign((∑i=1dWiXi)−threshold)=sign⎛⎝⎜(∑i=1dWiXi)+(−threshold)W0⋅(+1)X0⎞⎠⎟=sign(∑i=0dWiXi)=sign(WTX)
例:在二维空间中,h函数表示为h(X)=sign(W0+W1X1+W2X2)
空间中的点表示特征向量,标签y表示输出值,O表示+1,x表示-1,空间中的线表示假设
感知机学习算法
通过不断修正的方式,初始化的W0,通过D训练样本不断修正。
具体算法:
在t=0,1,⋯循环过程中
存在(Xn(t),yn(t))在Wt的规则下是错误的,即sign(WTtXn(t))≠yn(t)
通过Wt+1←Wt+yn(t)Xn(t)进行修正
直到没有错误返回W为
g
实际上W即为分割线的法向量,sign即为X在W方向上的分量与W是同向还是反向。
感知机算法的收敛性
PLA数据线性可分
假设D是线性可分的,那么PLA是否一定会停止
非线性可分数据集
但是PLA的前提是指导数据集是线性可分的
数据集中普遍存在噪声
解决办法
找一个在已知数据集上犯错最少的线
初始化当前最优预测向量W^,在t=0,1,⋯循环过程中
存在(Xn(t),yn(t))在Wt的规则下是错误的
通过Wt+1←Wt+yn(t)Xn(t)进行修正
如果新的Wt+1比W^犯的错少,跟新W^为Wt+1
直到做了足够多次循环,返回W^为g