SVM大致思想

线性分类问题

在一群点中用线性函数分类:
在这里插入图片描述
但也有线性不可分问题:
在这里插入图片描述
线性不可分问题:
在这里插入图片描述

最大间隔法

两个平行超平面间隔距离最大
在这里插入图片描述

软间隔

部分难以区分的点忽略
在这里插入图片描述

升维

在这里插入图片描述
通过升维将非线性变为线性
在这里插入图片描述

计算统计理论基础

学习过程的一致性

期望风险泛函:定义最优函数在真实数据分布中的期望风险
经验风险泛函:在有限的数据集上最优函数的期望风险。
由于真实分布未知,机器学习传统都是用最小化经验风险来替代最小化期望风险的目标
学习理论的关键定理的解读:如果一个模型方法在最坏情况下仍能表现良好, 则对它的推广能力才有信心。
函数集的容量

函数容量与VC维

容量( capacity) : 函数集在一组样本集上可能实现的分类方案数目。
例如:二分类问题中有n个样本,则有2**n种分类方案
生长函数:容量对数在所有可能样本集上的上界。
要达成学习过程一致性,函数集的一致性的能力不会跟随样本数无限增长
VC维:用函数集中的函数所能够打散的最大样本集的样本数目。
期望风险上限
在这里插入图片描述
在这里插入图片描述
推广能力: 不取决于经验风险最小能有多小, 而在于期望风险与经验风险有多大差距, 差距越小则推广能力越好。
特定的问题样本数是固定的: VC 维越高→函数集复杂性越高→置信范围就越大→推广能力就可能越差。
结构风险最小化原则SRM:
在这里插入图片描述
在这里插入图片描述
在小样本中应该遵循结构风险最小化原则SRM

理论中svm的优势

为什么要选择最大间隔
在这里插入图片描述
为什么要使用核函数升维
在这里插入图片描述

不适定问题与正则化方法

SVM中用到的最优化技巧

以二维为例子:
在这里插入图片描述
通过化简得到下面式子,确定最优化的目标函数
在这里插入图片描述
由最终式子可知,我们的最终目标是求尽量小的w。
接下来求约束条件:
在两线段两端的点被分类为1和-1
由此得到下面的约束条件
在这里插入图片描述
为了方便求解,目标函数做了一定处理。
接下来对不等式约束条件做一定处理变为等式:
在这里插入图片描述
在这里插入图片描述
这里得出 λ i \lambda_i λi ≥ \geq 0。
因为:可以将 λ i \lambda_i λi看成一个惩罚系数
在这里插入图片描述
λ i \lambda_i λi为正数时,没有满足约束条件会加大原式,作为惩罚,而为负数时则变成了鼓励参数
从几何角度考虑这个问题:
在这里插入图片描述
从图中得出有用的约束条件 λ i \lambda_i λi必定为正数,作用是保持约束梯度矢量和与目标梯度方向大小一致。
在这里进一步说明拉格朗日对偶问题
在这里插入图片描述
从求导式子中可以看出,拉格朗日常数法的最终目的是得出一系列常数使目标函数梯度与约束条件梯度相等。
在这里插入图片描述
直观的从上图中来理解,最优点一定满足这样一个性质,最优点对于所有过这一点的约束条件上的梯度的可以用 λ i \lambda_i λi作为参数矢量相加等于目标函数的梯度,而其他点(非最优点)没有这个性质。因此可以使用这种方法来寻找最优点,这也是拉格朗日常数法的原理。
λ i \lambda_i λi=0则是说明对应的约束条件对于该最优化问题是无效的,即松弛的约束条件。

拉格朗日对偶问题

为方便理解,我们首先要将原问题变一下形。
在这里插入图片描述
我们将这个等价问题中的min与max交换一下即可得到等价命题:
在这里插入图片描述
将对偶函数的最小值部分变为约束条件得到下图:
在这里插入图片描述
这时我们将对偶问题展开:
在这里插入图片描述
g( λ \lambda λ, v)是一个仿射集也会是一个凹凸函数,对他求最大值则是对一个凹函数求最大值,约束条件为半空间 λ \lambda λ,v ≥ \geq 0,则这总是一个凸优化问题

强对偶与弱对偶

虽然对偶问题是一个凸优化问题,但原问题只有在与对偶问题强对偶的情况下才能转换为对偶问题
在这里插入图片描述
在这里插入图片描述
注意A(x)和I( λ \lambda λ, v)都是L(x, λ \lambda λ, v)的衍生函数,均由L(x, λ \lambda λ, v)唯一确定。
由上述推断出原问题与对偶问题不总是等价的。
在这里插入图片描述

下面通过图形的方式直观说明,为了方便可视化进行如下变换
在这里插入图片描述
接下来进行可视化
在这里插入图片描述
解析:原问题求 G 1 G_1 G1在t轴的最低点,对偶问题的值为一跳直线的截距,且斜率为负数。先取最小值决定了直线只能紧贴取值域的下端,而这些下端中相对取值最大的则真好如图所示,当对偶问题求最大 λ \lambda λ时必定过 G 1 G_1 G1最低点。
当可行域的范围是一个凸集时,则会成为一个强对偶问题。
在下列两种情况中都是强对偶问题
在这里插入图片描述
在这里插入图片描述
强对偶的充分条件
凸优化问题并要满足Slash条件
在这里插入图片描述
图示如下:
在这里插入图片描述
强对偶的必要条件
在这里插入图片描述
同时在凸问题中KKT可以推出最优解

回到SVM问题中

在原拉格朗日常数法中已经获得了原问题可行解和梯度为0条件
在这里插入图片描述
1,2为原问题可行解,3为梯度为0条件
通过上述描述,用3,4推出互补松弛条件和最后一个对偶可行性。
补松弛条件:
在这里插入图片描述
对偶可行性:
在这里插入图片描述
由此所有KKT条件集齐:
在这里插入图片描述
由于SVM为凸问题,我们已经得到求取最优点的方法。

SVM中使用拉格朗日对偶

原因:为了方便使用核技巧和提升求解效率。
首先根据上述直接给出SVM的对偶问题:
在这里插入图片描述
接下来证明​Slater条件成立
以硬间隔问题为例:因为数据线性可分,总有( ω \omega ω, b)使得一条直线将所有点分为两类,即满足所有不等式约束,Slater条件自动满足。
软间隔只是允许一定的误差,原理相同。
由此证明SVM是强对偶问题。
接下来将KKT条件代入对偶问题
在这里插入图片描述
然后简化求解
在这里插入图片描述
通过对偶问题后约束仅有 λ \lambda λ,并且可以使用核技巧。

核技巧

当处理非线性可分问题时,需要升维。
我们很容易想到方法一:
在这里插入图片描述
但方法一可以更容易的写成方法二:
上述核函数可以通过修改参数确定维度
那么有没有什么核函数可以转换成无穷维呢?
高斯核函数可以通过无穷级数变为无穷维在这里插入图片描述

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

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

相关文章

探索理解 Spring AI Advisors:构建可扩展的 AI 应用

Spring AI Advisors API 提供了一种灵活且强大的方式来拦截、修改和增强 Spring 应用程序中的 AI 驱动交互。其核心思想类似于 Spring AOP(面向切面编程)中的“通知”(Advice),允许开发者在不修改核心业务逻辑的情况下…

Linux SSH服务全面配置指南:从基础到安全加固

Linux SSH服务全面配置指南:从基础到安全加固 概述 作为网络安全工程师,SSH(Secure Shell)服务的安全配置是我们日常工作中不可忽视的重要环节。本文将从基础配置到高级安全加固,全面解析SSH服务的各项参数&#xff…

.NET测试工具Parasoft dotTEST内置安全标准,编码合规更高效

在追求开发速度的时代,确保代码安全并满足严苛的行业合规标准如OWASP、CWE、PCI DSS、ISO 26262等已成为开发者的核心挑战,但开发人员常因复杂的编码标准和漏洞排查而效率低下。.NET测试工具Parasoft dotTEST内置安全标准,实现即插即用&#…

对象的finalization机制Test

Java语言提供了对象终止(finalization)机制来允许开发人员自定义对象被销毁之前的处理逻辑。当垃圾回收器发现没有引用指向一个对象时,通常接下来要做的就是垃圾回收,即清除该对象,而finalization机制使得在清除此对象之前,总会先…

AI初学者如何对大模型进行微调?——零基础保姆级实战指南

仅需8GB显存,三步完成个人专属大模型训练 四步实战:从环境配置到模型发布 步骤1:云端环境搭建(10分钟) 推荐使用阿里魔塔ModelScope免费GPU资源: # 注册后执行环境初始化 pip3 install --upgrade pip pi…

“单一职责”模式之装饰器模式

目录 “单一职责”模式装饰器模式 Decorator引例动机 Motivation模式定义结构 Structure要点总结 “单一职责”模式 在软件组件的设计中,如果责任划分的不清晰,使用继承得到的结果往往是随着需求的变化,子类急剧膨胀,同时充斥着重…

idea, CreateProcess error=206, 文件名或扩展名太长

idea, CreateProcess error206, 文件名或扩展名太长 解决 “CreateProcess error206, 文件名或扩展名太长” 错误 CreateProcess error206 是 Windows 系统特有的错误,表示命令行参数超出了 Windows 的 32767 字符限制。这个问题在 Java 开发中尤其常见&#xff0c…

一键高效率图片MD5修改工具PHP版

文章目录 图片MD5修改工具项目简介功能特点技术原理系统需求安装方法使用方法Web界面模式命令行模式文件结构常见问题注意事项开发者信息效果演示更多干货🎁1.如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “👍点赞” “✍️评论” “💙收藏” 一键三连哦!2.❤️…

跨主机用 Docker Compose 部署 PostgreSQL + PostGIS 主从

q下面是跨主机用 Docker Compose 部署 PostgreSQL PostGIS 主从复制的完整详细步骤(主库 从库),主从都用官方 PostGIS 镜像 postgis/postgis:15-3.3,并注意网络与持久化。复制即可。 🚩 跨主机 PostgreSQL PostGIS …

会议动态|千眼狼高速摄像机、DIC测量系统等科学仪器亮相第十五届全国爆炸力学学术会议

第十五届全国爆炸力学学术会议于6月28日在绍兴盛大召开,会议汇聚来自全国爆炸力学与冲击领域专家学者2000余人,聚焦“爆炸与冲击动力学工程应用”、“材料动态力学行为与损伤断裂“、“工程爆破与毁伤评估”、“含能材料与水中爆炸”、“结构动态响应与安…

vscode一个文件夹有残余的git仓库文件,已经失效了,怎样进行清空仓库残余文件并重新初始化git--ubuntu

vscode一个文件夹有残余的git仓库文件,已经失效了,怎样进行清空仓库残余文件并重新初始化git–ubuntu 首先要把工作区里重要的文件备份好,防止操作时数据丢失。删除.git文件夹 rm -rf .git初始化 (base) zd4090zd4090-System-Product-Name:…

6月30日作业

思维导图 一、读取文件&#xff0c;效果类似 cat 的功能 代码 #include <25041head.h>int main(int argc, const char *argv[]) {//打开文件printf("请输入你要读取的文件路径&#xff1a;");char str[128]"";scanf("%s",str);FILE *fpf…

ubuntu源码安装python3.13遇到Could not build the ssl module!解决方法

我在Ubuntu 24.04.2 LTS下载源码安装Python 3.13.5时&#xff1a; #./configure --enable-loadable-sqlite-extensions --enable-optimizations #make 显示错误信息&#xff1a; Could not build the ssl module! Python requires a OpenSSL 1.1.1 or newer 查询我的openssl版…

Ai工具分享(2):Vscode+Cline无限免费的使用教程

大家好,我是程序员寒山。 今天给大家分享一个最新的免费使用的Ai插件Cline的方法,之前也给大家分享过一些免费的方案,但是这些都是随时在变化,之前推荐的很多都不能使用了。 Ai工具分享(2):Vscode+Cline无限免费的使用教 今天再给大家推荐一个,可以免费使用,且没有token…

Docker 目录迁移脚本【Windows Junction 类型链接】

Docker 目录迁移脚本完整教程&#xff1a;从诞生到自动化使用 一、脚本诞生背景与开发历程 1. 为什么需要迁移 Docker 目录&#xff1f; 系统盘空间压力&#xff1a;Docker 镜像和容器数据通常存储在C:\Users\用户名目录下&#xff0c;随着使用时间增长会占用大量系统盘空间…

spring-ai 工作流

目录 工作流概念工作流程图spring-boot 编码定义节点 (Node)定义节点图StateGraphcontroller测试浏览器测试用户输入 工作流概念 工作流是以相对固化的模式来人为地拆解任务&#xff0c;将一个大任务拆解为包含多个分支的固化流程。工作流的优势是确定性强&#xff0c;模型作为…

重头开始学ROS(6)---Eigen库安装与使用

Eigen库 矩阵运算是一种非常重要的运算方式&#xff0c;在Matlab中&#xff0c;矩阵运算可以轻松的实现&#xff0c;但在C这种偏底层的语言中&#xff0c;若不借助第三方库&#xff0c;矩阵运算需要我们进行较为复杂的代码设计。Eigen库是一个用于线性运算的C模板库&#xff0…

【STM32】外部中断

STM32 外部中断&#xff08;EXTI&#xff09;概述 这篇文章结合示例代码&#xff0c;系统性地讲述 STM32 外部中断&#xff08;EXTI&#xff09;实验的原理、以及配置流程。目的在于辅助读者掌握STM32F1 外部中断机制。 STM32F1xx官方资料&#xff1a;《STM32中文参考手册V10》…

LeetCode Hot100 算法题 (矩阵篇)

1、73. 矩阵置零 给定一个 m x n 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,1,1],[1,0,1],[1,1,1]] 输出&#xff1a;[[1,0,1],[0,0,0],[1,0,1]]// 将第一行…

Flutter基础(项目创建)

一、使用命令行创建项目 1. 确认 Flutter 环境正常 要保证 Flutter SDK 已经正确安装&#xff0c;并且环境变量配置无误。可以通过执行以下命令来验证&#xff1a; flutter doctor 要保证所有检查项都显示绿色对勾&#xff0c;要是有问题&#xff0c;可按照提示进行修复。 …