感知机

来源:互联网 发布:拍大师视频软件 编辑:程序博客网 时间:2024/05/01 18:06

摘自李航《统计学习方法》

概述

感知机(perceptron)是二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1和-1二值。感知机对应于输入空间(特征空间)中将实例划分为正负两类的分离超平面,属于判别模型。感知机学习旨在求出将训练数据进行线性划分的分离超平面,为此,导入基于误分类的损失函数,利用梯度下降法对损失函数进行极小化,求得感知机模型。感知机学习算法简单并且容易实现,分为原始形式和对偶形式。

感知机模型

f(x)=sign(wx+b)

sign是符号函数,即
sign(x)={+1,1,x0x<0

感知机学习策略

输入空间Rn中任一点x0到超平面S的距离:

1||w|||wx0+b|

这里,||w||wL2的范数。
对于误分类的数据(xi,yi)来说,
yi(wxi+b)>0

成立。因为当wxi+b>0时,yi=1,而当wxi+b<0时,yi=+1。因此,误分类点xi到超平面S的距离是
1||w||yi(wxi+b)

这样,假设超平面S的误分类点集合为M,那么所有误分类点到超平面S的总距离为
1||w||xiMyi(wxi+b)

不考虑1||w||,就得到了感知机学习的损失函数:
L(w,b)=xiMyi(wxi+b)

其中M为误分类点的集合,这个损失函数就是感知机学习的经验风险函数。
显然,损失函数是非负的。没有误分类点,那么损失函数为0。而且误分类点越少,误分类点离超平面越近,损失函数就越小。

感知机学习算法

原始形式

感知机学习算法可以转为求以下损失函数极小化问题的解

minw,bL(w,b)=xiMyi(wxi+b)

其中,M为误分类点的集合。
感知机学习算法是误分类驱动的。具体采用随机梯度下降法(stochastic gradient descent)。
步骤:
(1)选取初值w0,b0
(2)在训练集中选取数据(xi,yi)
(3)如果yi(wxi+b)0
ww+ηyixi

bb+ηyi

(4)转至(2),直至训练集中没有误分类点。
这种学习算法直观上有如下解释:当一个实例点被误分类,即位于分离超平面的错误一侧时,则调整w,b的值,使分离超平面向该误分类点的一侧移动,以减少该误分类点与超平面间的距离,直至超平面越过该误分类点使其被正确分离。
示例:
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
感知机学习算法存在许多解,这些解既依赖于初值的选择,也依赖于迭代过程中误分类点的选择顺序。为了得到唯一的超平面,需要对分离超平面增加约束条件,这就是支持向量机的想法。

对偶形式

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

0 0
原创粉丝点击