关于SMO算法的一点点认识
最近在学习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算法的一点点认识相关推荐
- smo算法matlab实现
看完CSDN上结构之法,算法之道的支持向量机通俗导论(理解SVM的三层境界) http://blog.csdn.net/v_july_v/article/details/7624837 参考了台湾的林 ...
- 支持向量机(SVM):超平面及最大间隔化、支持向量机的数学模型、软间隔与硬间隔、线性可分支持向量机、线性支持向量机、非线性支持向量机、核函数、核函数选择、SMO算法、SVM vs LR、优缺点
支持向量机(SVM):超平面及最大间隔化.支持向量机的数学模型.软间隔与硬间隔.线性可分支持向量机.线性支持向量机.非线性支持向量机.核函数.核函数选择.SMO算法.SVM vs LR.优缺点 目录
- 支持向量机SVM(五)SMO算法
11 SMO优化算法(Sequential minimal optimization) SMO算法由Microsoft Research的John C. Platt在1998年提出,并成为最快的二次规 ...
- 机器学习入门笔记:(4.3)SMO算法
前言 之前的博客中,已经介绍了SVM的原理: 机器学习入门学习笔记:(4.1)SVM算法 机器学习入门学习笔记:(4.2)核函数和软间隔 最后我们得到的优化问题如下: maxα∑i=1mαi−12∑i ...
- python svm算法smo cifar_使用smo算法编写svm对CIFAR-10数据分类
公式太难打了,弄成图片,可能不太美观,但知识没变味 3:实验内容 3.1 提取hog特征 本实验的核心在于设计svm算法,因此提取特征使用库函数实现,最主要代码如下 from skimage impo ...
- ML之SVM:利用Js语言设计SVM算法(SMO算法+线性核/高斯核)
ML之SVM:利用Js语言设计SVM算法(SMO算法+线性核/高斯核) 目录 输出结果 设计思路 设计代码(部分代码) 输出结果 设计思路 设计代码(部分代码) var doTest = functi ...
- 机器学习:SVM训练,SMO算法描述,启发式选择样本或变量
文章目录 优化目标: 优化步骤: 对偶问题本质: 选择第一个样本点标准: 选择第一个样本点标准为:最不满足KKT条件的样本 如何判断样本点是否满足KKT条件? 满足和不满足KKT的情况: 量化不满足K ...
- SMO算法原理转载+自己补充
几何间隔: 这个意思就是超平面离数据集的点的距离. 都别装逼了,说人话是啥? 说人话就是高中几何里的"点到平面距离". 经常听到的硬间隔和软间隔是啥? 说人话: 惩罚系数C=0,硬间隔 惩罚系数C&g ...
- 支持向量机器—SMO算法
文章目录 引入SMO的背景 两个变量二次规划求解方法 选择两个变量的方法 第一个变量选择 第二个变量选择 计算阈值b和差值EiE_iEi SMO算法 参考文章: 引入SMO的背景 前面的文章提到,S ...
最新文章
- php取当前是pc还是手机号,利用PHP判断是手机移动端还是PC端访问的函数示例
- 再谈工作的主动性和有效提问
- 物联网网关市场预计到2026年将增长21.5亿美元
- 贪心:磁带最优存储与磁盘文件最优存储
- ipad运行python爬虫_Python爬虫之UserAgent的使用实例
- 高并发编程-Thread#interrupt用法及源码分析
- python —— 装饰器
- Java iText PDF:用 iText 包生成简单的 pdf 文件
- Python实训day11pm【大作业简略解析】
- MySQL过滤相同binlog_通过Linux命令过滤出binlog中完整的SQL语句
- 我的《野蛮生长》书摘
- gps频率范围_如何计量检定频率计数器
- @transactional 可以定义到controller_仿照源码,手写一个自定义 Spring MVC 框架
- 复制移动VMware Workstation虚拟机文件产生的问题【转】
- 安卓bin固件文件编辑器_通刷版魔百盒九联UNT401H海思Hi3798MV310芯片红外蓝牙语音遥控免拆及强刷固件及刷机教程202009版...
- iPhone使用教程
- navcat导入mdf数据库文件教程
- 看《李开复先生谈创新思维》
- php 手机号归属地 dat,GitHub - china-qd/phonedata: 手机号码归属地信息库、手机号归属地查询 phone.dat 最后更新:2020年04月...
- java 中水仙花题目_java算法题:水仙花问题
热门文章
- 微信小程序开发:路由跳转以及传参的使用
- php怎么使得字体滚动,jq实现文字div块状无缝上移滚动效果
- 【STM32】电源控制、低功耗模式(实例:待机模式)
- 法国队夺冠!央视转播背后的骚操作
- MYSQL 最大连接数
- 【MFC】Warning: no message line prompt for ID 0x8015.
- html5图片轮播在线制作教程,15个超强的jQuery/HTML5图片轮播插件
- L1-081 今天我要赢 L1-082 种钻石 C语言
- 荣耀MagicBook 2019-锐龙版 重装系统 经验总结心酸历程
- OpenCV-每天坚持一点点(8)