理解支持向量机(三)SMO算法

本文介绍了SMO算法在支持向量机中的应用,首先讲解了坐标上升法,然后详细阐述了SMO算法如何解决对偶问题,通过选择变量并满足KKT条件来更新α。SMO算法采用启发式方法选择变量,确保目标函数在迭代后能有效降低,最后提到了阈值b的更新策略。对于SMO的深入学习,建议参考Andrew ng的课程和John C.Platt的论文。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在支持向量机模型的求解中,我们用到了SMO算法来求解向量α。那么什么是SMO算法?在讲SMO算法之前,我们需要先了解以下坐标上升法。
1、坐标上升法
假设有优化问题:

max┬α⁡〖W(α_1,α_2,…,α_m)〗
W是α向量的函数。利用坐标上升法(当然,求目标函数的最小时即为坐标下降法)求解问题最优的过程如下:
这里写图片描述
算法的思想为:每次只考虑一个变量进行优化,将其他变量固定。这时整个函数可以看作只关于该变量的函数,可以对其直接求导计算。然后继续求其他分变量的值,整个内循环下来就得到了α的一组值,若该组值满足条件,即为我们求的值,否则继续迭代计算直至收敛。一个示意图如下:
这里写图片描述
如图为一个二次椭圆曲线的等高线,变量维数为2,初始值在点(2,-2),可见其优化路径为折线式前进,因为算法每次只在一个方向上对函数进行优化。

2、SMO算法
在讲支持向量机求目标函数最优时,通过求解对偶问题转换为求解目标函数对α的极大值,如下:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值