感知机模型

本内容为《统计学习方法》学习笔记,会不定时更新


  感知机模型是一个非常简单的线性机器学习分类器,其定义为:

感知机模型_统计学习


不过其有一个非常苛刻的前提——输入样本需要满足线性可分,亦即非线性可分的样本无法实现感知机分类任务。

  给定一组样本 感知机模型_损失函数_02,样本只有两个类型,正例记为感知机模型_损失函数_03,负例记为感知机模型_统计学习_04,感知机模型试图寻找一条超平面,将样本感知机模型_感知机_05划分两个类。下面从学习策略、算法来描述感知机模型。

1、感知机学习策略

  统计学习方法的策略即寻找一个损失函数进行建模。因为感知机的目标是将给定的样本划分为两个类,因此可以使用每个样本到超平面的距离作为度量标准。如果给定一个样本点 感知机模型_感知机_06,距离函数定义为感知机模型_损失函数_07
  如果假设样本被错误分类,可知感知机感知机模型_统计学习_08与实际类感知机模型_感知机_09的值恰好相反,即感知机模型_感知机_10,如果去掉符号函数来定量的描述错误样本与超平面的距离,则有感知机模型_损失函数_11。事实上,如果样本被正确的分类,我们大可不必要去度量它与超平面距离,所以感知机分类时,我们只关心那些错误分类的样本。自然,在初始化某一个感知机模型_感知机_12时,感知机模型即可判断有多少样本点被错误分类,这些样本组成一个动态的集合感知机模型_感知机_13。经验损失函数则为:

感知机模型_损失函数_14

其中感知机模型_统计学习_15是二范式,一般来说,损失函数可去掉这个二范式,即 感知机模型_损失函数_16

2、感知机算法

感知机模型_感知机_13,采用随机梯度下降法,每次从集合中挑选一个样本来进行参数更新。算法为:

感知机模型_统计学习_18


  因为对于所有误分类的样本,损失函数是一个大于0的连续函数,即具有可微可导性质。对某一个样本产生的损失函数 感知机模型_感知机_19对参数感知机模型_统计学习_20分别求导:

感知机模型_感知机_21

感知机模型_损失函数_22

因此梯度下降更新公式感知机模型_损失函数_23感知机模型_统计学习_24。由算法可知,当集合感知机模型_感知机_13为空时,算法结束。

  另外感知机的对偶形式如下所示:

感知机模型_感知机_26


  另外,感知机是否可以来表示异或问题呢?先考虑一下异或关系:对于一个二元数感知机模型_统计学习_27,如果感知机模型_损失函数_28,则异或的结果为0,如果感知机模型_损失函数_29则异或的结果为1,因此以二元感知机模型_统计学习_30为例,其异或分别为0,1,1,0,可发现这四个点并不是线性可分的。