文章目录
支持向量机SVM
SVM是一种二类分类模型,其基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机。SVM的学习策略就是间隔最大化,可以形式化为一个求解凸二次规划问题,也等价于正则化的合页损失函数最小化问题。
支持向量机SVM由简至繁分别为:线性可分的SVM、线性SVM及非线性SVM。简单模型是复杂模型的基础,也是复杂模型的特殊情况。
- 当训练数据集线性可分时,通过硬间隔最大化学习线性可分SVM;
- 当训练数据集近似线性可分时,通过软间隔最大化学习线性SVM;
- 当训练数据集线性不可分时,通过使用核技巧及软间隔最大化,学习非线性SVM。
线性可分支持向量机与硬间隔最大化
线性可分SVM
假设输入空间与特征空间是两个不同的空间。线性可分SVM、线性SVM假设这两个空间的元素一一对应,并将输入空间中的输入映射为特征空间中的特征向量。非线性SVM利用一个从输入空间到特征空间的非线性映射将输入映射为特征向量。这样,输入都由输入空间转换到特征空间,SVM的学习是在特征空间中进行的。
假设给定一个线性可分的训练数据集
T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T=\{(x_1, y_1),(x_2,y_2),...,(x_N,y_N)\} T={
(x1,y1),(x2,y2),...,(xN,yN)}
学习的目标是在特征空间中找到一个分离超平面,能将实例分到不同的类。分离超平面对应方程 w ⋅ x + b = 0 w·x+b=0 w⋅x+b=0,它由法向量 w w w和截距 b b b决定,可以用 ( w , b ) (w,b) (w,b)来表示。法向量指向的一侧为正类,另一侧为负类。
一般地,当训练集线性可分时,存在无穷多个分离超平面可以将两类数据正确分开。感知机利用误分类最小的策略,求得分离超平面,但此时的解有无穷多个。线性可分SVM利用间隔最大化求最优分离超平面,此时的解是唯一的。
定义 线性可分SVM
给定线性可分训练数据集,通过间隔最大化或等价地求解相应的凸二次规划问题学习得到的分离超平面为:
w ∗ ⋅ x + b ∗ = 0 (1) w^*·x+b^*=0 \tag1 w∗⋅x+b∗=0(1)
以及相应的分类决策函数
f ( x ) = s i g n ( w ∗ ⋅ x + b ∗ ) (2) f(x)=sign(w^*·x+b^*) \tag2 f(x)=sign(w∗⋅x+b∗)(2)
函数间隔与几何间隔
函数间隔
一般来说,一个点距离分离超平面的远近可以表示分类预测的确信程度。在超平面 w ⋅ x + b = 0 w·x+b=0 w⋅x+b=0确定的情况下, ∣ w ⋅ x + b ∣ |w·x+b| ∣w⋅x+b∣能够相对地表示点 x x x距离超平面的远近, w ⋅ x + b w·x+b w⋅x+b与类标记 y y y的符号是否一致能够表示分类是否正确,所以可以综合两者来表示分类的正确性及确信度,这就是函数间隔。
定义 函数间隔
对于给定的训练数据集 T T T和超平面 ( w , b ) (w,b) (w,b),定义超平面 ( w , b ) (w,b) (w,b)关于样本点 ( x i , y i ) (x_i,y_i) (xi,yi)的函数间隔为:
γ i ^ = y i ( w ⋅ x i + b ) (3) \hat{\gamma_i}=y_i(w·x_i+b) \tag3 γi^=yi(w⋅xi+b)(3)
定义超平面 ( w , b ) (w,b) (w,b)关于训练数据集 T T T的函数间隔为超平面到训练集中所有样本点的函数间隔最小值,即:
γ ^ = min i = 1 , 2 , . . . , N γ i ^ (4) \hat{\gamma}=\min\limits_{i=1,2,...,N}\hat{\gamma_i} \tag4 γ^=i=1,2,...,Nminγi^(4)
函数间隔可以表示分类预测的正确性及确信度。但选择分离超平面时,只有函数间隔还不够,因为只要成比例地改变 w w w和 b b b,函数间隔也会成比例地改变,但是超平面本身并未改变。可以对分离超平面的法向量 w w w加上某些约束,如规范化, ∣ ∣ w ∣ ∣ = 1 ||w||=1 ∣∣w∣∣=1,使得间隔是确定的。此时函数间隔就变成了几何间隔。
几何间隔
下图给出了超平面 ( w , b ) (w,b) (w,b)及其法向量 w w w。
点 A A A表示某一实例 x i x_i xi,其类标记为 y i = + 1 y_i=+1 yi=+1。点 A A A与超平面的距离由线段 A B AB AB给出,记作 γ i \gamma_i γi。
γ i = w ∣ ∣ w ∣ ∣ ⋅ x i + b ∣ ∣ w ∣ ∣ \gamma_i=\frac{w}{||w||}·x_i+\frac{b}{||w||} γi=∣∣w∣∣w⋅xi+∣∣w∣∣b
其中 ∣ ∣ w ∣ ∣ ||w|| ∣∣w∣∣为 w w w的 L 2 L_2 L2范数。这是点 A A A在正侧的时候,如果在负一侧,则:
γ i = − w ∣ ∣ w ∣ ∣ ⋅ x i + b ∣ ∣ w ∣ ∣ \gamma_i=-\frac{w}{||w||}·x_i+\frac{b}{||w||} γi=−∣∣w∣∣w⋅xi+∣∣w∣∣b
一般地,当样本点被超平面正确分类时,点 x i x_i xi与超平面的距离是:
γ i = y i ( w ∣ ∣ w ∣ ∣ ⋅ x i + b ∣ ∣ w ∣ ∣ ) \gamma_i=y_i\left(\frac{w}{||w||}·x_i+\frac{b}{||w||}\right) γi=yi(∣∣w∣∣w⋅xi+∣∣w∣∣b),由此可得几何间隔的概念。
定义 几何间隔
对于给定的训练数据集和超平面,定义超平面 ( w , b ) (w,b) (w,b)关于样本点 ( x i , y i ) (x_i,y_i) (xi,yi)的几何间隔为
γ i = y i ( w ∣ ∣ w ∣ ∣ ⋅ x i + b ∣ ∣ w ∣ ∣ ) (5) \gamma_i=y_i\left(\frac{w}{||w||}·x_i+\frac{b}{||w||}\right) \tag5 γi=yi(∣∣w∣∣w⋅xi+∣∣w∣∣b)(5)
定义超平面 ( w , b ) (w,b) (w,b)关于训练数据集