《统计学习方法》学习笔记(二):感知机

来源:互联网 发布:松下空调 知乎 编辑:程序博客网 时间:2024/05/01 04:43

  今天讲到的是机器学习经典算法中比较简单的一种——感知机(Perceptron),用于二值分类的线性模型,寻找输入空间中将实例划分为正负两类的分离超平面,属于判别模型。
  


根据三要素顺序介绍感知机:
  1、模型
  假设输入空间XRn,输出空间为yY={1,1}(刚刚接触机器学习发现此处为什么设置为-1和1,没有别的意思,就是区分两个不同的类而已,也可以改成别的两个不同的数),感知器模型:
                   f(x)=sign(wx+b)
感知机是线性分类模型,也是判别模型,故假设空间H中定义为输入空间中所有的线性模型,即{f|f(x)=wx+b}
  2、学习策略
  感知机是线性模型,要保证训练数据T线性可分,才能保证存在某个超平面S:wx+b=0成立。首先,确定一个经验损失函数,最小化损失函数来确定参数w,b,就能找到此超平面。
  输入空间中任意一点x0到超平面S的距离为:1w|wx+b|,对于误分类点(xi,yi),存在yi(wxi+b)>0,故误分类点xi距离超平面的距离是:1wyi(wxi+b),对所有误分类点有:1wxiMyi(wxi+b),由于w为定值,可得损失函数:
  L(w,b)=xiMyi(wxi+b)
学习策略即在假设空间H中选取损失函数最小的模型参数w,b
  3、算法
  对于求解感知机最小化损失函数,采用随机梯度下降法:
           目标函数:minw,bL(w,b)=xiMyi(wxi+b)    
M为误分类点集合
  分别对损失函数L(w,b)求参数w,b的梯度:
               w=xiMyixi    b=xiMyi
  随机选取一个误分点(xi,yi),对w,b进行更新:
                 ww+ηyixi      bb+ηyi   
其中η(0<η<=1)为步长,又叫做学习率(举个例子,你去目的地选择步行,高个子的人步子大,走的比矮个子步幅小的人要快一些)
  最后,停止的条件是什么呢?不可能一直这么走下去吧,算法的收敛性告诉我们需要进行多少次迭代可以得到将训练样本完全正确分开的分离超平面,本章进行了证明,Novikoff的两个条件就不在列出。
  感知机算是最简单的机器学习算法了,设计的知识非常基础,其中随机梯度下降法在以后的算法学习还会经常用到。
习题
  有正实例点x1=(3,3)T,x2=(4,3)T,负实例点为x3=(1,1)T,求解感知机模型。
  答案:f(x)=sign(x(1)+x(2)3)

0 0