热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

李航《统计学习方法》第二版第2章感知机浅见

李航《统计学习方法》第二版-第2章感知机浅见2.1感知机模型2.2感知机学习策略2.3感知机学习方法总结2.1感知机模型感知机是二分类线性模型,输入为实例的特征向量

李航《统计学习方法》第二版-第2章 感知机 浅见

  • 2.1 感知机模型
  • 2.2 感知机学习策略
  • 2.3 感知机学习方法
    • 总结


2.1 感知机模型

感知机是二分类线性模型,输入为实例的特征向量,输出为类别,-1和1。

目的是求出将数据分离的超平面,基于误分类的损失函数,用梯度下降法进行最小化,求得感知机模型。

感知机的定义简单就是输入空间X,输出Y={1,-1}。即:
f(x)=sign(w⋅x+b)f(x)=sign(w\cdot x+b)f(x)=sign(wx+b)
w叫权重,就是影响程度,b叫偏置,就是修正偏差用的。其实后面更新的就这两个参数,w就是斜率,旋转多少,w就是平移多少,sign是符号函数,即:
sign(x)&#61;{&#43;1,x≥0−1,<0sign(x)&#61;\left\{ \begin{aligned} &&#43;1,x \geq 0 \\ &-1 ,<0 \\ \end{aligned} \right.sign(x)&#61;{&#43;1,x01,<0

线性方程 w⋅x&#43;b&#61;0w\cdot x&#43;b&#61;0wx&#43;b&#61;0对应于特征空间的一个超平面&#xff0c;w是法向量&#xff0c;b是截距。二维就是一条线将样本分成两类&#xff0c;三维空间就是一个平面分割成两部分。简单可以如图所示&#xff1a;
在这里插入图片描述

2.2 感知机学习策略

我们应该选择怎么样的感知机呢&#xff0c;就是要定个损失函数。我们当然希望能够分清所有的样本&#xff0c;没有偏差&#xff0c;所以损失函数可以定义成有偏差&#xff0c;就是某个样本到超平面的距离&#xff0c;首先要先选出分类分错的样本&#xff0c;即做(xi,yi)(x_i,y_i)(xi,yi)&#xff0c;则分错就是真实的类别和错分的类别相反了&#xff0c;也就是相乘是<0。所以可以是这样:
−yi(w⋅xi&#43;b)>0-y_i(w\cdot x_i&#43;b)>0yi(wxi&#43;b)>0
即真实的和预测的结果异号。因此到超平面的距离是&#xff1a;−1∣∣w∣∣yi(w⋅xi&#43;b)-{\frac {1} {||w||}y_i(w\cdot x_i&#43;b)}w1yi(wxi&#43;b)

这样所有分类错的点的集合设为M&#xff0c;到超平面的总距离为:−1∣∣w∣∣∑xi∈Myi(w⋅xi&#43;b)-\frac{1}{||w||} \sum_{x_i \in M} y_i(w\cdot x_i&#43;b)w1xiMyi(wxi&#43;b)

不考虑1∣∣w∣∣\frac {1} {||w||}w1,这个是常数&#xff0c;就得可以得到感知机学习的损失函数。

对于给定训练集T&#61;(x1,y1),(x2,y2),...,(xN,yN)T&#61;{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)}T&#61;(x1,y1),(x2,y2),...,(xN,yN)
其中xi∈X&#61;Rnx_i \in X&#61;R^nxiX&#61;Rn,yi∈Y&#61;{1,−1}y_i\in Y&#61;\{1,-1\}yiY&#61;{1,1}&#xff0c;i&#61;1,2,..,Ni&#61;1,2,..,Ni&#61;1,2,..,N。则损失函数定义为:
L(w,b)&#61;−∑xi∈Myi(w⋅xi&#43;b)L(w,b)&#61;- \sum_{x_i \in M} y_i(w\cdot x_i&#43;b)L(w,b)&#61;xiMyi(wxi&#43;b)
其中M为分类错误点的集合。

2.3 感知机学习方法

当然采用梯度下降法啦&#xff0c;而且是随机梯度下降法&#xff0c;每次随机选一个错分类的点来进行梯度下降&#xff0c;损失函数的梯度由:
∇wL(w,b)&#61;−∑xi∈Myixi\nabla_wL(w,b)&#61;-\sum_{x_i \in M} y_ix_iwL(w,b)&#61;xiMyixi
∇bL(w,b)&#61;−∑xi∈Myi\nabla_bL(w,b)&#61;-\sum_{x_i \in M} y_ibL(w,b)&#61;xiMyi
给出。

随机选取一个错分类点(xi,yi)(x_i,y_i)(xi,yi),对w&#xff0c;b进行更新&#xff1a;
w←w&#43;ηyixiw \leftarrow w&#43;\eta y_ix_iww&#43;ηyixi
b←b&#43;ηyib \leftarrow b&#43;\eta y_ibb&#43;ηyi

其中η\etaη是步长&#xff0c;也就是学习率&#xff0c;这样就不断的进行&#xff0c;使得最后损失函数不断减小&#xff0c;直到为0。

基本算法就是:
1.选取初值w0,b0w_0,b_0w0,b0;
2.在训练集上选取数据(xi,yi)(x_i,y_i)(xi,yi);
3.如果1∣∣w∣∣yi(w⋅xi&#43;b)≤0{\frac {1} {||w||}y_i(w\cdot x_i&#43;b)} \leq0w1yi(wxi&#43;b)0,
w←w&#43;ηyixiw \leftarrow w&#43;\eta y_ix_iww&#43;ηyixi
b←b&#43;ηyib \leftarrow b&#43;\eta y_ibb&#43;ηyi
4.转至2&#xff0c;直至训练集中没有错分类的.

很容易理解&#xff0c;就不多说了。做实验会发现&#xff0c;采取不同的初值或者选取不同的错分类点&#xff0c;解可以不同&#xff0c;并且该算法也右收敛性的理论证明&#xff0c;具体可以去看书&#xff0c;我就不写了&#xff0c;因为写了大多人也不会看的哈哈。

还有中算法就是叫对偶形式&#xff0c;名字比较奇怪&#xff0c;其实因为是收敛的&#xff0c;那必定是有限次更新可以完成&#xff0c;所以可以写出训练集之间内积的形式&#xff0c;而且内积可以服用&#xff0c;存在一个矩阵里&#xff0c;其他原理和上面的算法一样。

总结

感知就模型就是二分类的线性模型&#xff0c;利用梯度下降法将错分类降到最低。

好了&#xff0c;今天就到这里了&#xff0c;希望对学习理解有帮助&#xff0c;大神看见勿喷&#xff0c;仅为自己的学习理解&#xff0c;能力有限&#xff0c;请多包涵&#xff0c;部分图片来自网络,侵删。


推荐阅读
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 生成对抗式网络GAN及其衍生CGAN、DCGAN、WGAN、LSGAN、BEGAN介绍
    一、GAN原理介绍学习GAN的第一篇论文当然由是IanGoodfellow于2014年发表的GenerativeAdversarialNetworks(论文下载链接arxiv:[h ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 2020年第十一届蓝桥杯决赛JAVA B G题“皮亚诺曲线距离“的个人题解目录
    本文是2020年第十一届蓝桥杯决赛JAVA B G题“皮亚诺曲线距离“的个人题解目录。文章介绍了皮亚诺曲线的概念和特点,并提供了计算皮亚诺曲线上两点距离的方法。通过给定的两个点的坐标,可以计算出它们之间沿着皮亚诺曲线走的最短距离。本文还提供了个人题解的目录,供读者参考。 ... [详细]
  • 也就是|小窗_卷积的特征提取与参数计算
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了卷积的特征提取与参数计算相关的知识,希望对你有一定的参考价值。Dense和Conv2D根本区别在于,Den ... [详细]
  • 计算成像的原理与应用研究
    本文探讨了计算成像的原理与应用研究。首先介绍了小孔成像实验和软件方面的相关内容。随后从傅里叶光学的角度简单谈了成像的过程。成像是观测样品分布的一种方法,通过成像系统接收光的强度来呈现图像。视网膜作为接收端接收到的图像实际上是由像元组成的矩阵,每个元素代表相应位置像元接收光的强度。大脑通过对图像的分析,得出一系列信息,如识别物体、判断距离等。计算成像是一种采集记录系统,通过处理数据得到样品分布与像的对应关系,用于后续问题的分析。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • JVM 学习总结(三)——对象存活判定算法的两种实现
    本文介绍了垃圾收集器在回收堆内存前确定对象存活的两种算法:引用计数算法和可达性分析算法。引用计数算法通过计数器判定对象是否存活,虽然简单高效,但无法解决循环引用的问题;可达性分析算法通过判断对象是否可达来确定存活对象,是主流的Java虚拟机内存管理算法。 ... [详细]
author-avatar
fjfzfisher
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有