机器学习——支持向量机原理

Support Vector Machine

        要解决的问题:什么样的决策边界才是最好的呢?

        决策边界:选出来离两个类别的距离最远的决策边界

点到平面的距离的计算         

         

数据标签定义 

数据集:(X1,Y1)(X2,Y2)… (Xn,Yn)
Y为样本的类别: 当X为正例时候 Y = +1 当X为负例时候 Y = -1
决策方程:

优化的目标 

通俗解释:找到一个条线(w和b),使得离该线最近的点能够最远
将点到直线的距离化简得:

 

目标函数 

放缩变换:对于决策方程(w,b)可以通过放缩使得其结果值|Y|>= 1

 (之前我们认为恒大于0,现在严格了些)

优化目标:

 

因为后面最小值为1

 常规套路:将求解极大值问题转换成极小值问题:

 如何求解:应用拉格朗日乘子法求解

拉格朗日乘子法

        带约束的优化问题:  

         原式转换:

         我们的式子:

         (约束条件不要忘:

        分别对w和b求偏导,分别得到两个条件(由于对偶性质) 

        

         对w求偏导:

         对b求偏导:

SVM求解

        带入原始: 

        其中           

 

 

完成了第一步求解 

 继续对ɑ求极大值:

条件: 

 极大值转换成求极小值:

条件: 

SVM求解实例

        数据:3个点,其中正例 X1(3,3) ,X2(4,3) ,负例X3(1,1)

        求解: 

         约束条件:

 

 原式:

由于:  

化简可得:  

分别对ɑ1和ɑ2求偏导,偏导等于0可得: 

 (并不满足约束条件,所以解应在边界上)

最小值在(0.25,0,0.25)处取得

将ɑ结果带入求解 

 

平面方程为: 

 支持向量:真正发挥作用的数据点,ɑ值不为0的点,即边界点,非边界点的ɑ值必定为0

soft-margin 

软间隔:有时候数据中有一些噪音点,如果考虑它们咱们的线就不太好

之前的方法要求要把两类点完全分得开,这个要求有点过于严格
为了解决该问题,引入松弛因子

 

新的目标函数: 

当C趋近于很大时:意味着分类严格不能有错误

当C趋近于很小时:意味着可以有更大的错误容忍

C是我们需要指定的一个超参数

拉格朗日乘子法:

约束:  

 

同样的解法:

低维不可分问题

        核变换:既然低维的时候不可分,那我给它映射到高维呢?

         低维不可分问题

目标:找到一种变换的方法,也就是 \o (𝑋)

实例:

 高斯核函数:

线性核函数
高斯核函数

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

樱花的浪漫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值