感知机算法

感知机是二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别(取+1和-1二值)。感知机对应于输入空间(特征空间〉中将实例划分为正负两类的分离超平面,属于判别模型,感知机学习旨在求出将训练数据进行线性划分的分离超平面,为此,导入基于误分类的损失函数,利用梯度下降法对损失函数进行极小化,求得感知机模型。感知机1957年由Rosenblatt提出,是神经网络与支持向量机的基础。

感知机模型

感知机算法_第1张图片

感知机学习策略

假设训练数据集是线性可分的,感知机学习的目标是求得一个能够将训练集正实例点和负实例点完全正确分开的分离超平面。为了找出这样的超平面,即确定感知机模型参数w,b,需要确定一个学习策略,即定义(经验)损失函数并将损失函数极小化。损失函数是误分类点到超平面s的总距离。为此,首先写出输入空间R中任一点X0到超平面S的距离:
感知机算法_第2张图片这里||w||是w的向量2范数,1/||w||是一个常数,不会影响结果。所以在损失函数中可以去掉。显然,损失函数L( )是非负的.如果没有误分类点,损失函数值是0。而且,误分类点越少,误分类点离超平面越近,损失函数值就越小。

感知机学习算法

感知机学习问题转化为求解损失函数式的最优化问题,最优化的方法是随机梯度下降法。
具体来说,我们任意选取一个超平面,由参数w0,b0表示。然后我们对w,b求梯度,我们知道梯度代表了函数下降最快的方向,那么我们沿着这个方向下降一定的距离,就可以较快的接近函数的极小值。
感知机算法_第3张图片
感知机算法_第4张图片

感知机学习算法收敛性证明

感知机算法直观上有如下解释:当一个实例点被误分类,即位于分离超平面的错误一侧时,则调整w, b的值,使分离超平面向该误分类点的一侧移动,以减少该误分类点与超平面间的距离,直至超平面越过该误分类点使其被正确分类。
这里就产生了一个问题,会不会存在这样一种情况:假设一个分错的实例位于超平面的左侧,这时感知机算法会则调整w, b的值,使分离超平面向左侧移动。这时又有一个分错的实例位于分离超平面右侧,这时感知机算法则调整w, b的值,使超平面向右侧移动。这样反复拉扯,永远不结束。
这里我们可以通过数学证明,在经过有限步拉扯之后,超平面最终会停留在一个最合适的位置上。

你可能感兴趣的:(机器学习,决策树,算法,机器学习)