查看原文
其他

浅析感知机学习算法

石头 机器学习算法那些事 2019-04-22

前言

核函数和感知机学习算法是支持向量机的基础,支持向量机通过核函数进行非线性分类(参考《深入浅出核函数》),支持向量机也是感知机算法的延伸,本文介绍了感知机学习算法。

目录


1、感知机模型

2、感知机学习策略

3、感知机学习算法

4、总结


1.  感知机模型


感知机是二分类的线性分类模型,由输入特征 x 得到输出类别1或-1的映射函数:

称为感知机。其中w,b为感知机模型参数,w为超平面的法向量,b为超平面的截距若参数确定,则分类模型也相应确定。sign是符号函数,即:

对于新的输入特征 x,分类准则:



2.  感知机学习策略


1. 点到平面的距离

假设超平面方程为:

到超平面的距离d:


                 

2. 感知机学习策略

对于误分类数据满足如下不等式:

正确分类的数据无损失函数,所有误分类的数据点Mi到超平面的总距离为:

不考虑标准化范数就得到感知机学习的损失函数:


一般用当前样本估计损失函数称为经验风险函数,因此上式就是感知机学习的经验风险函数


3.  感知机学习算法


2.1式是训练样本的损失函数,显然,损失函数L(w,b)是非负的,在负分类时,损失函数L(w,b)是w,b的连续可导函数,正确分类时,损失函数是0,因此,2.1式是w,b的连续可导函数,可以放心大胆的用随机梯度下降算法来构建模型,梯度下降的方向是损失函数值减小最快的方向,当损失函数为0时,模型构建完成。本节介绍感知机学习算法的两种形式:原始形式和对偶形式。


1. 感知机学习算法的原始形式

损失函数L(w,b)的梯度:

随机(随机梯度下降法的定义)选取一个误分类点(xi,yi),对w,b进行更新:

因此,感知机学习算法原始形式的模型构建步骤:


注意:初始化参数w0,b0值不同或随机选取的误分类点不同,得到的最优模型参数也可能不同,因为满足感知机损失函数为0的模型不止一个


图解感知机学习算法的原始形式:

如下图,红色框为误分类点,l1为位分类直线,随机梯度下降法使l1直线顺时针旋转角度为l2直线,点到分类直线的距离逐渐减小直到被正确分类。


2. 感知机学习算法的对偶形式


思想:对于每一个误分类样本点(xi,yi),假设误分类点共迭代后,结果无误分类点,那么参数w,b就是对应的模型参数,,参数表示:


解法:用3.1式和3.2世代入上一节的w和b式子,其他步骤完全一样,即可解得参数。


同时,用3.1式和3.2式代入2.1式,可得感知机的对偶模式

发现亮点没?f(x)表达式包含了内积部分,所以尽情的用核函数吧!因此,感知机也能实现非线性分类


4.  总结


感知机算法有两个点需要引起重视:(1)感知机算法用点到平面的距离作为损失函数,稍微修改下就和支持向量机一样。(2)感知机算法可以写成对偶形式,所以也能通过核函数实现非线性分类。


参考

李航 《统计学习方法》

推荐阅读文章

深入浅出核函数

线性分类模型(一):线性判别模型分析


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存