支持向量机 --优化

news/2024/10/15 15:13:01

支持向量机

1. 支持向量

SVM 最优化问题

SVM 想要的就是找到各类样本点到超平面的距离最远,也就是找到最大间隔超平面。任意超平面可以用下面这个[线性方程]来描述:

\[\omega ^ T x +b=0 \]

二维空间点$ (x,y)$ 到直线$ Ax+By+C=0$​ 的距离公式是:

\[\frac{|Ax+By+C|}{\sqrt{A^2+B^2}} \]

扩展到 n 维空间后,点\(x=(x_1,x_2\ldots x_n)\)到直线\(w^Tx+b=0\)的距离为

\[\frac{|w^Tx+b|}{||w||} \]

其中 $ \left|\left|w\right|\right|=\sqrt{w_{1}^{2}+\ldots w_{n}^{2}} $

如图所示,根据支持向量的定义我们知道,支持向量到超平面的距离为 d,其他点到超平面的距离大于 d。

image

于是我们有这样的一个公式:

\[\begin{cases}\frac{w^Tx+b}{||w||}\geq d \quad y=1\\\frac{w^Tx+b}{||w||}\leq-d \quad y=-1\end{cases} \]

稍作转化可以得到:

\[\begin{cases}\frac{w^Tx+b}{||w||d}\geq1\quad y=1\\\frac{w^Tx+b}{||w||d}\leq-1\quad y=-1\end{cases} \]

\(||\omega||d\)是正数,我们暂且令它为 1(之所以令它等于 1,是为了方便推导和优化,且这样做对[目标函数]的优化没有影响),

故:

\[\left\{\begin{matrix}{w^{T}x+b\geq1\quad y=1}\\ {w^{T}x+b\leq-1\quad y=-1}\\\end{matrix}\right. \]

将两个方程合并,我们可以简写为:

\[y(\omega ^T x+b) \geq 1 \]

至此我们就可以得到最大间隔超平面的上下两个超平面:

image

每个支持向量到超平面的距离可以写为:

\[d=\frac{|w^{T}x+b|}{||w||} \]

由上述\(y(w^Tx+b)>1>0\)可以得到\(y(w^Tx+b)=|w^Tx+b|\) ,所以我们得到:

\[d=\frac{y(w^{T}x+b)}{||w||} \]

最大化这个距离:\(\max2*\frac{\nu(w^Tx+b)}{||w||}\)

这里乘上 2 倍也是为了后面推导,对目标函数没有影响。刚刚我们得到支持向量\(y(w^Tx+b)=1\).

所以我们得到:\(max \frac {2}{||\omega||}\)

再做一个转换:\(min \frac {1}{2}||\omega||\)

为了方便计算(去除 \(||\omega||\) 的根号),

我们有:\(min \frac {1}{2}||\omega||^2\)

所以得到优化问题:

\[min \frac{1}{2}||\omega||^2 s.t. \\ y_i(\omega ^T x_i +b) \]

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

2024/10/15第三次人工智能

一:从教育者角度理解AI规则基础系统(教学大纲和课程设置) 2.机器学习(学生通过练习提高技能) 3.深度学习(高阶思维能力的培养) 4.预训练(扩充语料库/学生在正式教育前的知识积累) 5.微调(针对特定任务的专业训练/学科专业化) 6.推理(模型根据输入生成输出文本/学生解答问题的过…

httprunner简要说明

Httprunner 1.简介 面向HTTP(S)协议的测试通用框架,维护YAML/JSON脚本执行测试用例,最终都是转化为python文件执行,3.0以后官方建议直接转为维护python脚本 特性继承Requests特性 辅助函数debugtalk.py,实现动态计算逻辑 测试分层,api层、测试用例层、测试套件 支持Hook机…

上手protobuf:一文掌握protobuf的使用

简介 在上一篇文章中,我们已经了解了protobuf是什么,还有proto文件该如何编写 在本文中,将着重讲讲protobuf该怎么用 Protobuf使用教程 Protobuf是一种高效数据序列化协议,可支持多种编程语言,不同编程语言使用方法或略有差异、或有多种方法,以下主要介绍大致的、通用的使…

预算不变,数据安全大升级!揭秘TRAID+的神奇之处

假期过后,公司弥漫着一股低沉的气息,公司的CTO,小威,正面对着一个令人头疼的问题——如何在不增加预算的情况下,提高公司的数据安全性。 如今各种勒索病毒层出不穷,或是因为硬盘的损坏或者员工的马虎使数据丢失都会让公司损失巨大。 俗话说鸡蛋不要放在一个篮子里。面对着…

第六章

学号3020 6.2点击查看代码 edges = [ ("Pe", "T", 13), ("Pe", "N", 68), ("Pe", "M", 78), ("Pe", "L", 51), ("Pe", "Pa", 51), ("T", "N"…

FingersGestures 简介

FingersGestures 简介 FingersGestures为官方推荐手势插件,主要用于替代EasyTouch,EasyTouch很多年没有更新了,并且已经在官方资产商店下架,FingersGestures插件在官方商店具有很高的热度和持续的版本迭代,以及提供了二十多个实例进行参考,后续考虑项目中都使用此插件。 …

TextMeshPro

简介支持图文混排和矢量字体图文混排使用需要开启RichText 需要挂载SpriteAsset(不挂载的情况下,使用默认的spriteAsset) 使用下标来显示没有设置spriteAsset的情况设置了spriteAsset的情况

TowardsDataScience-博客中文翻译-2020-五十五-

TowardsDataScience 博客中文翻译 2020(五十五)原文:TowardsDataScience Blog 协议:CC BY-NC-SA 4.0GPT-3,OpenAI 的革命原文:https://towardsdatascience.com/gpt-3-openais-revolution-f549bf3d4b25?source=collection_archive---------43-----------------------来源…