浅析感知机学习算法

小白学视觉

共 1834字,需浏览 4分钟

 ·

2021-10-22 07:13


点击上方小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

前言



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


目录


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)感知机算法可以写成对偶形式,所以也能通过核函数实现非线性分类。


下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲
小白学视觉公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲
小白学视觉公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群


欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~


浏览 17
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报