感知机模型
本内容为《统计学习方法》学习笔记,会不定时更新
感知机模型是一个非常简单的线性机器学习分类器,其定义为:
不过其有一个非常苛刻的前提——输入样本需要满足线性可分,亦即非线性可分的样本无法实现感知机分类任务。
给定一组样本 ,样本只有两个类型,正例记为,负例记为,感知机模型试图寻找一条超平面,将样本划分两个类。下面从学习策略、算法来描述感知机模型。
1、感知机学习策略
统计学习方法的策略即寻找一个损失函数进行建模。因为感知机的目标是将给定的样本划分为两个类,因此可以使用每个样本到超平面的距离作为度量标准。如果给定一个样本点 ,距离函数定义为。
如果假设样本被错误分类,可知感知机与实际类的值恰好相反,即,如果去掉符号函数来定量的描述错误样本与超平面的距离,则有。事实上,如果样本被正确的分类,我们大可不必要去度量它与超平面距离,所以感知机分类时,我们只关心那些错误分类的样本。自然,在初始化某一个时,感知机模型即可判断有多少样本点被错误分类,这些样本组成一个动态的集合。经验损失函数则为:
其中是二范式,一般来说,损失函数可去掉这个二范式,即
2、感知机算法
,采用随机梯度下降法,每次从集合中挑选一个样本来进行参数更新。算法为:
因为对于所有误分类的样本,损失函数是一个大于0的连续函数,即具有可微可导性质。对某一个样本产生的损失函数 对参数分别求导:
因此梯度下降更新公式,。由算法可知,当集合为空时,算法结束。
另外感知机的对偶形式如下所示:
另外,感知机是否可以来表示异或问题呢?先考虑一下异或关系:对于一个二元数,如果,则异或的结果为0,如果则异或的结果为1,因此以二元为例,其异或分别为0,1,1,0,可发现这四个点并不是线性可分的。