感知器、感知器对偶形式(含作业)||《统计学习方法》李航_第1章_蓝皮(学习笔记)

本文主要是介绍感知器、感知器对偶形式(含作业)||《统计学习方法》李航_第1章_蓝皮(学习笔记),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第2章 感知机学习算法

  • 感知器
    • 原始版算法(含作业)
    • 对偶形式
      • 对偶形式算法

依旧只记录重要的

感知器

感知器是神经网络和SVM的基础。

原始版算法(含作业)

先记录一下优化函数:
min ⁡ w , b − ∑ x i ∈ M y i ( w ⋅ x i + b ) \min \limits_{w,b}-\sum\limits_{x_{i\in M}}{y_i(w·x_i+b)} w,bminxiMyi(wxi+b)
优化算法是随机梯度下降法(SGD):每次只用一个样本来跟新 w , b w,b w,b
具体算法:在这里插入图片描述
重点:该算法是当训练集中没有误分类点时结束。
结论:作业在这里根据我做的实验 Matlab感知器实现可知

  • 算法中 w , b w,b w,b初始化以及样本顺序会影响网络收敛速度
  • 算法结果不唯一
  • 较优的超平面可以通过平均法来求得
  • 离群点会影响感知器的性能,也就是说,当数据线性可分时,感知器表现较好,反之,则不然。

对偶形式

感知器的对偶形式是:将 w , b w,b w,b表示成 x i , y i x_i,y_i xi,yi的线性组合,再求解系数,进而求得 w , b w,b w,b
在这里插入图片描述
重点:对于梯度,会因为 x i x_i xi而修改 n i n_i ni次,所以 n i n_i ni是针对不同样本而不同的。 n i n_i ni越大,说明超平面因这个 x i x_i xi修改的次数越多,说明这个 x i x_i xi越难分类。

对偶形式算法

在这里插入图片描述
确实感觉 w , b w,b w,b就是所有样本的线性组合。。


看"对偶形式"那里,不懂为什么要弄个对偶形式出来。查了资料,

每一个线性规划问题都伴随有另一个线性规划问题,称为对偶问题.原来的线性规划问题则称为原始线性规划问题,简称原始问题.对偶问题有许多重要的特征,它的变量能提供关于原始问题最优解的许多重要资料,有助于原始问题的求解和分析.对偶问题与原始问题之间存在着下列关系:
①目标函数对原始问题是极大化,对对偶问题则是极小化.
②原始问题目标函数中的收益系数是对偶问题约束不等式中的右端常数,而原始问题约束不等式中的右端常数则是对偶问题中目标函数的收益系数.
③原始问题和对偶问题的约束不等式的符号方向相反.
④原始问题约束不等式系数矩阵转置后即为对偶问题的约束不等式的系数矩阵.
⑤原始问题的约束方程数对应于对偶问题的变量数,而原始问题的变量数对应于对偶问题的约束方程数.
⑥对偶问题的对偶问题是原始问题,这一性质被称为原始和对偶问题的对称性.
支持向量机的二次规划问题,如果转化为对偶问题,会将其求解问题简化.简化的道理,通过对偶理论就可以知道.例如,支持向量机的最大化分类间隔,可以通过对偶问题转为min形式.
总之,对偶形式有很多的优点,利于计算,方便推导等等.

总的来说,是为了简化问题,方便求解的。(具体可能要参考凸优化,#TODO)
《统计学习方法》第1版的参考附录C就写了对偶问题以及解决方法。。看到第6章才看到。。

这篇关于感知器、感知器对偶形式(含作业)||《统计学习方法》李航_第1章_蓝皮(学习笔记)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/168513

相关文章

Nginx 413修改上传文件大小限制的方法详解

《Nginx413修改上传文件大小限制的方法详解》在使用Nginx作为Web服务器时,有时会遇到客户端尝试上传大文件时返回​​413RequestEntityTooLarge​​... 目录1. 理解 ​​413 Request Entity Too Large​​ 错误2. 修改 Nginx 配置2.1

使用@Cacheable注解Redis时Redis宕机或其他原因连不上继续调用原方法的解决方案

《使用@Cacheable注解Redis时Redis宕机或其他原因连不上继续调用原方法的解决方案》在SpringBoot应用中,我们经常使用​​@Cacheable​​注解来缓存数据,以提高应用的性能... 目录@Cacheable注解Redis时,Redis宕机或其他原因连不上,继续调用原方法的解决方案1

sql语句字段截取方法

《sql语句字段截取方法》在MySQL中,使用SUBSTRING函数可以实现字段截取,下面给大家分享sql语句字段截取方法,感兴趣的朋友一起看看吧... 目录sql语句字段截取sql 截取表中指定字段sql语句字段截取1、在mysql中,使用SUBSTRING函数可以实现字段截取。例如,要截取一个字符串字

JAVA数组中五种常见排序方法整理汇总

《JAVA数组中五种常见排序方法整理汇总》本文给大家分享五种常用的Java数组排序方法整理,每种方法结合示例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录前言:法一:Arrays.sort()法二:冒泡排序法三:选择排序法四:反转排序法五:直接插入排序前言:几种常用的Java数组排序

Python将字符串转换为小写字母的几种常用方法

《Python将字符串转换为小写字母的几种常用方法》:本文主要介绍Python中将字符串大写字母转小写的四种方法:lower()方法简洁高效,手动ASCII转换灵活可控,str.translate... 目录一、使用内置方法 lower()(最简单)二、手动遍历 + ASCII 码转换三、使用 str.tr

Python处理超大规模数据的4大方法详解

《Python处理超大规模数据的4大方法详解》在数据的奇妙世界里,数据量就像滚雪球一样,越变越大,从最初的GB级别的小数据堆,逐渐演变成TB级别的数据大山,所以本文我们就来看看Python处理... 目录1. Mars:数据处理界的 “变形金刚”2. Dask:分布式计算的 “指挥家”3. CuPy:GPU

Java中的StringUtils.isBlank()方法解读

《Java中的StringUtils.isBlank()方法解读》:本文主要介绍Java中的StringUtils.isBlank()方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录所在库及依赖引入方法签名方法功能示例代码代码解释与其他方法的对比总结StringUtils.isBl

CentOS7增加Swap空间的两种方法

《CentOS7增加Swap空间的两种方法》当服务器物理内存不足时,增加Swap空间可以作为虚拟内存使用,帮助系统处理内存压力,本文给大家介绍了CentOS7增加Swap空间的两种方法:创建新的Swa... 目录在Centos 7上增加Swap空间的方法方法一:创建新的Swap文件(推荐)方法二:调整Sww

QT6中绘制UI的两种方法详解与示例代码

《QT6中绘制UI的两种方法详解与示例代码》Qt6提供了两种主要的UI绘制技术:​​QML(QtMeta-ObjectLanguage)​​和​​C++Widgets​​,这两种技术各有优势,适用于不... 目录一、QML 技术详解1.1 QML 简介1.2 QML 的核心概念1.3 QML 示例:简单按钮

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示