您的位置:首页 > 其它

感知机模型

2017-01-10 17:47 309 查看
4000


一、什么是感知机

感知机1957年由Rosenblatt提出,是神经网络与支持向量机的基础。感知机是二类分类的线性分类模型,其输入实例为实例的特征向量,输出为实例的类别,取+1和-1二值。

二 感知机模型


定义

假设输入空间是

,输出空间是

,x和y分属这两个空间,那么由输入空间到输出空间的如下函数:



称为感知机。其中,w和b称为感知机模型参数,

叫做权值或权值向量,

叫做偏置,w·x表示向量w和x的内积。sign是一个函数:



感知机的几何解释是,线性方程



将特征空间划分为正负两个部分:



这个平面(2维时退化为直线)称为分离超平面。


感知机学习策略

数据集的线性可分性


定义

给定数据集



其中

如果存在某个超平面S



能够完全正确地将正负实例点全部分割开来,则称T线性可分,否则称T线性不可分。


感知机学习策略

假定数据集线性可分,我们希望找到一个合理的损失函数。

一个朴素的想法是采用误分类点的总数,但是这样的损失函数不是参数w,b的连续可导函数,不可导自然不能把握函数的变化,也就不易优化(不知道什么时候该终止训练,或终止的时机不是最优的)。

另一个想法是选择所有误分类点到超平面S的总距离。为此,先定义点x0到平面S的距离:



分母

是w的L2范数,所谓L2范数,指的是向量各元素的平方和然后求平方根(长度)。这个式子很好理解,回忆中学学过的点到平面的距离:



此处的点到超平面S的距离的几何意义就是上述距离在多维空间的推广。因为在正确分类的情况下,对所有yi=+1的实例i,有wxi+b>0,而对所有yi=-1的实例i,有wxi+b<0,如果i被错误分类,yi正好相反,仔细理解这句话。所以对于误分类的数据一定有:



成立,所以我们去掉了绝对值符号,得到误分类点到超平面S的距离公式:



假设所有误分类点构成集合M,那么所有误分类点到超平面S的总距离为



分母作用不大,反正一定是正的,不考虑分母,就得到了感知机学习的损失函数:




感知机学习算法


原始形式

感知机学习算法是对以下最优化问题的算法:



感知机学习算法是误分类驱动的,先随机选取一个超平面,然后用梯度下降法不断极小化上述损失函数。损失函数的梯度由:

求偏导:


给出。所谓梯度,是一个向量,指向的是标量场增长最快的方向,长度是最大变化率。所谓标量场,指的是空间中任意一个点的属性都可以用一个标量表示的场(个人理解该标量为函数的输出)

随机选一个误分类点i,对参数w,b进行更新:



在此处我们会有疑问:

问题一、怎么理解
A = ▽

L(w,b) 这个偏导数,以及为什么偏导算出的明明是累加

,但是到了算法当中就变成了与单个

相加了,即变成下面的方式了?






上式

是学习率。损失函数的参数加上梯度上升的反方向,于是就梯度下降了。所以,上述迭代可以使损失函数不断减小,直到为0。于是得到了原始形式的感知机学习算法:




算法的收敛性

记输入向量加进常数1的拓充形式

,其最大长度为

,记感知机的参数向量

,设满足条件

的超平面可以将数据集完全正确地分类,定义最小值伽马:



则误分类次数k满足:



证明请参考《统计学习方法》P31。


感知机学习算法的对偶形式

对偶指的是,将w和b表示为测试数据i的线性组合形式,通过求解系数得到w和b。具体说来,如果对误分类点i逐步修改wb修改了n次,则w,b关于i的增量分别为

,这里

,则最终求解到的参数分别表示为:



于是有算法2.2:



首先,咱们了解一下对偶】的定义是什么,简单的说,就是从一个不同的角度去解答相似问题,但是问题的解是相通的,甚至是一样一样的。ok,这个很简单,定义咱们就不深究了。

问题二、是什么东东,意义何在?数据量有限的情况下如何继续学习的更好?






文章是自己学习的笔记,综合自互联网,如有侵权,请联系博主。

三、参考文献

1、http://www.hankcs.com/ml/the-perceptron.html
2.https://www.zhihu.com/question/26526858
3.《统计学习方法》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: