统计机器学习第二章 感知机

对于线性方程w*x+b = 0

对应于空间的一个超平面S,其中w是超平面的法向量,b是超平面的截距。超平面将空间划分为两个部分,位于平面两边的点分属于正负两类。

前提:数据线性可分,可以找的一个超平面S,w*x+b = 0,能够将数据完整划分开。

输入:{(x1,y1),(x2,y2),..(xN,yN),},其中yi={-1,1}

输出:w和b。

算法的原始形式:

  1. 选取初始值w0和b0
  2. 在数据集中选择数据 (xi,yi)
  3. 如果yi(wix+b)<=0, w←w+ηyixi  b←b+ηyi
  4. 转到步骤2直到没有误分类点

经过有限次搜索可以找到这个分类面,不唯一,与初值选择,误分类点的选择顺序等有关。

感知机对偶,

对原始形式做变形,

w = η(y1x1+y2x2+  +yixi) ,假设ni 是这些数据点第i个点在训练过程中被误分类的总次数,则有

w=∑niηyixi

如果令ai=niη,则有w=∑aiyixi,同理b=∑aiyi

算法的对偶形式:

取 a = (a1,a2,  aN)T

  1. 选取初始值a=0和b=0
  2. 在数据集中选择数据 (xi,yi)
  3. 如果yi∑(ajxj*xi+b)<=0, ai←aii  b←b+ηyi
  4. 转到步骤2直到没有误分类点
  5. 最后学习w和b可以表示为:w=∑aiyixi,b=∑aiyi

提前计算gram矩阵,降低运算量。

posted on 2019-01-31 13:09  lancet1105  阅读(168)  评论(0编辑  收藏  举报

导航