支持向量机 (SVM) 是一个非常经典且高效的
分类模型. 但是, 支持向量机中涉及许多复杂
的数学推导, 并需要比较强的凸优化基础, 使
得有些初学者虽下大量时间和精力研读, 但仍
一头雾水, 最终对其望而却步. 本文旨在从零
构建支持向量机, 涵盖从思想到形式化, 再简
化, 最后实现的完整过程, 并展现其完整思想
脉络和所有公式推导细节. 本文力图做到逻辑
清晰而删繁就简, 避免引入不必要的概念, 记
号等. 此外, 本文并不需要读者有凸优化的基
础, 以减轻读者的负担. 对于用到的优化技术,
在文中均有其介绍.
尽管现在深度学习十分流行, 了解支持向量机
的原理, 对想法的形式化, 简化, 及一步步使模
型更一般化的过程, 及其具体实现仍然有其研
究价值. 另一方面, 支持向量机仍有其一席之
地. 相比深度神经网络, 支持向量机特别擅长
于特征维数多于样本数的情况, 而小样本学习
至今仍是深度学习的一大难题.
1