note:SMO算法存在致命缺陷
2014-12-09 09:57
232 查看
由于这个算法诞生于微软实验室,发明这个算法的人计算机背景必定多余数学背景,导致最后这个算法有些处理实在是过于“工程”的,缺乏数学依据。
此算法的基本思想是用两个线性优化来取代二次优化,但是从数学的角度来看,这是不可能的——线性从来就不能完全取代非线性,否则那些历史上那些伟大的数学家或者前苏联数学家早就发现了。为什么Vapnic当时没有想到这个方法?不,他作为数学家一定是想过的,但是数学是严谨的,他不希望自己的理论缺乏数学依据。这就是为什么他想方设法的去优化二次优化,而不是用线性优化取而代之。
SMO伪码中有一段写的非常丑,似乎就是在优化的边缘垂死挣扎,但是最后还是不得已放弃。没错,我说的就是H=L的情况,这就是线性与二次的分界线,线性无法逾越这一层,无论如何,这是由数学真理所决定的。所以,说到底,SMO只是二次优化的一个近似,既然是近似,那么就我们就应当从数学的层面来分析误差的传播,很可惜,目前为止没人这么做过。
然而,理论上,这种误差是确实存在的。一个事实就是C罚函数系数的偏移,根据我的试验,这个C值偏移的非常严重,而且是非线性的。比如,一个简单的6点输入,C居然偏移到了300多!而正常的SMO的C应该只有1左右。
一个更神奇的现象是,稍微简化代码以后(去掉垂死挣扎那块),然后把C调大(10000左右),优化效果惊人的好。难道说通过重新调整C可以越过线性优化的界限?!这个问题目前也没人研究。。。
此算法的基本思想是用两个线性优化来取代二次优化,但是从数学的角度来看,这是不可能的——线性从来就不能完全取代非线性,否则那些历史上那些伟大的数学家或者前苏联数学家早就发现了。为什么Vapnic当时没有想到这个方法?不,他作为数学家一定是想过的,但是数学是严谨的,他不希望自己的理论缺乏数学依据。这就是为什么他想方设法的去优化二次优化,而不是用线性优化取而代之。
SMO伪码中有一段写的非常丑,似乎就是在优化的边缘垂死挣扎,但是最后还是不得已放弃。没错,我说的就是H=L的情况,这就是线性与二次的分界线,线性无法逾越这一层,无论如何,这是由数学真理所决定的。所以,说到底,SMO只是二次优化的一个近似,既然是近似,那么就我们就应当从数学的层面来分析误差的传播,很可惜,目前为止没人这么做过。
然而,理论上,这种误差是确实存在的。一个事实就是C罚函数系数的偏移,根据我的试验,这个C值偏移的非常严重,而且是非线性的。比如,一个简单的6点输入,C居然偏移到了300多!而正常的SMO的C应该只有1左右。
一个更神奇的现象是,稍微简化代码以后(去掉垂死挣扎那块),然后把C调大(10000左右),优化效果惊人的好。难道说通过重新调整C可以越过线性优化的界限?!这个问题目前也没人研究。。。
相关文章推荐
- 没有或很少有出站链接的网站存在致命的缺陷
- 陈经:谷歌围棋算法存在缺陷 达不到人类最高水平
- 陈经:谷歌围棋算法存在缺陷 达不到人类最高水平
- PHP程序员玩转算法公开课(第一季)02_单链表在内存中存在形式剖析
- [典型漏洞分享]YS忘记密码机制设计存在缺陷,导致任意用户口令均可被修改【高】
- IBMJDK 1.5中SimpleDateFormat存在性能缺陷,使用FastDateFormat替换之。
- Skype软件存在2缺陷 用户PC可被***霸占
- ASP.NET 被暴露存在一个严重的安全缺陷,同时也会影响到SharePoint
- 描述一个运行时间为Θ(nlgn)的算法,给定n个整数的集合S和另一个整数x,该算法能确定S中是否存在两个其和刚好为x的元素
- 初探群体智慧缺陷-“意外流行”(surprisingly popular)新算法
- Mapgis网络狗致命缺陷!
- 职业生涯的12个致命缺陷
- 防火墙普遍存在的设计缺陷--关于进程路径的获取
- P2P网贷第三方托管模式存在5大缺陷,托管机构才是最大赢家
- SMO算法草稿
- Android存在程序缺陷误发短信 Google形象受损
- a标签中target="_blank"属性存在的缺陷
- sparkML-note-算法总结思维导图
- 支持向量机—SMO论文详解(序列最小最优化算法)
- smo算法的c++实现