感知机模型

参考:
http://blog.csdn.net/dream_angel_z/article/details/48915561
http://mp.weixin.qq.com/s/2QHG0D1j0hQyErYg7Cp53w

感知机模型是理解SVM和神经网络的基础。在这里我们可以从感知机模型上看到神经网络的影子,通过简单的堆叠就可以成为MLP(神经网络的一种),在损失函数上看到SVM的影子。

感知机 定义

那到底什么是感知机呢?
定义:在机器学习中,感知机(perceptron)是二分类的线性分类模型,属于监督学习算法。输入为实例的特征向量,输出为实例的类别(取+1和-1)。
从数学角度来讲,形如f(x) = sign(W.X+b),我们就称之为感知机模型。这里sign是符号函数,W.X表示W向量和X向量的点积,即这里写图片描述
这里写图片描述
这里需要说明的sign是个阶跃函数,它不光滑且不可导。

感知机目的

我们的感知机模型其实就是在学习这样一个最佳的超平面W.X+b=0,能够在二分类问题中把正负样本正确分开。也就是得到参数W和b,问题就求解了。但是如何得到W和b的值呢?
有过机器学习基础的同学都知道,在机器学习领域往往对损失函数使用梯度下降算法来更新参数。所以现在的关键是感知机的损失函数是什么?知道了损失函数,我们就可以对损失函数求偏导然后基于梯度下降来更新参数,就可以找到w,b的最优值。

损失函数

注意到,感知机对应的超平面为W.X+b=0,那么
正样本 <==> W.X+b>0
负样本<==>W.X+b <0
但是仅凭这一个公式是无法区分分类的正确性的,上面的公式只表明了点在超平面的上方还是下方,并未指出分类结果的正确与否。但是当我们在判断条件中加入标签yi,就可以对分类结果做出正确的指示了。
如分类正确时:
正样本 yi=1 并且W.X+b >0
负样本 yi=-1 并且W.X+b<0
我们可以看出yi (W.X+b)>0
分类错误:
正样本被错分为负样本,yi=1,W.X+b<0
负样本被错分为正样本,yi=-1,W.X+b>0
此时yi(W.X+b)<0;
另外我们知道,梯度的更新是以有误差存在的前提下才能运作的,当正确分类时,因为误差为0,所以是不会贡献梯度的。因为正确分类的点及其“周围”使得损失函数为常数0,从而梯度也为0。
这里也就是说只有分类错误的点才会贡献梯度,对损失函数有用。使得梯度下降朝着减小损失函数值的方向努力。
所以我们可以定义损失函数为这里写图片描述
这里(xi,yi)为样本,M是分类错误样本的集合,加符号是为了使损失函数值非负。

梯度下降求解

此时,我们将感知机学习转变成求解损失函数L(w,b)的最优化问题。最优化的方法是随机梯度下降法(stochastic gradient descent)。求解的公式如下:
感知机模型_第1张图片
更新规则就是:
感知机模型_第2张图片
其中参数η是learning rate (学习速率)。

感知机算法原始形式

感知机模型_第3张图片

你可能感兴趣的:(神经网络,机器学习)