0
点赞
收藏
分享

微信扫一扫

深入理解Go语言中的函数【延迟调用defer】12

老王420 2023-05-12 阅读 95

      大家好,我是带我去滑雪!  

      本期将讨论支持向量机的实现问题,我们知道支持向量机的学习问题可以化为求解凸二次规划问题。这样的凸二次规划问题具有全局最优解,并且有许多最优化算法可以用于这一问题的求解。但是当训练样本容量很大时,这些算法往往变得非常低效,以致无法使用。所以,如何高效地实现支持向量机学习就成为一个重要的问题。目前人们已提出许多快速实现算法。本期讲述其中的序列最小最优化(sequential minimal optimization, SMO)算法。

目录

1、SMO理论推导

 2、python代码与实例

(1)使用线性可分样本,采用SMO算法求解支持向量机分类

(2)使用非线性数据(曲线),采用SMO算法求解支持向量机分类

(3)使用非线性数据(交叉),采用SMO算法求解支持向量机分类

4、参考文献


1、SMO理论推导

       SMO算法要求解如下凸二次规划对偶问题:

       选择两个变量\alpha _{1}\alpha _{2},其他变量固定,于是SMO算法的最优化子问题就变成如下:

       下面,首先求沿着约束方向未经剪辑即未考虑不等式约束时\alpha _{2}的最优解\alpha _{1}^{new.unc};然后再求剪辑后的解\alpha _{2}^{new}。我们用定理来叙述这个结果,为了叙述简单,引入记号记作:

      那么目标函数可写成如下形式:

       \alpha _{2}求导可得:

      令其为0,得到:

     因此,\alpha _{2}最终的解就是:

 2、python代码与实例

(1)使用线性可分样本,采用SMO算法求解支持向量机分类

(2)使用非线性数据(曲线),采用SMO算法求解支持向量机分类

(3)使用非线性数据(交叉),采用SMO算法求解支持向量机分类

4、参考文献

[1]J. Platt, “Sequential Minimal Optimization: A Fast Algorithm for Training Support Vector Machines,” Technical Report MSR-TR-98-14, Microsoft Research, 1998.


需要J. Platt 论文的家人们可以去百度网盘(永久有效)获取:

链接:https://pan.baidu.com/s/1qAu4ueR_ucJO_WbOKAYg2w?pwd=7woc 
提取码:7woc 
--来自百度网盘超级会员V5的分享


更多优质内容持续发布中,请移步主页查看。

   点赞+关注,下次不迷路!

举报

相关推荐

0 条评论