输入空间X= Rn R n , 输出空间Y={-1,+1}. 输入x属于X表示实例的特征向量,对应于输入空间的点; 输出y属于Y表示实例的类别, 由输入空间到输出空间的如下函数
w*x+b=0对应于特征空间中的一个超平面S, w是该平面的法向量, b是截距(将平面平移到坐标原点所需距离). 该平面分特征向量为两部分, 分别对应正,负两类.
原点到该平面的距离: |b|||w|| | b | | | w | | . 任意一点x到超平面S的距离: 1||w|||w∗x+b| 1 | | w | | | w ∗ x + b | . (||w||是w的L2范数)
误分类点到超平面S的总距离.
1. 输入空间中任一点x到超平面S的距离: 1||w|||w∗x+b| 1 | | w | | | w ∗ x + b |
2. 对于误分类的数据 (xi,yi) ( x i , y i ) 来说: −yi(w∗xi+b)>0 − y i ( w ∗ x i + b ) > 0
w∗xi+b>0,正确分类: yi=+1,误分类: yi=−1 w ∗ x i + b > 0 , 正确分类: y i = + 1 , 误分类: y i = − 1
w∗xi+b<0,正确分类: yi=−1,误分类: yi=+1 w ∗ x i + b < 0 , 正确分类: y i = − 1 , 误分类: y i = + 1
所以对于误分类的(xi,yi),−yi(w∗xi+b)>0 所以对于误分类的 ( x i , y i ) , − y i ( w ∗ x i + b ) > 0
因此误分类的点 xi x i 到超平面S的距离是 −1||w||yi(w∗xi+b) − 1 | | w | | y i ( w ∗ x i + b )
3. 所有误分类点(集合M)到超平面S的总距离为: −1||w||∑xi∈Myi(w∗xi+b) − 1 | | w | | ∑ x i ∈ M y i ( w ∗ x i + b )
定义
给定训练数据集T={ (x1,y1),(x2,y2),...,(xn,yn) ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x n , y n ) }, 其中 x∈X=Rn,y∈Y={+1,−1} x ∈ X = R n , y ∈ Y = { + 1 , − 1 } , i=1,2,…,N. 感知机f(x)=sign(w*x+b)学习的损失函数定义为:
一个特定样本点的损失函数, 在被误分类时是w,b的线性函数, 在正确分类时是0.
因此对于所有被误分类点的损失函数是w,b的连续可导函数(线性模型)
在假设空间中选取使损失函数最小的模型参数(w,b)
感知机学习问题转化为求解损失函数的最优化问题.
采用随机梯度下降法, 极小化过程不是一次使M中所有误分类点的梯度下降, 而是一次随机选取一个误分类点使其梯度下降.
1. 损失函数L(w,b)的梯度: ∇wL(w,b)=−∑xi∈Myixi ∇ w L ( w , b ) = − ∑ x i ∈ M y i x i , ∇bL(w,b)=−∑xi∈Myi ∇ b L ( w , b ) = − ∑ x i ∈ M y i
2. 随机选取一个误分类点 (xi,yi) ( x i , y i ) , 对w,b进行更新: w←w−λ(−yixi),b←b−λ(−yi) w ← w − λ ( − y i x i ) , b ← b − λ ( − y i )
感知机由于采用不同的初值或选取不同的误分类点顺序, 解可以不同
Novikoff定理
设训练数据集T={ (x1,y1),(x2,y2),...,(xn,yn) ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x n , y n ) }是线性可分的, 其中 x∈X=Rn,y∈Y={+1,−1} x ∈ X = R n , 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)≥γ y i ( W ∗ X ) = y i ( w ∗ x i + b ) ≥ γ . 其中W=(w,b), X=(x,1)
2: 令R=max(X), 则感知机算法在训练数据集上的误分类次数k满足 k≤(Rγ)2 k ≤ ( R γ ) 2
Proof:
设此超平面为 Wopt∗X=wopt∗x+bopt W o p t ∗ X = w o p t ∗ x + b o p t , 使 ||Wopt||=1 | | W o p t | | = 1 ,因此对于所有的i=1,2,…,N有
||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 | | W k | | 2 = | | W k − 1 + λ y i X i | | 2 = | | W k − 1 | | 2 + λ 2 | | X i | | 2 + 2 W k − 1 ∗ λ y i X i ( y i 2 = 1 ) ≤ | | W k − 1 | | 2 + λ 2 | | X i | | 2 ( 0 ≤ λ ≤ 1 , y i ( W k − 1 ∗ X i ) ≤ 0 ) ≤ | | W k − 1 | | 2 + λ 2 R 2 ( R = m a x ( X ) ) ≤ | | W k − 2 | | 2 + 2 λ 2 R 2 ≤ … … ≤ k λ 2 R 2
向量点积: A∗B=|A||B|cosθ,得到: A∗B≤|A||B| 向量点积: A ∗ B = | A | | B | cos θ , 得到: A ∗ B ≤ | A | | B |
kλγ≤Wk∗Wopt≤||Wk||∗||Wopt||≤k−−√λR,由此得到: k2γ2≤kR2,即k≤(Rγ)2 k λ γ ≤ W k ∗ W o p t ≤ | | W k | | ∗ | | W o p t | | ≤ k λ R , 由此得到: k 2 γ 2 ≤ k R 2 , 即 k ≤ ( R γ ) 2
以上证明表面: 当训练数据集线性可分时, 误分类的次数K是有上限的, 即经过有限次搜索一定可以找到将训练数据集完全正确分开的分离超平面.
其中的 ai=niλ,ni a i = n i λ , n i 表示第i个数据被误分类的次数, 则w,b关于 (xi,yi) ( x i , y i ) 的增量分别是 aiyixi a i y i x i 和 aiyi a i y i
w=∑Ni=1aiyixi,b=∑Ni=1aiyi w = ∑ i = 1 N a i y i x i , b = ∑ i = 1 N a i y i
Gram矩阵: 预先将训练集中实例间的内积计算出来并以矩阵的形式存储
对偶形式和原始形式本质是一致的, 对偶形式会事先计算实例间的内积, 所以比原始形式有更快的速度