感知机学习模型

摘要:logistic回归,感知机学习,SVM支持向量模型,初学这三个内容的时候感觉三者很想,都是找到一个超平面将需要分类的点分到超平面的两侧,脑子里面一团浆糊,如今拜读了李航老师的《统计学习方法》和周志华老师的西瓜书,依照本人的拙见,写一篇总结,指出三者的不同点以及各自的特色,如有错误(我知道肯定会有),还望指正。

设输入空间是 XRn ,输出空间是Y={+1,-1}。输入的训练集样本 xX 表示其特征的向量,输出 yY 表示训练集样本的真实类;

1.1感知机模型:
感知机模型属于二分类的线性分类模型,所谓线性可分,意指存在一个线性超平面,可以将样本的正负两类分别落到超平面的两侧,当然这里的线性可分只是对于当前维度(样本数据的特征维度)而言,但是只要当前维度是有限的,即使在当前维度线性不可分,总会存在一个高维度,将样本映射到高维度后依然是线性可分的(可能不太准确),这是后面的SVM通过核技巧实现线性不可分的功能部分,稍后会介绍到。
则输入空间到输出空间的函数映射为:

f(x)=sign(wx+b)

其中的w,b就是感知机模型的参数, wRn 为权值(向量), bR 为偏置,sign为符号函数,定义为:
sign(x)={+11x0x<0

感知机的几何解释:线性方程 wx+b=0 即为特征空间 Rn 上的一个超平面,w是超平面的法向量,b为截距,类比到(二维)直角坐标系中:
感知机模型
值得注意的是,中学里面的直角坐标系的y轴并不是传统意义上函数的输出,在这里是 R2 的特征空间,即样本的特征向量维度是2,将y视为特征的一个维度为 x(2) ,带入到式子 wx+b 中得到的值通过sign分段函数得出来的值即为该样本的预测类(之前这点没有想通,导致很多理解有失偏颇,了解了这里与以前学的不同点就好了)。
1.2感知机学习策略:
感知机是误分类驱动的,定义其损失函数以及损失函数最小化来获得最佳的分类超平面,即参数w和b。损失函数有两种定义策略,其一,定义为误分类点的总数,这样的缺点是对参数w,b不是连续可导函数,午饭求得最优化的参数值。其二,可以定义损失函数为所有误分类点到超平面的几何距离,即 1||w|||wy+b| ,||w||指w的 L2 范数。
对于误分类的点( xi,yi ),若其为正类的,则 (wxi+b)>0 ,分类错误的话,则 yi=1 ;若其为负类,则 (wxi+b)<0 yi=1 。所以对于误分类点来说,总有 yi(wxi+b)>0
这样所有误分类点到超平面的距离总和为
1||w||xiMyi(wxi+b)(1)

这里不考虑 1||w|| ,就得到了感知机学习的损失函数。(称之为样本点的函数间隔)。定义感知机的损失函数为:
L(w,b)=xiMyi(wxi+b)(2)

显然,损失函数L(w,b)是非负的,M是误分类点的几何,当所有点都被正确分类的话,L(w,b)是0。误分类点越少,其值越小(误分类点到超平面距离的总和越小)。这里损失函数是w,b的线性函数,对w,b连续可导。要获取最佳的线性超平面,即求使得损失函数最小的参数w,b。
minw,bL(w,b)=xiMyi(wxi+b)(3)

感知机是误分类驱动的分类器,采用随机梯度下降方法(SGD)获得损失函数的最优化。即先任意选取一个超平面 w0,b0 ,再用梯度下降方法沿着某一梯度方向不断极小化目标函数,最终达到没有误分类点的情况。极小化的过程是沿着某一个误分类点的方向,而不是一次性是的M中所有的误分类点梯度都下降。(这个优化过程跟SVM区别开来)。损失函数对于w,b的偏导分别是:
L(w,b)w=xiMxiyi(4)

L(w,b)b=xiMyi(5)

随机选择一个误分类点( xi,yi ),更新权值w,b的过程如下:
ww+ηyixi(6)

bb+ηyi(7)

其中, (0<η1) 表示学习步长,或者学习率。如此不断迭代更新,损失函数L(w,b)不断减少,直至没有误分类点,损失函数为0。
上述学习过程可以直观上或者几何上如下解释:当一个样本被错误的分类,即位于超平面错误的一侧时,调整w,b的权值,使得超平面向该误分类点移动,以减少该点到超平面的距离,直至超平面越过这个点使其被正确分类。
值得指出的是,在优化过程中,选择的误分类点的顺序可以不同,这样获得最终的超平面结果也是不同的。
1.3感知机算法的收敛性
虽然超平面结果有很多种,但是感知机学习算法是收敛的,有严格的数学方法可以证明,这里先跳过,以后补上。
1.4感知机学习的对偶形式
对偶形式的基本思想,将w和b表示为 xiyi 的线性表示形式,通过求解该线性组合的系数,获得w和b。
可以设置初始 w0,b0 均为0,对于误分类点( xi,yi ),通过
ww+ηyixi(6)

bb+ηyi(7)

逐步修改w,b,假设修改了n次,则w,b关于当前误分类点( xi,yi )的增量分别是 αixiyiαiyi ,这里的 αi=niη 。(初次看到这里可能有些不是很理解,在这里,对于每个误分类点i,更新的次数不同,所以为 ni ,但是 η 是相对于整个算法而言的,只有一个)。最后w,b可以表示为:
w=i=1Nαiyixi(8)

b=i=1Nαiyi(9)

N表示误分类样本的数量, αi0 实例点更新次数越多,表示其离超平面越近,越难正确分类,换句话说,这样的实例对学习结果影响最大(这句话不是很理解原因)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值