11 SVM - SMO - 序列最小优化算法

简介:

05 SVM - 支持向量机 - 概念、线性可分
06 SVM - 线性可分模型算法和案例
07 SVM - 软间隔模型
08 SVM - 软间隔模型算法流程

09 SVM - 线性不可分模型
10 SVM - 核函数

十三、SMO初识

序列最小优化算法 (Sequential minimal optimization, SMO) 是一种用于解决SVM训练过程中所产生的优化问题的算法。 于1998年由John Platt发明,论文详见:《Sequencial Minimal Optimization-a Fast Alg for Training SVM.pdf》

回顾线性可分SVM求解步骤:

回顾 - SVM优化问题

假定存在一个β*=(β1,β2,...,βm)是我们最终的最优解,那么根据KKT条件我们可以计算出w和b的最优解,如下:

有了最优²*后,求解w,b

进而我们可以得到最终的分离超平面为:

目标 - 分离超平面

拉格朗日乘子法和KKT的对偶互补条件为:

β、μ和C之间的关系为:C - βi - μi = 0

根据这个对偶互补条件,我们有如下关系式:

也就是说我们找出的最优的分割超平面必须满足下列的目标条件(g(x)):

拉格朗日对偶化要求的两个限制的初始条件为:


从而可以得到解决问题的思路如下:

1、初始化后一个β值,让它满足对偶问题的两个__初始限制条件__;

2、不断优化这个β值,使得由它确定的分割超平面满足__g(x)目标条件__;而且在优化过程中,始终保证β值满足__初始限制条件__。

__PS:__这个求解过程中,和传统的思路不太一样,不是对目标函数求最小值,而是让__g(x)目标条件__尽可能的满足。

在这样一个过程中,到底如何优化这个β值呢???

整理可以发现β值的优化须遵循以下两个基本原则:

1、每次优化的时候,必须同时优化β的两个分量;因为如果只优化一个分量的话,新的β值就没法满足__初始限制条件中__的__等式约束条件__了。

2、每次优化的两个分量应该是违反__g(x)目标条件__比较多的。也就是说,本来应当是大于等于1的,越是小于1违反__g(x)目标条件__就越多;

或者换一种思路来理解,因为目标函数中存在m个变量,直接优化比较难,利用启发式的方法/EM算法的思想,每次优化的时候,只优化两个变量,将其它的变量看成常数项,这样SMO算法就将一个复杂的优化算法转换为一个比较简单的两变量优化问题了。

分析定义

十四、SMO算法推导

1、构建β1、β2的函数

目标函数转换

认为β1、β2是变量,其它β值是常量,从而将__目标函数转换__如下:

由于β1y1 + β2y2 = k,并且y2 = 1,使用β2来表示β1的值:

用²2来表示²1的值

将上式带入目标优化函数,就可以消去β1,从而只留下仅仅包含β2的式子。

最终求得的公式

深入分析__最终求得的公式__:

深入分析 - 1

深入分析 - 2

2、求解β2的值

深入分析步骤1:

深入分析步骤1

求解²2步骤 - 1

求解²2步骤 - 2

求解²2步骤 - 3

分析最后的公式

求解完最优的β值后,我们接下来要考虑限制条件。


3、考虑β1和β2的取值限定范围

目标函数转换

²1和²2的取值限定范围

考虑β1和β2的取值限定范围,假定新求出来的β值是满足我们的边界限制的,即如下所示:

²值是满足边界限制

分析y1==y2时²的取值范围

当y1=y2的时候,β1+β2=k; 由于β的限制条件,我们可以得到:

y1==y2

当y1≠y2的时候,β1-β2=k;由于β的限制条件,我们可以得到:

y1`y2

结合β的取值限制范围以及函数W的β最优解,我们可以得带迭代过程中的最优解为:

最优解

然后根据β1和β2的关系,从而可以得到迭代后的β1的值:

迭代后的²1的值

求解β的过程中,相关公式如下:

求解²的过程


求解最优β讨论到这里,不明白的可以私信。
下章讨论如何选择最初的β变量。

12 SVM - SMO - 初始β变量的选择

相关文章
|
21天前
|
存储 算法 调度
基于和声搜索优化算法的机器工作调度matlab仿真,输出甘特图
本程序基于和声搜索优化算法(Harmony Search, HS),实现机器工作调度的MATLAB仿真,输出甘特图展示调度结果。算法通过模拟音乐家即兴演奏寻找最佳和声的过程,优化任务在不同机器上的执行顺序,以最小化完成时间和最大化资源利用率为目标。程序适用于MATLAB 2022A版本,运行后无水印。核心参数包括和声记忆大小(HMS)等,适应度函数用于建模优化目标。附带完整代码与运行结果展示。
|
17天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于GA遗传优化TCN-GRU时间卷积神经网络时间序列预测算法matlab仿真
本项目基于MATLAB2022a开发,提供无水印算法运行效果预览及核心程序(含详细中文注释与操作视频)。通过结合时间卷积神经网络(TCN)和遗传算法(GA),实现复杂非线性时间序列的高精度预测。TCN利用因果卷积层与残差连接提取时间特征,GA优化超参数(如卷积核大小、层数等),显著提升模型性能。项目涵盖理论概述、程序代码及完整实现流程,适用于金融、气象、工业等领域的时间序列预测任务。
|
17天前
|
算法 定位技术 数据安全/隐私保护
基于遗传优化算法的多AGV栅格地图路径规划matlab仿真
本程序基于遗传优化算法实现多AGV栅格地图路径规划的MATLAB仿真(测试版本:MATLAB2022A)。支持单个及多个AGV路径规划,输出路径结果与收敛曲线。核心程序代码完整,无水印。算法适用于现代工业与物流场景,通过模拟自然进化机制(选择、交叉、变异)解决复杂环境下的路径优化问题,有效提升效率并避免碰撞。适合学习研究多AGV系统路径规划技术。
|
28天前
|
机器学习/深度学习 算法 JavaScript
基于GA遗传优化TCN时间卷积神经网络时间序列预测算法matlab仿真
本内容介绍了一种基于遗传算法优化的时间卷积神经网络(TCN)用于时间序列预测的方法。算法运行于 Matlab2022a,完整程序无水印,附带核心代码、中文注释及操作视频。TCN通过因果卷积层与残差连接学习时间序列复杂特征,但其性能依赖超参数设置。遗传算法通过对种群迭代优化,确定最佳超参数组合,提升预测精度。此方法适用于金融、气象等领域,实现更准确可靠的未来趋势预测。
|
1月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于模糊神经网络的金融序列预测算法matlab仿真
本程序为基于模糊神经网络的金融序列预测算法MATLAB仿真,适用于非线性、不确定性金融数据预测。通过MAD、RSI、KD等指标实现序列预测与收益分析,运行环境为MATLAB2022A,完整程序无水印。算法结合模糊逻辑与神经网络技术,包含输入层、模糊化层、规则层等结构,可有效处理金融市场中的复杂关系,助力投资者制定交易策略。
|
1月前
|
算法 数据可视化 调度
基于NSGAII的的柔性作业调度优化算法MATLAB仿真,仿真输出甘特图
本程序基于NSGA-II算法实现柔性作业调度优化,适用于多目标优化场景(如最小化完工时间、延期、机器负载及能耗)。核心代码完成任务分配与甘特图绘制,支持MATLAB 2022A运行。算法通过初始化种群、遗传操作和选择策略迭代优化调度方案,最终输出包含完工时间、延期、机器负载和能耗等关键指标的可视化结果,为制造业生产计划提供科学依据。
|
1月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于GA遗传优化TCN-LSTM时间卷积神经网络时间序列预测算法matlab仿真
本项目基于MATLAB 2022a实现了一种结合遗传算法(GA)优化的时间卷积神经网络(TCN)时间序列预测算法。通过GA全局搜索能力优化TCN超参数(如卷积核大小、层数等),显著提升模型性能,优于传统GA遗传优化TCN方法。项目提供完整代码(含详细中文注释)及操作视频,运行后无水印效果预览。 核心内容包括:1) 时间序列预测理论概述;2) TCN结构(因果卷积层与残差连接);3) GA优化流程(染色体编码、适应度评估等)。最终模型在金融、气象等领域具备广泛应用价值,可实现更精准可靠的预测结果。
|
1月前
|
机器学习/深度学习 数据采集 算法
基于WOA鲸鱼优化的CNN-LSTM-SAM网络时间序列回归预测算法matlab仿真
本内容介绍了一种基于CNN-LSTM-SAM网络与鲸鱼优化算法(WOA)的时间序列预测方法。算法运行于Matlab2022a,完整程序无水印并附带中文注释及操作视频。核心流程包括数据归一化、种群初始化、适应度计算及参数更新,最终输出最优网络参数完成预测。CNN层提取局部特征,LSTM层捕捉长期依赖关系,自注意力机制聚焦全局特性,全连接层整合特征输出结果,适用于复杂非线性时间序列预测任务。
|
14天前
|
算法 安全 数据安全/隐私保护
基于AES的遥感图像加密算法matlab仿真
本程序基于MATLAB 2022a实现,采用AES算法对遥感图像进行加密与解密。主要步骤包括:将彩色图像灰度化并重置大小为256×256像素,通过AES的字节替换、行移位、列混合及轮密钥加等操作完成加密,随后进行解密并验证图像质量(如PSNR值)。实验结果展示了原图、加密图和解密图,分析了图像直方图、相关性及熵的变化,确保加密安全性与解密后图像质量。该方法适用于保护遥感图像中的敏感信息,在军事、环境监测等领域具有重要应用价值。
|
28天前
|
算法 数据可视化 BI
基于免疫算法的最优物流仓储点选址方案MATLAB仿真
本程序基于免疫算法实现物流仓储点选址优化,并通过MATLAB 2022A仿真展示结果。核心代码包括收敛曲线绘制、最优派送路线规划及可视化。算法模拟生物免疫系统,通过多样性生成、亲和力评价、选择、克隆、变异和抑制机制,高效搜索最优解。解决了物流仓储点选址这一复杂多目标优化问题,显著提升物流效率与服务质量。附完整无水印运行结果图示。
基于免疫算法的最优物流仓储点选址方案MATLAB仿真
下一篇
oss创建bucket