多元回归求解 机器学习_机器学习(6) 序列最小优化算法(SMO)求解向量机(SVM)模型...

机器学习(1)--线性回归和多项式拟合

机器学习(2)逻辑回归 (数学推导及代码实现)

机器学习(3)softmax实现Fashion-MNIST分类

机器学习(4)多层感知机(MLP)

机器学习(5)支持向量机(SVM)模型推导

机器学习(6) 序列最小优化算法(SMO)求解向量机(SVM)模型

3. 序列最小优化算法(SMO)[1][2]

3.1 模型推导

对于二次规划问题可以使用二次规划算法来求解,但是当样本数量很高时会造成很大的开销,所以通常使用SMO算法进行求解,SMO算法的基本思路是每次随机选择两个变量

并固定其他参数不断更新。具体推导如下:

假设选区的优化参数是

,将上式优化问题展开得:

由于

取值不是+1就是-1,所以
,将上一步进一步化简为:

其中

为常数。我们设
,修改上式得:

优化函数变为:

上述优化函数只包含两个未知量,由约束条件

,可将
表示出来:

将上述三个条件带入

得:

化简得:

求导得:

令其为0,得到:

,带入上式得:

最开始时我们对原始的最优化函数求偏导得到

,又

则:

前面我们已经设

,所以:

又因为:

,带入上式得:

则:

化简得:

其中:

3.2 对原始解进行修剪

上面求出的最优

是未考虑约束条件下的解,但是事实上,
的解还受约束条件的约束:

即:

约束使得

的取值约束在一定范围内如下列两种情况讨论。

a38972ee2f2f285a92c096cf6b29358d.png

(1) 当

分为
,
处理,这两种情况都可写成:
,当
小于0时(在
上的截距,此处纵坐标为
的最小值取零(如图中黑色曲线),最大值处
,此时
大于零时,此时
的最小值取
上的截距,即
=0,得到
, 最大值取
。所以:

,

(2)当

时函数可写为:
,如右图所示,当
小于0时(如黑色曲线),
的最小值取零,最大值处
,此时
,当
大于0时(如红色曲线),此时
的最小值处,
, 此时
,
的最大值取
。所以:

,

经过修剪后

的解为:

根据上述的方式求得

后,就可以阈值

3.2 更新阈值

拉格朗日函数需要满足KTT条件

,为保证
,则需要保证

其中

,带入得:
,于是得到:

又因为:

所以:

同理可得:

都有效时(
)他们是相等的, 即
。当
或者
时,则:

下一章将介绍具体的代码实现。

参考

  1. ^https://zhuanlan.zhihu.com/p/29212107
  2. ^统计学习方法-李航
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值