支持向量机-4-一点小Buff

前言 在之前的几篇文章中,我们简单介绍了 SVM 的来龙去脉,从想要最大化分类间隔出发,然后将问题整理为一个QP问题,并在这个过程中引入了 Kernel Trick,最后将整理后的原始问题的求解转化为其对应的对偶问题的求解,对偶问题仍然是一个QP问题,可以使用一些现成的工具包来求解,到这里就可以说自己已经掌握了 SVM 这个算法的核心思想了,但是不知道大家是否和我一样心里会有一点别扭的地方:由于 QP 问题的求解需要依赖工具包,貌似我不能完全从头实现一个 SVM ,除非我自己去实现一个求解 QP 问题的工具包:),而这似乎不太现实。 我记得以前看过一句话,“what I can’t create it, I don’t understand it.”, 所以,我们还是要坚持自己去实现它,那应该怎么办呢?很简单,QP Solver 很难实现,那咱们就换一种求解方法呗,这就是本文提到的 Sequential Minimal Optimization Algorithm(序列最小优化算法),在下文中将其简单记为SMO,顺便说一句,在真正的 SVM 工业级实现像LIBSVM 中,往往也是采用的SMO 算法。 ...

August 27, 2017 · 7 min · Xiangying Ran