系列文章目录
第1章 专家系统
第2章 决策树
第3章 神经元和感知机
识别手写数字——感知机
第4章 线性回归
第5章 逻辑斯蒂回归和分类
前言
支持向量机(Support Vector Machine) 于1995年发表,由于其优越的性能和广泛的适用性,成为机器学习的主流技术,并成为解决一般性分类问题的首选方法之一。
支持向量机的发明来源于对分类器决策边界的考察。对于线性可分的两类数据点,有很多条不同的直线可以作为分类的决策边界。有的边界距离两侧或者某一侧的数据点比较近,而有的边界距离两侧的数据点都比较远。在这两种边界中,后者是更好的分类边界。它离所有样本点都更远,可以在两类数据点之间形成更宽的分隔带。样本点落在边界附近的概率相对较低,尤其是那些没有在训练样本集中出现过的未知数据点,这样的决策边界具有更优秀的泛化能力,更有可能对它们进行正确分类。反之,如果决策边界距离已知的训练样本很近,那么,数据点就有更大概率落在边界上或者边界附近,错误分类的概率就会大大增加,相应的泛化能力就会下降。因此,支持向量机的目标是寻找最宽的分隔带。
线性可分
下面是看浙大机器学习网课时所作的一点笔记。
支持向量机的优化问题
对于某个编号为 i i i的样本点 x i x_i xi,线性分类器如何进行分类决策呢?下面我们把逻辑斯蒂回归或者感知机分类的过程用几何语言描述一下。如下图所示,取一个从原点发出的向量 ω \omega ω,使之垂直于决策边界。样本 x i x_i xi,也可以视作一个从原点发出的向量。那么,样本 x i x_i xi属于哪个类别,或者说落在决策边界的哪一边,取决于它在 ω \omega ω方向上的投影长度 ω ⋅ x i / ∣ ∣ ω ∣ ∣ \omega\cdot x_i/||\omega|| ω⋅xi/∣∣ω∣∣。由于我们只关心投影的相对长度,因此,可以忽略向量 ω \omega ω的长度 ∣ ∣ ω ∣ ∣ ||\omega|| ∣∣ω∣∣,直接使用点积 ω ⋅ x i \omega \cdot x_i ω⋅xi,然后选取常量 b b b作为分割点,这样就得到了判别 x i x_i xi类别的决策规则。
·当 ω ⋅ x i + b ≥ 0 \omega \cdot x_i+b≥0 ω⋅xi+b≥0时, x i x_i xi是正样本;
·当 ω ⋅ x i + b < 0 \omega \cdot x_i+b<0 ω⋅xi+b<0时, x i x_i xi是负样本。
下面,给决策规则增加限制,使得决策边界有一定的宽度,而不是无宽度的直线。
·如果 x i x_i xi是正样本,我们要求 ω ⋅ x i + b ≥ 1 \omega \cdot x_i+b\ge1 ω⋅xi+b≥1
·如果 x i x_i xi是负样本,我们要求 ω ⋅ x i + b ≤ − 1 \omega \cdot x_i+b\le-1 ω⋅xi+b≤−1
引入标记变量 y i y_i yi,对于正样本 y i = 1 y_i=1 yi=1,对于负样本 y i = − 1 y_i=-1 yi=−1。
于是上面的规则可以改写为,对于任何样本 ( x i , y i ) (x_i,y_i) (xi,yi), y i ( ω ⋅ x i + b ) − 1 ≥ 0 y_i(\omega \cdot x_i+b)-1\ge0 yi(ω⋅xi+b)−1≥0
而对于落在分隔带边缘上的样本, y i ( ω ⋅ x i + b ) − 1 = 0 y_i(\omega \cdot x_i+b)-1=0 yi(ω⋅x