作者:金一鸣审校:陈之炎
本文约4400字,建议阅读8分钟本文选择一个简单直观的应用实战——根据股价基本 历史数据来预测股市涨跌。
支持向量机(Support Vector Machine, SVM)是一种通过监督学习方式来进行学习的分类和回归模型,在多数情况下,人们都会用这个模型来进行较小规模的二分类任务的求解。支持向量机主要的思想是在特征空间上找到一个与正负样本边界最大的线性分类器,而求解边界最大化的问题从数学的角度来看即是求解凸二次规划(Convex Quadratic Programming)的最优化算法。
1.支持向量机的原理和分类
支持向量机可用于实现多种场景的分类问题,当训练数据线性可分时,利用硬边界最大化实现数据的二分类;另一方面支持向量机在训练数据线性不可分的时候,通过使用核函数(Kernel Function)以及软边界最大化来进行从样本空间的非线性可分到特征空间的线性可分,此算法最精彩和最经典的技巧也在于此。
1.1线性可分支持向量机
假设现在有一堆红球和黑球,对于一个简单的分类问题(如图1.1-1),首先,需要找出一个分离超平面(Hyperplane,在二维坐标轴上可以理解为一条直线)使得红球和黑球能够很好的分开,此时,可以有无数个平面可以作为这个二分类问题的解,所以需要找出一个最优的分离超平面,将分类的错误率降到最低,由此引出了边界最大化的概念,也就是定义正负数据集样本同时到超平面的最大距离为该数据集的最大边界。定义由边界最大化求出的分离超平面为:
图1.1-1 二分类问题可以有无数条分割线来对其分类
其中x是数据集特征空间的一个特征向量,w是对应的法向量,b可以理解成截距。对
于可以理解成一个分类标签,整个式子就是一个分类器了,计算过程如下:
通过找到最合适的(w,b)也就可以找到唯一边界最大的分离超平面。红球(正样本)也就可以表示成 (正样本超平面),同样的黑球(负样本)可以表示成
(负样本超平面)。因此该问题的决策函数他就是线性支持向量机):
y = sign (x + b) 1.1. 2
为了求解决策函数,这里需要再引入函数边界和几何边界的概念:
函数边界:一个数据点到超平面的距离|w • x + b|,所以最小函数边界可以表示为:
1.1. 3
1.1. 4
其中 (1.1.3) 为样本数据点到超平面的边界,注意这里右边式子乘 yi 是因为分类结果是取决于 w · x + b 和分类的标签 yi 两者的符号的一致性。
几何边界:在函数边界基础上抽象成空间上的概念,可表示空间中点到平面的距离。对法向量w加上规范化的限制,这样即使w和b成倍增加也不会影响超平面在空 间中的改变。所以最小几何边界可表示成:
1.1. 5