当前位置:网站首页>20.支持向量机—数学原理知识
20.支持向量机—数学原理知识
2022-07-31 16:34:00 【WuJiaYFN】
主要内容
- 向量的内积
- 用向量内积的性质来理解SVM
- SVM 选择更优的决策边界的方法
一、向量的内积
1.1 内积的定义和几何意义

- 若有两个向量 u 和 v , u^Tv 叫做向量 u 和 v 之间的内积
- 几何意义: 向量得内积 等价于投影长度的乘积
1.2 欧几里长度(范数)
若有一个向量 u,∥u∥ 表示 u 的范数norm,即向量 u 的欧几里得长度,是一个实数
根据毕达哥拉斯定理得到范数的计算公式如下图:

1.3 内积的两种计算方法
(1) u^Tv = u1 × v1 + u2 × v2 = v^Tu
(2) 首先将 v 投影至 u 向量,记其长度为p(有正负,与u同向为正,反向为负,标量),则两向量的内积:
u^Tv = ||u|| · ||v|| · cosθ = ||u|| · p
注意:如果两个向量所夹的角度大于90°,则p为负数,两个向量的内积也是负数
二、用向量内积的性质来理解SVM
若将C设置的很大,并使得A最小化为0,此时 SVM的代价函数就会简化成下图所示:

为了便于理解,我们简化一下函数表达式:令 θ0 = 0,然后只有 θ1和θ2两个参数

- **支持向量机做的事情就是:**极小化参数向量范数的平方,或者说是长度的平方
根据内积的计算公式,有 θ^Tx = p · ||θ||,其中 p 是 x 在 θ 上的投影。 使用p^(i) ⋅ ∥θ∥ 代替之前约束中的 θTx(i)

三、SVM 选择更优的决策边界的方法

我们假设决策边界如上面左图的绿线,可以知道参数向量 θ 与边界垂直(证明过程可以看我的另一篇博文)
发现对于每一个样本x(1)和x(2),它们在θ上的投影长度都很小,那么为了满足条件p(i)·||θ|| ≥1或者p(i)·||θ||≤-1,则||θ||就要取很大的值,这与之前最小化代价函数(1/2||θ||2)相矛盾;
支持向量机试图让p(i)(训练样本到决策边界的距离)变得足够大,从而让θ的范数变小(如采用上面右图的决策边界——绿线),最小化代价函数;
这就是SVM如何产生大间距分类现象 的;简化时让θ0 = 0的意思是我们让决策界通过原点。 如果θ0 ≠ 0,决策边界不过原点 ,SVM 产生大间距分类器的结论同样成立(在 C 特别大的情况下)。
如果觉得文章对你有帮助的话,可以给我点赞鼓励一下我,欢迎小伙伴们收藏文章学习
关注我,我们一起学习,一起进步!!!
边栏推荐
- Huawei's top engineers lasted nine years "anecdotal stories network protocol" PDF document summary, is too strong
- 深度学习机器学习理论及应用实战-必备知识点整理分享
- 字符串反转的实现方法总结「建议收藏」
- Graham's Scan method for solving convex hull problems
- Intelligent bin (9) - vibration sensor (raspberries pie pico implementation)
- The arm button controls the flashing of the led light (embedded button experiment report)
- 仿生毛毛虫机器人源码
- npm安装时卡在sill idealTree buildDeps,npm安装速度慢,npm安装卡在一个地方不动
- 并发性,时间和相对性
- 牛客网刷题(三)
猜你喜欢

Graham's Scan method for solving convex hull problems

go mode tidy出现报错go warning “all“ matched no packages

Golang——从入门到放弃

Huawei's top engineers lasted nine years "anecdotal stories network protocol" PDF document summary, is too strong
![[pytorch] pytorch automatic derivation, Tensor and Autograd](/img/99/c9632a7d3f70a13e1e26b9aa67b8b9.png)
[pytorch] pytorch automatic derivation, Tensor and Autograd

Implementing distributed locks based on Redis (SETNX), case: Solving oversold orders under high concurrency

宁波大学NBU IT项目管理期末考试知识点整理

Premiere Pro 2022 for (pr 2022)v22.5.0

IP协议从0到1

华为顶级工程师历时9年总结的“趣谈网络协议”PDF文档,太强了
随机推荐
SringMVC中个常见的几个问题
基于Redis(SETNX)实现分布式锁,案例:解决高并发下的订单超卖,秒杀
Flutter gets the height of the status bar statusbar
多主复制下处理写冲突(1)-同步与异步冲突检测及避免冲突
软件实现AT命令操作过程
js的toString方法
【pytorch】pytorch 自动求导、 Tensor 与 Autograd
jeecg主从数据库读写分离配置「建议收藏」
[TypeScript]OOP
Golang——从入门到放弃
Graham‘s Scan法求解凸包问题
Character pointer assignment [easy to understand]
无主复制系统(1)-节点故障时写DB
Golang 切片删除指定元素的几种方法
Automated testing - web automation - first acquaintance with selenium
Mariabackup实现Mariadb 10.3的增量数据备份
多主复制下处理写冲突(3)-收敛至一致的状态及自定义冲突解决逻辑
利用PHP开发具有注册、登陆、文件上传、发布动态功能的网站
二分查找的细节坑
server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none 失败