感知机
输入空间X=Rn, 输出空间Y={-1,+1}. 输入x属于X表示实例的特征向量,对应于输入空间的点; 输出y属于Y表示实例的类别, 由输入空间到输出空间的如下函数
f(x)=sign(w∗x+b)
称为
感知机. w叫做
权值,b叫做
偏置, w*x表示w和x的内积(点积)
几何解释
w*x+b=0对应于特征空间中的一个超平面S, w是该平面的法向量, b是截距(将平面平移到坐标原点所需距离). 该平面分特征向量为两部分, 分别对应正,负两类.
原点到该平面的距离: |b|||w||. 任意一点x到超平面S的距离: 1||w|||w∗x+b|. (||w||是w的L2范数)
感知机的损失函数
误分类点到超平面S的总距离.
1. 输入空间中任一点x到超平面S的距离: 1||w|||w∗x+b|
2. 对于误分类的数据(xi,yi)来说: −yi(w∗xi+b)>0
w∗xi+b>0,正确分类: yi=+1,误分类: yi=−1
w∗xi+b<0,正确分类: yi=−1,误分类: yi=+1
所以对于误分类的(xi,yi),−yi(w∗xi+b)>0
因此误分类的点xi到超平面S的距离是−1||w||yi(w∗xi+b)
3. 所有误分类点(集合M)到超平面S的总距离为: −1||w||∑xi∈Myi(w∗xi+b)
定义
给定训练数据集T={(x1,y1),(x2,y2),...,(xn,yn)}, 其中x∈X=Rn,y∈Y={+1,−1}, i=1,2,…,N. 感知机f(x)=sign(w*x+b)学习的损失函数定义为:
L(w,b)=−∑xi∈Myi(w∗xi+b)=∑xi∈M|w∗xi+b|其中M为误分类点的集合
一个特定样本点的损失函数, 在被误分类时是w,b的线性函数, 在正确分类时是0.
因此对于所有被误分类点的损失函数是w,b的连续可导函数(线性模型)
学习策略
在假设空间中选取使损失函数最小的模型参数(w,b)
学习算法
感知机学习问题转化为求解损失函数的最优化问题.
采用随机梯度下降法, 极小化过程不是一次使M中所有误分类点的梯度下降, 而是一次随机选取一个误分类点使其梯度下降.
1. 损失函数L(w,b)的梯度:∇wL(w,b)=−∑xi∈Myixi, ∇bL(w,b)=−∑xi∈Myi
2. 随机选取一个误分类点(xi,yi), 对w,b进行更新: w←w−λ(−yixi),b←b−λ(−yi)
感知机学习算法的原始形式:

感知机由于采用不同的初值或选取不同的误分类点顺序, 解可以不同
Novikoff定理
设训练数据集T={(x1,y1),(x2,y2),...,(xn,yn)}是线性可分的, 其中x∈X=Rn,y∈Y={+1,−1}, i=1,2,…,N. 则
1: 存在满足条件||W||=1的超平面 W*X=wx+b=将训练数据集完全正确分开; 且存在γ>0, 对所有的i=1,2,…,N, 有yi(W∗X)=yi(w∗xi+b)≥γ. 其中W=(w,b), X=(x,1)
2: 令R=max(X), 则感知机算法在训练数据集上的误分类次数k满足 k≤(Rγ)2
Proof:
设此超平面为Wopt∗X=wopt∗x+bopt, 使||Wopt||=1,因此对于所有的i=1,2,…,N有
yi(Wopt∗Xi)=yi(wopt∗xi+bopt)>0
所以存在
γ=minyi(wopt∗xi+bopt)使得yi(Wopt∗Xi)=yi(wopt∗xi+bopt)≥γ
设感知机算法从
W0开始,
Wk−1是第k个误分类实例之前的权重向量(被正确分类的不需要更新权重向量), 即
Wk−1=(wk−1,bk−1), 则第k个误分类实例的条件是
yi(Wk−1∗Xi)=yi(wk−1∗xi+bk−1)≤0
另由梯度下降法有
Wk=Wk−1+λyiXi(wk=wk−1+λyixi;bk=bk−1+λyi)
所以有如下不等式:
WK∗Wopt=Wk−1∗Wopt+λyiXi∗Wopt≥Wk−1∗Wopt+λγ 由以上公式递推得到: Wk∗Wopt≥Wk−1∗Wopt+λγ≥Wk−2∗Wopt+2λγ≥kλγ
||Wk||2=||Wk−1+λyiXi||2=||Wk−1||2+λ2||Xi||2+2Wk−1∗λyiXi(y2i=1) ≤||Wk−1||2+λ2||Xi||2(0≤λ≤1,yi(Wk−1∗Xi)≤0) ≤||Wk−1||2+λ2R2(R=max(X)) ≤||Wk−2||2+2λ2R2≤…… ≤kλ2R2
向量点积: A∗B=|A||B|cosθ,得到: A∗B≤|A||B|
kλγ≤Wk∗Wopt≤||Wk||∗||Wopt||≤k−−√λR,由此得到: k2γ2≤kR2,即k≤(Rγ)2
以上证明表面: 当训练数据集线性可分时, 误分类的次数K是有上限的, 即经过有限次搜索一定可以找到将训练数据集完全正确分开的分离超平面.
感知机学习算法的对偶形式:

其中的ai=niλ,ni表示第i个数据被误分类的次数, 则w,b关于(xi,yi)的增量分别是aiyixi和aiyi
w=∑Ni=1aiyixi,b=∑Ni=1aiyi
Gram矩阵: 预先将训练集中实例间的内积计算出来并以矩阵的形式存储
对偶形式和原始形式本质是一致的, 对偶形式会事先计算实例间的内积, 所以比原始形式有更快的速度