求解 SVM 分类超平面| 学习笔记

简介: 快速学习求解 SVM 分类超平面。

开发者学堂课程【机器学习算法 :求解 SVM 分类超平面】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/535/detail/7267


求解 SVM 分类超平面

 

内容介绍

一、解决间隔优化问题

二、SMO 算法

三、求解超平面

 

一、解决间隔优化问题

回到 SVM 本质问题,如何通过求极值的方式找到最优分类超平面。

优化问题转换为求解下列有约束的目标函数即带有不等式约束条件的目标函数求极值:

image.png

按照第二章所学,将有约束的目标函数转换为无约束的拉格朗日函数,然后固定μ,要让 L(ω,γ,μ)对 ω,γ 最小化,即对 ω,γ 求偏导,令其等于0。

image.png

将 ω 的值带入:

image.png

此时,拉格朗日函数只包含了一个变量 μ,求出 μ 即可求出 ω,γ

image.png

求μ,则需要求系列不等式约束的极大值,即:

image.png

但是由于问题并没有简单化,反而更复杂,又需要在不等式约束条件下求极值,这个时候需要二次规划问题,可以使用通用的二次规划算法来求解但是问题规模正比于训练样本数,开销很大。通常会采用序列最小优化算法(Sequential Minimal Optimization ,SMO)解决。

 

二、SMO 算法

SMO 是一种启发式算法,其基本思想是,如果所有分量的解都满足KKT条件,那么这组解就是最优解。如果不满足,选择两个分量,固定其他分量,针对这两个分量构建一个二次凸规划问题,然后关于这个二次规划的问题的解就更接近原始的二次规划的解。SMO 的高效主要是将多个参数的求优化问题转化为固定其他参数后仅优化两个参数的问题。

image.png

固定除 μi 和 μj 以外的参数,求解带不等式约束的函数极值,得到更新后的 μi 和 μj 固定变量后,不等式约束条件为:

image.png

实际上最终需要求的是这个式子,可以得到 μ 的值

image.png

 

三、求解超平面

通过 SMO 算法求得 μ 后,即可得到超平面的表达函数:

image.png

有了分类超平面的表达式,在做分类的时候就很简单,如果有一个点,需要判断他是哪一类,将点带到表达式中即可求得 F(x)的值就可以知道点的归属分类。

将需要判断分类的点 x 和训练样本计算内积,得到 f(x) 的值,判断点 x 的归属分类。因为只有当训练样本为支持向量的时候,μi 才不为0,所以实际计算量并不大。

相关文章
|
6月前
|
机器学习/深度学习
R语言自适应LASSO 多项式回归、二元逻辑回归和岭回归应用分析(下)
R语言自适应LASSO 多项式回归、二元逻辑回归和岭回归应用分析
|
6月前
|
机器学习/深度学习 算法
R语言自适应LASSO 多项式回归、二元逻辑回归和岭回归应用分析(上)
R语言自适应LASSO 多项式回归、二元逻辑回归和岭回归应用分析
|
6月前
特征选择方法——最佳子集回归、逐步回归
特征选择方法——最佳子集回归、逐步回归
|
6月前
|
SQL 数据可视化 数据挖掘
R语言线性分类判别LDA和二次分类判别QDA实例
R语言线性分类判别LDA和二次分类判别QDA实例
为什么进行线性回归前需要对特征进行离散化处理?
为什么进行线性回归前需要对特征进行离散化处理?
201 1
|
机器学习/深度学习 算法 索引
逻辑回归与多项式特征:解密分类问题的强大工具
逻辑回归与多项式特征:解密分类问题的强大工具
|
机器学习/深度学习 资源调度 Serverless
核函数:RBF 是如何让线性 SVM 可以分类非线性数据的?
如果原始空间是有限维,即属性数有限,那么一定存在一个高维特征空间使得样本可分。
244 1
核函数:RBF 是如何让线性 SVM 可以分类非线性数据的?
|
机器学习/深度学习 算法 Python
【阿旭机器学习实战】【10】朴素贝叶斯模型原理及3种贝叶斯模型对比:高斯分布朴素贝叶斯、多项式分布朴素贝叶斯、伯努利分布朴素贝叶斯
【阿旭机器学习实战】【10】朴素贝叶斯模型原理及3种贝叶斯模型对比:高斯分布朴素贝叶斯、多项式分布朴素贝叶斯、伯努利分布朴素贝叶斯
【阿旭机器学习实战】【10】朴素贝叶斯模型原理及3种贝叶斯模型对比:高斯分布朴素贝叶斯、多项式分布朴素贝叶斯、伯努利分布朴素贝叶斯
|
机器学习/深度学习 传感器 算法
【特征选择】基于二元多邻域人工蜂群 (BMNABC) 解决特征选择问题附matlab代码
【特征选择】基于二元多邻域人工蜂群 (BMNABC) 解决特征选择问题附matlab代码
|
机器学习/深度学习 传感器 算法
【特征选择】基于二元多邻域人工蜂群 (BMNABC) 特征选择问题附matlab代码
【特征选择】基于二元多邻域人工蜂群 (BMNABC) 特征选择问题附matlab代码
下一篇
无影云桌面