干货|机器学习-感知机perceptron
什么是感知机
在机器学习中,感知机(perceptron)是二分类的线性分类模型,属于监督学习算法。输入为实例的特征向量,输出为实例的类别(取+1和-1)。感知机对应于输入空间中将实例划分为两类的分离超平面。感知机旨在求出该超平面,为求得超平面导入了基于误分类的损失函数,利用梯度下降法 对损失函数进行最优化(最优化)。感知机的学习算法具有简单而易于实现的优点,分为原始形式和对偶形式。感知机预测是用学习得到的感知机模型对新的实例进行预测的,因此属于判别模型。感知机由Rosenblatt于1957年提出的,是神经网络和支持向量机的基础。
定义

称为感知机。其中,参数w叫做权值向量weight,b称为偏置bias。w⋅x表示w和x的点积



学习策略

如果训练集是可分的,感知机的学习目的是求得一个能将训练集正实例点和负实例点完全分开的分离超平面。为了找到这样一个平面(或超平面),即确定感知机模型参数w和b,我们采用的是损失函数,同时并将损失函数极小化。
对于损失函数的选择,我们采用的是误分类点到超平面的距离(可以自己推算一下,这里采用的是几何间距,就是点到直线的距离):

对于误分类点(xi,yi)来说:





其中M为误分类的集合。这个损失函数就是感知机学习的经验风险函数。
可以看出,随时函数L(w,b)是非负的。如果没有误分类点,则损失函数的值为0,而且误分类点越少,误分类点距离超平面就越近,损失函数值就越小。同时,损失函数L(w,b)是连续可导函数。
学习算法




其中η是步长,大于0小于1,在统计学习中称之为学习率(learning rate)。这样,通过迭代可以期待损失函数L(w,b)不断减小,直至为0.
下面给出一个感知器学习的图,比较形象:

算法描述如下:
算法:感知机学习算法原始形式

解释:当一个实例点被误分类时,调整w,b,使分离超平面向该误分类点的一侧移动,以减少该误分类点与超平面的距离,直至超越该点被正确分类。伪代码描述:

对于每个w⋅x其实是这样子的(假设x表示的是七维):

对于输入的每个特征都附加一个权值,然后将相加得到一个和函数f,最后该函数的输出即为输出的y值。
实例


解答思路:根据上面讲解的,写初始化权值w和偏置b,然后一步一步的更新权值,直到所有的点都分正确为止。
解:(1) 令w0=0,b0=0
(2) 随机的取一个点,如x1,计算y1(w0⋅x1+b0),结果为0,表示未被正确分类,根据下面的式子更新w,b(此例中,我们将学习率η设置为1):


最后求得

所以感知机模型为:

即我们所求的感知机模型。
小结

好吧,对于感知机的介绍,就到此为止!在复习的过程中顺便做下笔记,搜搜资料,整理整理,也算是给自己一个交代吧。希望本文章能对大家能有点帮助。
References
[1] 统计学习方法, 李航 着
[2] Wikiwand之Perceptron https://www.wikiwand.com/en/Perceptron
[3] Wikipedia https://en.wikipedia.org/wiki/Machine_learning
原文链接:https://blog.csdn.net/dream_angel_z/article/details/48915561
相关文章链接:https://www.52ml.net/15104.html
本文来源于"中国人工智能学会",原文发表时间" 2016-09-08"
最后更新:2017-05-24 17:32:19