说明:本文从自己的理解出发来讲解感知器是如何训练的,如想知道比较学术的概念,请查阅相关论文。
1、什么是感知器
本文假设数据为:二维二类、线性可分
感知器就是一个分类器,如:给两类数据做训练集A,B,训练完成之后,给定一个测试数据,通过感知器,可以分成A或B。
因为数据是二维线性可分的,我们不妨假设该线性方程为w0*x0+w1*x1+w2 = 0
2、如何训练
训练的最终结果是训练集中A的结果在直线的一侧,假设经过过滤器后其值<0; B的结果在直线的另一侧经过过滤器后其值>0。
可以先给w=[w0,w1,w2]赋一个初始值如w=[1,1,1]。
如果训练集中的点x的标签为A,且带入线性方程后的值<0,则当前感知器对x点分类正确,不对w进行调整
如果训练集中的点x的标签为A,且带入线性方程后的值>=0,则当前感知器对x点分类不正确,对w进行调整。
本来应该<0,但结果>=0,所以