当前位置:网站首页>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 特别大的情况下)。
如果觉得文章对你有帮助的话,可以给我点赞鼓励一下我,欢迎小伙伴们收藏文章学习
关注我,我们一起学习,一起进步!!!
边栏推荐
- MySQL multi-table union query
- How Redis handles concurrent access
- jeecg master-slave database read-write separation configuration "recommended collection"
- Graham's Scan method for solving convex hull problems
- npm安装时卡在sill idealTree buildDeps,npm安装速度慢,npm安装卡在一个地方不动
- C程序是如何跑起来的01 —— 普通可执行文件的构成
- arm按键控制led灯闪烁(嵌入式按键实验报告)
- tooltips使用教程(鼠标悬停时显示提示)
- IP协议从0到1
- 第05章 存储引擎【1.MySQL架构篇】【MySQL高级】
猜你喜欢

第05章 存储引擎【1.MySQL架构篇】【MySQL高级】

2022年必读的12本机器学习书籍推荐

Implementing distributed locks based on Redis (SETNX), case: Solving oversold orders under high concurrency
![[TypeScript] In-depth study of TypeScript type operations](/img/d9/ee240ccba72e8d3114ee5c52ed0c8f.png)
[TypeScript] In-depth study of TypeScript type operations

How to switch remote server in gerrit

【7.29】Code Source - 【Arrangement】【Stone Game II】【Cow and Snacks】【Minimum Number of Spawns】【Sequence】

C程序是如何跑起来的01 —— 普通可执行文件的构成
How Redis handles concurrent access

基于C语言的编译器设计与实现

IP protocol from 0 to 1
随机推荐
[7.28] Code Source - [Fence Painting] [Appropriate Pairs (Data Enhanced Version)]
Stuck in sill idealTree buildDeps during npm installation, npm installation is slow, npm installation is stuck in one place
Qt practical cases (54) - using transparency QPixmap design pictures
AcWing 1282. Search Keyword Problem Solution ((AC Automata) Trie+KMP)+bfs)
Design and Implementation of Compiler Based on C Language
在资源管理类中提供对原始资源的访问——条款15
arm按键控制led灯闪烁(嵌入式按键实验报告)
MySQL common statements
[Source code analysis] BeanFactory and FactoryBean
After Effects tutorial, How to adjust overexposed snapshots in After Effects?
Foreign media right, apple on May be true in inventory
Golang go-redis cluster模式下不断创建新连接,效率下降问题解决
A common method and the use of selenium
牛客网刷题(四)
牛客 HJ3 明明的随机数
go图书管理系统
EF Core 2.2中将ORM框架生成的SQL语句输出到控制台
研发过程中的文档管理与工具
2020 WeChat applet decompilation tutorial (can applet decompile source code be used)
adb shell 报错error: device unauthorized