第二章 感知机

模型:二类分类的线性模型 (线性模型+符号函数)
策略:基于误分类的损失函数最小化
算法:原始形式 对偶形式

感知机是神经网络和支持向量机的基础

一、模型

训练数据集 D={(x1,y1),(x2,y2)...(xn,yn)} D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) . . . ( x n , y n ) }
xiRn,yi{+1,1} x i ∈ R n , y i ∈ { + 1 , − 1 }

f(x)=sign(wx+b) f ( x ) = s i g n ( w ⋅ x + b )

参数 w,b w , b
感知机旨在求出将训练数据进行线性划分的分离超平面。
取+1,-1为了更好定义损失函数,如果输出的类别是0,1 怎么处理
把{0,1}映射为{-1,+1}。

二、策略

损失函数

L(w,b)=xiMyi(wxi+b) L ( w , b ) = − ∑ x i ∈ M y i ( w ⋅ x i + b )

其中M为误分类点的集合。
感知机的损失函数类似0-1损失函数,对分类正确的不惩罚,分类错误的惩罚。
对误分类的点 (xi,yi) ( x i , y i )
yi(wxi+b)>0 − y i ( w ⋅ x i + b ) > 0

从另一个角度理解损失函数 (这与SVM中的函数间隔概念相关)
损失函数定义为误分类点到超平面的总距离
点到超平面的距离
1||w|||wx+b| 1 | | w | | | w ⋅ x + b |

误分类点到超平面的总距离
1||w||xiMyi(wxi+b) − 1 | | w | | ∑ x i ∈ M y i ( w ⋅ x i + b )

不考虑 1||w|| 1 | | w | | ,就得到感知机的损失函数。
为什么可以忽略参数 w w 的模。

【1】
分子和分母都含有w,当分子的 w w 扩大N倍时,分母的L2范数也会扩大N倍。分子和分母有固定的倍数关系。
那么我们可以固定分子或者分母为1,然后求另一个即分子自己或者分母的倒数的最小化作为损失函数,这样可以简化我们的损失函数。
在感知机模型中,我们采用的是保留分子。
支持向量机,采用的是固定分子为1,然后求1/||w||2的最小化。
采用不同的损失函数主要与它的后面的优化算法有关系。
x1+x2=1 x 1 + x 2 = 1 2x1+2x2=2 2 x 1 + 2 x 2 = 2 是同一个超平面

三、算法

3.1 原始形式

最小化损失函数

minw,bL(w,b)=xiMyi(wxi+b) m i n w , b ⁡ L ( w , b ) = − ∑ x i ∈ M y i ( w ⋅ x i + b )

损失函数的梯度
wL(w,b)=xiMyixi ∇ w L ( w , b ) = − ∑ x i ∈ M y i x i

bL(w,b)=xiMyi ∇ b L ( w , b ) = − ∑ x i ∈ M y i

采用随机梯度下降,不是一次使用M中的所有误分类点的梯度下降,而是一次随机选取一个误分类点使其梯度下降。
随机选取一个误分类点 (xi,yi) ( x i , y i ) ,对 w,b w , b 更新
ww+ηyixi w ← w + η y i x i

bb+ηyi b ← b + η y i

为什么用SGD,不用BGD

【1】
用普通的基于所有样本的梯度和的均值的批量梯度下降法(BGD)是行不通的,原因在于我们的损失函数里面有限定,只有误分类的M集合里面的样本才能参与损失函数的优化。所以我们不能用最普通的批量梯度下降,只能采用随机梯度下降(SGD)或者小批量梯度下降(MBGD)

3.2对偶形式

思想 :将 w,b w , b 表示成 x,y x , y 的线性组合形式,通过求解其系数而求得 w,b w , b

假设样本点 (xi,yi) ( x i , y i ) 在更新过程中被使用了 ni n i 次,从原始形式的学习过程可以得到,最后的 w,b w , b 可以表示为

w=i=1Nniηyixi w = ∑ i = 1 N n i η y i x i

b=i=1Nniηyi b = ∑ i = 1 N n i η y i

ni n i 的含义:如果 ni n i 很大,那么意味着这个样本点经常被误分,什么样的点容易被误分? 很明显就是离超平面很近的点,超平面稍微移动一点点,这个样本就从正变负,或负变正。而在SVM中,这种点就很可能是支持向量。
上式代入感知机模型
f(x)=sign(wx+b)=sign(j=1Nnjηyjxjx+j=1Nnjηyj) f ( x ) = s i g n ( w ⋅ x + b ) = s i g n ( ∑ j = 1 N n j η y j x j ⋅ x + ∑ j = 1 N n j η y j )

此时,学习的目标就不再是 w,b w , b ,而是 ni n i
训练过程:
1. 初始时: ni=0 ∀ n i = 0
2. 在训练数据集中选取 (xi,yi) ( x i , y i )
3. 如果 yi(Nj=1njηyjxjxi+njηyj)0 y i ( ∑ j = 1 N n j η y j x j ⋅ x i + n j η y j ) ≤ 0 ,更新 nini+1 n i ← n i + 1
4. 转至2直至没有误分类点

感知机对偶形式的意义是什么?

【2】
这里写图片描述

四、总结

  1. 感知机由于采用不同的初值,或选取不同的误分类点计算梯度,解是不同的。
  2. 当数据集线性可分时,感知机是收敛的,经有限次的迭代可以找到将训练数据完全正确分开的分离超平面。
  3. 当训练集线性不可分时,感知机不收敛,迭代结果会发生震荡。

参考文献
【1】http://www.cnblogs.com/pinard/p/6042320.html
【2】https://www.zhihu.com/question/26526858

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值