最近在学习SVM时,对于SMO代码(代码源自《机器学习实战》)中判断是否需要优化alpha[i]不太理解。

挣扎了一番,说说自己小小的见解。

也希望大神们能指导一下。

SMO是一种启发式同时优化两个alpha值的算法。

过程中会先选择一个alpha[i]先判断是否需要优化之然后再选择另外一个alpha[j]。

而判断的代码大概是这样的:

if ((labelMat[i] * Ei < -toler) and (alphas[i] < C)) or ((labelMat[i] * Ei > toler) and (alphas[i] > 0)):# coding

判断条件翻译成公式就是:

两个条件能否成立一个,如果成立则说明alpha[i]是需要优化的。

在我的理解中对于SVM划分的区域可以看成三个个部分a区域,b区域,和作为支持向量的蓝线区域:

对应起来在a区域的点,其alpha值是等于C的。b区域的点alpha值为0。而恰好在蓝线上的点也就是支持向量,alpha>0。

那么对于一个点采用svm划分。它被划错就有两种情况:

1.该点属于b区域,其几何距离应该大于1,但是alpha>0,比如点p。

也就是公式中第一个判别条件。

2.该点属于a区域,其几何距离应该是c,但是alpha<c,不如点q。

公式中第二个判别条件。

对于这两种划错情况,其alpha值都是有必要优化的。所以也就有了代码中,对应的判断条件。

那么问题来了,有没有一种情况

发生呢。

因为这种情况下xi在支持向量上但是其对应的alpha是零。这也是错误的情况之一。

这个我还没想好怎么证明,以后我会补上来。还请大家多多指点额。

关于SMO算法的一点点认识相关推荐

  1. smo算法matlab实现

    看完CSDN上结构之法,算法之道的支持向量机通俗导论(理解SVM的三层境界) http://blog.csdn.net/v_july_v/article/details/7624837 参考了台湾的林 ...

  2. 支持向量机(SVM):超平面及最大间隔化、支持向量机的数学模型、软间隔与硬间隔、线性可分支持向量机、线性支持向量机、非线性支持向量机、核函数、核函数选择、SMO算法、SVM vs LR、优缺点

    支持向量机(SVM):超平面及最大间隔化.支持向量机的数学模型.软间隔与硬间隔.线性可分支持向量机.线性支持向量机.非线性支持向量机.核函数.核函数选择.SMO算法.SVM vs LR.优缺点 目录

  3. 支持向量机SVM(五)SMO算法

    11 SMO优化算法(Sequential minimal optimization) SMO算法由Microsoft Research的John C. Platt在1998年提出,并成为最快的二次规 ...

  4. 机器学习入门笔记:(4.3)SMO算法

    前言 之前的博客中,已经介绍了SVM的原理: 机器学习入门学习笔记:(4.1)SVM算法 机器学习入门学习笔记:(4.2)核函数和软间隔 最后我们得到的优化问题如下: maxα∑i=1mαi−12∑i ...

  5. python svm算法smo cifar_使用smo算法编写svm对CIFAR-10数据分类

    公式太难打了,弄成图片,可能不太美观,但知识没变味 3:实验内容 3.1 提取hog特征 本实验的核心在于设计svm算法,因此提取特征使用库函数实现,最主要代码如下 from skimage impo ...

  6. ML之SVM:利用Js语言设计SVM算法(SMO算法+线性核/高斯核)

    ML之SVM:利用Js语言设计SVM算法(SMO算法+线性核/高斯核) 目录 输出结果 设计思路 设计代码(部分代码) 输出结果 设计思路 设计代码(部分代码) var doTest = functi ...

  7. 机器学习:SVM训练,SMO算法描述,启发式选择样本或变量

    文章目录 优化目标: 优化步骤: 对偶问题本质: 选择第一个样本点标准: 选择第一个样本点标准为:最不满足KKT条件的样本 如何判断样本点是否满足KKT条件? 满足和不满足KKT的情况: 量化不满足K ...

  8. SMO算法原理转载+自己补充

    几何间隔: 这个意思就是超平面离数据集的点的距离. 都别装逼了,说人话是啥? 说人话就是高中几何里的"点到平面距离". 经常听到的硬间隔和软间隔是啥? 说人话: 惩罚系数C=0,硬间隔 惩罚系数C&g ...

  9. 支持向量机器—SMO算法

    文章目录 引入SMO的背景 两个变量二次规划求解方法 选择两个变量的方法 第一个变量选择 第二个变量选择 计算阈值b和差值EiE_iEi​ SMO算法 参考文章: 引入SMO的背景 前面的文章提到,S ...

最新文章

  1. php取当前是pc还是手机号,利用PHP判断是手机移动端还是PC端访问的函数示例
  2. 再谈工作的主动性和有效提问
  3. 物联网网关市场预计到2026年将增长21.5亿美元
  4. 贪心:磁带最优存储与磁盘文件最优存储
  5. ipad运行python爬虫_Python爬虫之UserAgent的使用实例
  6. 高并发编程-Thread#interrupt用法及源码分析
  7. python —— 装饰器
  8. Java iText PDF:用 iText 包生成简单的 pdf 文件
  9. Python实训day11pm【大作业简略解析】
  10. MySQL过滤相同binlog_通过Linux命令过滤出binlog中完整的SQL语句
  11. 我的《野蛮生长》书摘
  12. gps频率范围_如何计量检定频率计数器
  13. @transactional 可以定义到controller_仿照源码,手写一个自定义 Spring MVC 框架
  14. 复制移动VMware Workstation虚拟机文件产生的问题【转】
  15. 安卓bin固件文件编辑器_通刷版魔百盒九联UNT401H海思Hi3798MV310芯片红外蓝牙语音遥控免拆及强刷固件及刷机教程202009版...
  16. iPhone使用教程
  17. navcat导入mdf数据库文件教程
  18. 看《李开复先生谈创新思维》
  19. php 手机号归属地 dat,GitHub - china-qd/phonedata: 手机号码归属地信息库、手机号归属地查询 phone.dat 最后更新:2020年04月...
  20. java 中水仙花题目_java算法题:水仙花问题

热门文章

  1. 微信小程序开发:路由跳转以及传参的使用
  2. php怎么使得字体滚动,jq实现文字div块状无缝上移滚动效果
  3. 【STM32】电源控制、低功耗模式(实例:待机模式)
  4. 法国队夺冠!央视转播背后的骚操作
  5. MYSQL 最大连接数
  6. 【MFC】Warning: no message line prompt for ID 0x8015.
  7. html5图片轮播在线制作教程,15个超强的jQuery/HTML5图片轮播插件
  8. L1-081 今天我要赢 L1-082 种钻石 C语言
  9. 荣耀MagicBook 2019-锐龙版 重装系统 经验总结心酸历程
  10. OpenCV-每天坚持一点点(8)