【机器学习chp7】SVM

参考1,笔记

SVM笔记.pdf

参考2:王木头视频

什么是SVM,如何理解软间隔?什么是合叶损失函数、铰链损失函数?SVM与感知机横向对比,挖掘机器学习本质_哔哩哔哩_bilibili

目录

一、SVM模型

二、构建决策函数

三、Lagrange对偶

四、软间隔

五、合页损失(只有软间隔的情况下才有损失函数)

六、软间隔下的Lagrange对偶问题

七、核函数相关

八、SVM与其他机器学习模型的联系——分析机器学习的本质


一、SVM模型

        SVM基本模型是一个线性模型,即 W^{T}X+b=0 ,该模型对所有样本进行一个度量,得到所有度量值。

二、构建决策函数

接下来就是构建损失函数,为这个度量赋予意义,对度量值乘上 \frac{1}{||w||_{2}} ,得到 \frac{1}{||w||_{2}}f_{\theta}^{[G]}(\tilde{X}) ,它表示样本点到决策面的几何距离。所以训练模型的过程就是让这个距离最大,同时满足条件\tilde{Y}f_{\theta}^{[G]}(\tilde{X})\geqslant 0

        对于 \frac{1}{||w||_{2}}f_{\theta}^{[G]}(\tilde{X_{i}}) 表示样本点到决策面的几何距离,即 \frac{1}{||w||_{2}}(W^{T}\tilde{X_{i}}+b) ,由于对于决策面W^{T}X+b=0,将参数 W 和 b 扩大 a 倍,决策面不会变,样本点到决策面的几何距离 \frac{1}{||w||_{2}}(W^{T}\tilde{X_{i}}+b)也不会变,那就将参数 W 和 b 扩大 a_{0} 倍,使得模型对样本点的度量 (W^{T}\tilde{X_{i}}+b) 的最小值等于1或-1,这样,距离就变成了 \frac{1}{||w||_{2}} ,这个距离就只有 w 来控制,但这个 w 受到一个约束 (W^{T}\tilde{X_{i}}+b)\geqslant 1,即目的是最大化\frac{1}{||w||_{2}},等价于最小化{||w||_{2}}

三、Lagrange对偶

        上面的损失函数为解决{||w||_{2}},为简便可写为 \frac{1}{2}{||w||_{2}},同时 w 受到一个约束 (W^{T}\tilde{X_{i}}+b)\geqslant 1.

即优化问题

                        ​​​​​​​        ​​​​​​​        ​​​​​​​             min\ \ \frac{1}{2}{||w||_{2}}\\s.t\ \ \ \ 1-(W^{T}\tilde{X_{i}}+b) \leqslant 0

        注意,这个约束函数看似对于所有的样本都起作用,但这个约束实际上只对约束条件等0的少部分点起作用,因为一部分约束等式等0其他就一定小于0,约束失效。

        从Lagrange问题来说,这个为互补松弛性。

原问题的对偶函数为

        ​​​​​​​        ​​​​​​​        L(W, b, \lambda) = \frac{1}{2} W^T W + \sum_{i=1}^N \lambda_i \left( 1 - y^{(i)} (W^T x^{(i)} + b) \right)

四、软间隔

对于线性不可分问题,引入软间隔。

相应的优化问题为

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        min\ \ \frac{1}{2}{||w||_{2}}+\sum_{i=1}^{N}\xi _{i}\\s.t\ \ \ \ 1-(W^{T}\tilde{X_{i}}+b) \leqslant\xi _{i}

                                                                   \xi _{i}\geqslant 0

五、合页损失(只有软间隔的情况下才有损失函数)

上面的优化问题为

        ​​​​​​​        ​​​​​​​          \min \frac{1}{2} W^T W + C \cdot \sum_{i=1}^N \left[ 1 - y^{(i)} (W^T x^{(i)} + b) \right]_+

调换一下顺序为

        ​​​​​​​        ​​​​​​​        \min \sum_{i=1}^N \left[ 1 - y^{(i)} (W^T x^{(i)} + b) \right]_++\lambda \cdot \frac{1}{2} W^T W

第一项称为经验损失项,第二项称为正则化项。

六、软间隔下的Lagrange对偶问题

优化问题为

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​         min\ \ \frac{1}{2}{||w||_{2}}+\sum_{i=1}^{N}\xi _{i}\\s.t\ \ \ \ 1-(W^{T}\tilde{X_{i}}+b) \leqslant\xi _{i}

                                                            \xi _{i}\geqslant 0

Lagrange对偶问题为

对 \alpha 的求解要用坐标轴上升法。

七、核函数相关

八、SVM与其他机器学习模型的联系——分析机器学习的本质

1、根本目标

        对于二分问题,假设存在一个上帝目标函数  T(X)=\left\{\begin{matrix} 1\\ -1 \end{matrix}\right. ,它的分类结果是完全正确的,只要给出数据,他就能正确地分出是哪一类。而机器学习的目的,是在万千的可能性中去寻找一个函数G(X)=\left\{\begin{matrix} 1\\ -1 \end{matrix}\right.,这个函数也能对X进行判断,且要让它与上帝目标函数尽可能一致,但有一个迈不过去的鸿沟,就是就是对G(X)的训练是在训练集上的,在全集上无法做到它的能力达到T(X)

        T(X) 和 G(X)的功能是对于所有的输入,得到的结果要么是1,要么是-1,这样的函数可以分为两个函数的结合,即一个是模型函数f_{\theta }(X),另一个是决策函数d_{\theta }(x),所有的样本带入到模型函数中,都可以得到一个确定的数值,然后将这个数值带入到决策函数中,判断样本是属于哪一类。

模型函数示例:

        线性模型:f(X) = W^T X + b

        非线性模型:f(X) = a_1 X^2 + a_2 X + b

决策函数示例:

        线性形式:d_{W, b}(X) = \text{sign}(W^T X + b^*)

        核形式:d_{W, b}(X) = \text{sign}\left(\sum_{i=1}^N a_{i}^{*} y_i K(x, x_i) + b^*\right)

然后要比较T(X) 和 G(X),决策函数部分不用比较,只需比较模型函数部分即可,比较模型是否一样的方法是什么呢?就是损失函数 J(\tilde{X}) ,(\tilde{X}表示训练集中的样本)。

所以机器学习问题就可以分为两部分:

(1)上帝目标函数和学习的目标函数有同样的结构,结构是模型函数和决策函数。

(2)为了让学习的模型函数与上帝函数的模型函数解决,需要损失函数和最优化损失函数的算法。损失函数就是挑选的策略,即挑选两个模型之间差异的策略。



一些资料上说,机器学习分为三部分:模型、策略(损失函数)、算法。

可以说,模型函数是在为数据赋予度量,无论模型是一次的,二次的还是高次的,都相当于通过这个模型函数,为数据空间中的数据提供了一个度量,对在模型函数上的点的度量是0,模型函数曲线相当于一个锚点。即模型函数可以为全空间的数据都赋予一个度量,对模型函数上的数据的度量是0。总结来说,f(X)=0是分界线,也是度量的锚点。这个度量是没有现实意义的。

而损失函数在为度量赋予现实意义:

(1)最小二乘法分类中损失函数为度量赋予意义

        在最小二乘法分类的例子中,训练的模型对样本的度量与上帝模型对样本的度量之间有一个服从高斯分布的误差,即

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        f_{\theta}^{[G]}(\tilde{X}) = f_{\theta}^{[T]}(X) + \varepsilon, \quad \varepsilon \sim \mathcal{N}(0, \sigma^2)

损失函数即度量为

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​         \left( f_{\theta}^{[G]}(\tilde{X}) - f_{\theta}^{[T]}(\tilde{X}) \right)^2\rightarrow \sigma^2

即为这个度量之间的差异赋予了一个方差的实际意义。

这里还有一个问题,即样本数据在上帝模型函数值 f_{\theta}^{[T]}(\tilde{X})是不知道的,但有样本的标签,标签值为{1,-1} ,可以把标签作为上帝函数的函数值。由于这个标签要么是1,要么是-1,所以最好对训练函数的函数值也作一下处理,即

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​              \left( tanh(f_{\theta}^{[G]}(\tilde{X})) - f_{\theta}^{[T]}(\tilde{X}) \right)^2\rightarrow \sigma^2

双曲正切处理过后其实这个 \sigma^2 已经不再是方差了,但它仍能表示训练模型的函数值与上帝模型函数值的差异的离散程度,即仍能代表损失函数。

总结一下:最小二乘分类是通过模型函数对样本数据进行度量,然后再对度量之间的差异进行一些修饰,修饰之后,变成了方差,默认方差最小时,f_{\theta}^{[G]}(\tilde{X}) = f_{\theta}^{[T]}(\tilde{X}),即f_{\theta}^{[G]}(X) = f_{\theta}^{[T]}(X)

(2)最大似然估计法

对度量通过sigmoid进行修饰,修饰的结果为概率值,这个概率值在于标签(上帝模型函数值),进行比较,求差异,这里的差异是似然值L(\tilde{Y},\tilde{X}|\theta )。所以最大化似然值时,f_{\theta}^{[G]}(X) = f_{\theta}^{[T]}(X)

(3)SVM

对度量进行修饰,这里的修饰是乘上 \frac{1}{||w||_{2}} ,即 \frac{1}{||w||_{2}}f_{\theta}^{[G]}(\tilde{X}) 表示样本到决策面的几何距离。此时默认几何距离最大,且 \tilde{Y}f_{\theta}^{[G]}(\tilde{X})\geqslant 0 时,f_{\theta}^{[G]}(X) = f_{\theta}^{[T]}(X)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/479123.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TailwindCss 总结

目录 一、简介 二、盒子模型相关 三、将样式类写到一个类里面apply 四、一款TailWind CSS的UI库 一、简介 官方文档:Width - TailwindCSS中文文档 | TailwindCSS中文网 Tailwind CSS 的工作原理是扫描所有 HTML 文件、JavaScript 组件以及任何 模板中的 CSS 类…

数据结构 (6)栈的应用举例

1. 递归调用 递归函数在执行时,会将每一层的函数调用信息(包括局部变量、参数和返回地址)存储在栈中。当递归函数返回时,这些信息会从栈中弹出,以便恢复之前的执行状态。栈的后进先出(LIFO)特性…

Qt界面篇:QMessageBox高级用法

1、演示效果 2、用法注意 2.1 设置图标 用于显示实际图标的pixmap取决于当前的GUI样式。也可以通过设置icon pixmap属性为图标设置自定义pixmap。 QMessageBox::Icon icon(

警钟长鸣,防微杜渐,遨游防爆手机如何护航安全生产?

近年来,携非防爆手机进入危险作业区引发爆炸的新闻屡见报端。2019年山西某化工公司火灾,2018年延安某煤业瓦斯爆炸,均因工人未用防爆手机产生静电打火引发。涉爆行业领域企业量大面广,相当一部分企业作业场所人员密集,…

【VRChat 全身动捕】VIVE 手柄改 tracker 定位器教程,低成本光学动捕解决方案(持续更新中2024.11.26)

更新 0.0.1(2024/11/26): 1.解决了内建蓝牙无法识别、“steamVR 蓝牙不可用” 的解决方案 2.解决了 tracker 虽然建立了连接但是在 steamVR 界面上看不到的问题 3.解决了 VIVE 基站1.0 无法被蓝牙识别 && 无法被 steamVR 搜索到 &…

大数据面试SQL题-笔记02【查询、连接、聚合函数】

大数据面试SQL题复习思路一网打尽!(文档见评论区)_哔哩哔哩_bilibiliHive SQL 大厂必考常用窗口函数及相关面试题 大数据面试SQL题-笔记01【运算符、条件查询、语法顺序、表连接】大数据面试SQL题-笔记02【查询、连接、聚合函数】​​​​​​​ 目录 01、查询 01…

Kubeadm 安装 Kubernetes 高可用集群 v1.30.0

1、修改主机名(各个节点) hostnamectl set-hostname xxx2、hosts 文件加入主机名(全部节点) cat /etc/hosts 192.168.88.5 master1 192.168.88.6 master2 192.168.88.7 master3 192.168.88.8 node13、关闭防火墙(全部…

网上蛋糕售卖店管理系(Java+SpringBoot+MySQL)

摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装网上蛋糕售卖店管理系统软件来发挥其高效地信息处理的作用…

Ubuntu安装不同版本的opencv,并任意切换使用

参考: opencv笔记:ubuntu安装opencv以及多版本共存 | 高深远的博客 https://zhuanlan.zhihu.com/p/604658181 安装不同版本opencv及共存、切换并验证。_pkg-config opencv --modversion-CSDN博客 Ubuntu下多版本OpenCV共存和切换_ubuntu20如同时安装o…

自由学习记录(25)

只要有修改,子表就不用元表的参数了,用自己的参数(只不过和元表里的那个同名) 子表用__index“继承”了父表的值,此时子表仍然是空表 一定是创建这样一个同名的变量在原本空空的子表里, 传参要传具体的变…

1- 9 C 语言面向对象

面向对象的基本特性:封装,继承,多态 1.0 面向过程概念 当我们在编写程序时,通常采用以下步骤: 1. 将问题的解法分解成若干步骤 2. 使用函数分别实现这些步骤 3. 依次调用这些函数 这种编程风格的被称作 面向过程…

路面泥泞,坑洼,裂缝,路面损坏,马路牙检测 YOLO标记资源整理

数据集介绍 可识别常见的路面泥泞,坑洼,裂缝,路面损坏,马路牙等多种路面状况。 数据集分割 训练集89% 2052图片 validation集8% 186图片 test集3% 78图片 预处理 自动定向: 已应用 自动调…

Jmeter中的测试片段和非测试原件

1)测试片段 1--测试片段 功能特点 重用性:将常用的测试元素组合成一个测试片段,便于在多个线程组中重用。模块化:提高测试计划的模块化程度,使测试计划更易于管理和维护。灵活性:可以通过模块控制器灵活地…

Cocos编辑器

1、下载 下载地址:https://www.cocos.com/creator-download 2、编辑器界面介绍 官方链接:https://docs.cocos.com/creator/3.8/manual/zh/editor/ 3、项目结构 官方链接:https://docs.cocos.com/creator/3.8/manual/zh/getting-started/…

JAVA题目笔记(二十)Stream流综合练习+方法引用

一、数据过滤 import java.util.*; import java.util.stream.Collectors;public class Co {public static void main(String[] args) {List<Integer> listnew ArrayList<>();Collections.addAll(list,1,2,3,4,5,6,7,8,9,10);List<Integer> newlist list.str…

计算机操作系统——进程控制(Linux)

进程控制 进程创建fork&#xff08;&#xff09;函数fork() 的基本功能fork() 的基本语法fork() 的工作原理fork() 的典型使用示例fork() 的常见问题fork() 和 exec() 结合使用总结 进程终止与$进程终止的本质进程终止的情况正常退出&#xff08;Exit&#xff09;由于信号终止非…

摄像头原始数据读取——V4L2(mmap模式,V4L2_MEMORY_MMAP)

摄像头原始数据读取——V4L2(mmap模式,V4L2_MEMORY_MMAP) 内存映射模式&#xff0c;是将设备在内核态申请的用于存储视频数据的物理内存映射到用户空间&#xff0c;使得用户应用程序可以直接访问和操作设备数据物理内存&#xff0c;避免了数据的拷贝。因此采集速度较快&#x…

零地址挂页

零地址 如果我们有比较好的C编程基础&#xff0c;我们就会知道&#xff0c;我们在代码中定义了一个零地址或者空指针&#xff0c;那么它实际上会指向虚拟内存的零地址&#xff0c;多数操作系统&#xff0c;包括Win&#xff0c;在进程创建的时候&#xff0c;都会空出前64k的空间…

QT6学习第四天 感受QT的文件编译

QT6学习第四天 感受QT的文件编译 使用纯代码编写程序新建工程 使用其他编辑器纯代码编写程序并在命令行运行使用 .ui 表单文件生成界面使用自定义 C 窗口类使用现成的QT Designer界面类 使用纯代码编写程序 我们知道QT Creator中可以用拖拽的方式在 .ui 文件上布局&#xff0c…

windows安全中心,永久卸载工具分享

使用方法 2024Goby红队版工具分享&#xff0c;附2024年漏洞POC下载 下载链接&#xff1a; https://pan.quark.cn/s/4fc2712a2afc一路回车&#xff0c;选项Y即可 耐心等待几秒种&#xff0c;自动重启 此时打开windows安全中心&#xff0c;已经完全不能使用了&#xff0c;响应…