机器学习(6)

一 支持向量机基本型

间隔(Margin)与支持向量(Support Vector)

超平面方程: w T x + b = 0 w^Tx+b=0 wTx+b=0
在这里插入图片描述最大间隔: 寻找参数 w w w b b b,使得 γ γ γ最大
在这里插入图片描述
凸二次规划问题,能用优化计算包求解,但可以有更高效的办法(拉格朗日乘子法)

二 对偶问题与解的特性

1 对偶问题

第一步: 引入拉格朗日乘子 α i ≥ 0 \alpha_i≥0 αi0得到拉格朗日函数:
L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 + ∑ i = 1 m α i ( 1 − y i ( w r x i + b ) ) L ( w , b , \alpha ) = \frac { 1 } { 2 } | | w | | ^ { 2 } + \sum _ { i = 1 } ^ { m } \alpha _ { i } ( 1 - y _ { i } ( w ^ { r } x _ { i } + b ) ) L(w,b,α)=21∣∣w2+i=1mαi(1yi(wrxi+b))第二步: L ( w , b , α ) L(w,b,\alpha) L(w,b,α) w w w b b b 的偏导为零可得:
w = ∑ i = 1 m a i j y i x i , 0 = ∑ i = 1 m α i y i w = \sum _ { i = 1 } ^ { m } a _ { i j} y_i x _ { i } , \quad 0 = \sum _ { i = 1 } ^ { m } \alpha _ { i }y_i w=i=1maijyixi,0=i=1mαiyi第三步: 回代可得:
m a x α ⁡ ∑ i = 1 m a i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j \operatorname { m a x _\alpha} \sum _ { i = 1 } ^ { m } a _ { i } - \frac { 1 } { 2 } \sum _ { i = 1 } ^ { m } \sum _ { j = 1 } ^ { m } \alpha_i\alpha_jy_iy_jx^T_ix_j maxαi=1mai21i=1mj=1mαiαjyiyjxiTxj s . t . ∑ i = 1 m a i y i = 0 , a i ≥ 0 , i = 1 , 2 , ⋯   , m s.t.\quad \sum _ { i = 1 } ^ { m } a _ { i } y _ { i } = 0 , \quad a _ { i } \geq 0 , \quad i = 1 , 2 , \cdots , m s.t.i=1maiyi=0,ai0,i=1,2,,m

2 解的特性

最终模型: f ( x ) = w T x + b = ∑ i = 1 m α i y i x i T x + b f ( x ) = w ^ { T } x + b = \sum _ { i = 1 } ^ { m }\alpha_iy_i x^T_i x + b f(x)=wTx+b=i=1mαiyixiTx+b
KKT条件:
在这里插入图片描述
解的稀疏性: 训练完成后,最终模型仅与支持向量有关

3 求解方法-SMO

基本思路: 不断执行如下两个步骤直至收敛

  • 第一步:选取一对需更新的变量 α i \alpha_i αi α j \alpha_j αj
  • 第二步:固定 α i \alpha_i αi α j \alpha_j αj 以外的参数,求解对偶问题更新 α i \alpha_i αi α j \alpha_j αj

仅考虑 α i \alpha_i αi α j \alpha_j αj 时,对偶问题的约束 0 = ∑ i = 1 m a i y i 0=\sum^m_{i=1}a_iy_i 0=i=1maiyi 变为: α i y i + α j y j = c , α i ≥ 0 , α j ≥ 0 \alpha _ { i } y _ { i } + \alpha _ { j } y _ { j } = c , \quad \alpha _ { i } \geq 0 , \quad \alpha _ { j } \geq 0 αiyi+αjyj=c,αi0,αj0 a i a_i ai 表示 a j a_j aj,代入对偶问题有闭式解 m a x α ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j max_\alpha \sum _ { i = 1 } ^ { m } \alpha _ { i } - \frac { 1 } { 2 } \sum _ { i = 1 } ^ { m } \sum _ { j = 1 } ^ { m } \alpha_i\alpha_jy_iy_jx^T_ix_j maxαi=1mαi21i=1mj=1mαiαjyiyjxiTxj对任意支持向量 ( x s , y s ) (x_s,y_s) (xs,ys) y s f ( x s ) = 1 y_sf(x_s)=1 ysf(xs)=1 由此可解出 b b b
为提高鲁棒性,通常使用所有支持向量求解的平均值

三 特征空间映射

若不存在一个能正确划分两类样本的超平面,怎么办?
将样本从原始空间映射到一个更高维的特征空间,使样本在这个特征空间内线性可分
在这里插入图片描述
如果原始空间是有限维(属性数有限),那么一定存在一个高维特征空间使样本线性可分
在特征空间中
在这里插入图片描述

四 核函数(Kernel Function)

基本思路: 设计核函数
k ( x i , x j ) = ϕ ( x i ) T ϕ ( x j ) k ( x _ { i } , x _ { j } ) = \phi ( x _ { i } ) ^ { T } \phi ( x _ { j } ) k(xi,xj)=ϕ(xi)Tϕ(xj)
绕过显式考虑特征映射、以及计算高维内积的困难
Mercer 定理: 若一个对称函数所对应的核矩阵半正定,则它就能作为核函数来使用。
任何一个核函数,都隐式地定义了一个RKHS(Reproducing Kernel Hilbert Space,再生核希尔伯特空间)
“核函数选择”成为决定支持向量机性能的关键!

五 如何使用SVM解决自己特定的任务

1 以回归学习为例

基本思路: 允许模型输出与实际输出间存在 2 ε 2ε 2ε 的差别
在这里插入图片描述

2 ε ε ε-不敏感损失函数

在这里插入图片描述

3 支持向量回归(SVR)

在这里插入图片描述

4 如何使用SVM

  • 入门级——实现并使用各种版本SVM
  • 专业级——尝试、组合核函数
  • 专家级——根据问题而设计目标函数、替代损失、进而…
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值