Perceptron(感知机)

来源:互联网 发布:wiki.apache.org 编辑:程序博客网 时间:2024/05/19 13:09

感知机原理:

这里写图片描述

为了使线性回归能用于分类,引入了logistic函数映射成比率来进行分类。但是从人的直观视角来看,对于如上图所示的点,能否在空间中直接就找到一条分割线呢?感知机学习的目标就是求得一个能够将训练数据集中正负实例完全分开的分类超平面。那么如何找这个超平面?

这里写图片描述

首先可以得出感知机的模型:

f(x)=sign(Wx+b)
其中sign函数为:
sign(x)=+1,1,x0x<0

wx+b预测出的值的正例与反例,即可得到初步分割,将空间花费为两部分。

这里写图片描述

然后从机器学习的老套路来看,我们肯定需要一个损失函数,所以自然可以定义出损失函数的策略:误分类点到分隔超平面的总距离
点到平面的几何距离为:

|wxi+b|||w||
其中||w||是L2范数,如果该点被误分:
yi(wxi+b)||w||

最终可得M个被误分点总的损失函数为:
J(w,b)=xiMyi(wxi+b
接下来就是对这个函数进行梯度下降求解了。

迭代的次数会不会很多?对偶优化问题
可以想到没有被误分的点参与迭代调整次数为0,而对于多次被误分的点就会参与多次的迭代,为了节省时间,将采用它的对偶形式来进行优化。即将w 和 b 表示为 xi和 yi的线性组合的形式来求解,计算时的样本内积形成的Gram矩阵将大大提高速度:
此时函数变为:

f(x)=sign(j=1Nαiyixjxi+b)
是否误分类的判断条件变为:
yi(j=1Nαiyixjxi+b)0

其他的就没什么的,不过值得注意的是感知机面向的特征空间必须是得线性可分的,而且满足条件的分割线会有多个。由此得来神经网络和支持向量机。

原创粉丝点击