支持向量机 c++代码_支持向量机:白板推导 + 代码实现

532e772c87bcc28d969730b5ea2f8086.png

为了能够介绍清楚支持向量机,首先需要理解下面的一些数学基础。

支持向量机的数学基础

点到直线/超平面的距离

首先推导

equation?tex=%5Cmathbb%7BR%7D%5ED 空间中点到超平面的距离。

4a40646c3b1d87fe10a37e3ab7a2003c.png
图 1. 欧氏空间中点到直线的距离公式推导

带约束的优化问题

优化问题 1: 带有等式约束的优化问题

862dfe397ecbffcbf485daa6cf083421.png
图 2. 等式约束的优化问题求解方法 (拉格朗日乘子法)

通过上面的推导,带有等式约束的优化问题可以转化为等价的拉格朗日函数在

equation?tex=%5Cmathbb%7BR%7D%5E%7BD%2B1%7D 空间中关于
equation?tex=%5Cmathbf%7Bx%7D
equation?tex=%5Clambda+ 的优化问题。

优化问题 2: 带有不等式的约束优化问题

e8763e54054db72bc8ec725541f4ffa0.png
图 3. 不等式约束优化问题的等价转换 (KKT 条件)

优化问题 3:等式和不等式约束同时存在的优化问题

f72cb45c19c5fd1d0be49c1d4d4c4312.png
图 4. 同时带有等式与不等式约束的优化问题等价转换

主问题转换为对偶问题

bfb4594076f0a0ef95e404db050cfb33.png
图 5. 主问题与对偶问题的关系推导
为什么要转换原问题到对偶问题?
1. 主问题的目标函数或者可行域不一定是凸的(Convex),但是对偶问题中,目标函数是变量的线性组合,同时可行域是超立方体,所以必然是凸的。
2. 即使主问题是凸的,其可行域是被超平面截出来的一些不规则区域,不利于求解。但是对偶问题的可行域是规则的超立方体,利于模型的求解。
3. 对于满足如下 Slater 条件的带约束优化问题, 对偶问题和原问题的解是一样的。可通过求解对偶问题得到原问题的解。

76d0bb43c75cb3902d64aefd1bfc98d5.png
图 6. 主问题与原问题的关系

支持向量机可以通过两种观点进行推导,下面先介绍几何的观点。

支持向量机:几何的观点

基本型(硬间隔支持向量机)

9779aa211233be1f84b0d0bb7c74a26f.png
图 7. 支持向量机的基本想法

主要想法

1. 超平面:在空间中找到完全将两
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值