文章目录
*支持向量机初体验
对于下面两个类别的数据,需要用一个线性分类器将其分开,你会画出怎样的分类器呢?
方法有多种,比如下图就有两个线性分类器。你可能又要问了,那选择哪个更好呢?
为了判断好坏,这里我们引入一个准则:好的分类器不仅仅是能够很好的分开已有的数据集,还能对未知数据集
进行两个的划分。
从下图我们可以看到,有一个黄色的数据,希望它和红色数据同属一类,那么此时黑色的线性分类器就会导致分类错误。
那么我们应该怎么做呢?如何客观的评判两条线的健壮性呢?
此时,我们需要引入一个非常重要的概念:最大间隔。
最大间隔刻画着当前分类器与数据集的边界,以这两个分类器为例:
可以看到,蓝色线性分类器的最大间隔大于黑色分类器的最大间隔,因此我们选择蓝色的线作为我们的分类器。
那么,有没有间隔更大、更优的分类器呢?当然有。如下图所示:
这就是我今天要给大家介绍的支持向量机(SVM)。
带黑边的点是距离当前分类器最近的点,我们称之为支持向量。
1 什么是支持向量机?
支持向量机是一种二类分类模型。基本模型是:定义在特征空间上间隔最大的线性分类器。这点上,正好区别于感知机(利用误分类最小)。后来引入的核技巧,使它成为实质上的非线性分类器。支持向量机为我们提供了在众多可能的分类器之间进行选择的原则,从而确保对未知数据集具有更高的泛化性。
2 支持向量机的推导
3 SVM的损失函数
3.1 合页损失函数
线性支持向量机学习是最小化以下目标函数: ∑ i = 1 N [ 1 − y i ( w ⋅ x i + b ) ] + + λ ∥ w ∥ 2 \sum_{i=1}^N[1-y_i(w \cdot x_i+b)]_++\lambda\begin{Vmatrix}w\end{Vmatrix}^2 i=1∑N[1−yi(w⋅xi+b)]++λ∥∥w∥∥2其中第一项是经验损失或经验风险,函数 L ( y ( w ⋅ x + b ) ) = [ 1 − y ( w ⋅ x + b ) ] + L(y(w \cdot x+b))=[1-y(w \cdot x+b)]_+ L(y(w⋅x+b))=[1−