【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解

Hinge Loss 解释

SVM 求解使通过建立二次规划原始问题,引入拉格朗日乘子法,然后转换成对偶的形式去求解,这是一种理论非常充实的解法。这里换一种角度来思考,在机器学习领域,一般的做法是经验风险最小化 (empirical risk minimization,ERM),即构建假设函数(Hypothesis)为输入输出间的映射,然后采用损失函数来衡量模型的优劣。求得使损失最小化的模型即为最优的假设函数,采用不同的损失函数也会得到不同的机器学习算法,比如这里的主题 SVM 采用的是 Hinge Loss ,Logistic Regression 采用的则是负 Logistic 损失。

【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解

从二项分布的角度来考虑 Logistic 回归:

【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解

这里另 【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解 ,  【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解 为 sigmoid 映射,则: 

【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解

【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解 的图形如下图的红色曲线,可见 【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解 , 【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解 的取值越小,即损失越小。反之另:

【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解

此时得到的图像应该为关于 【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解 对称的红色的线(没画出),此时 【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解 的取值越小,即损失越小。

【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解

: 图中绿色的线为 Square Loss ,蓝色的线为 Hinge Loss, 红的的线为负 Logistic 损失,黑色的线为0-1损失。

二分类问题

给定数据集  【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解 , 要用这些数据做一个线性分类器,即求得最优分离超平面 【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解 来将样本分为正负两类,给定数据集后只需求得最优的参数  【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解 即可,为了解决这个问题,首先做出如下线性映射函数 

【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解

根据经验风险最小化原则, 这里引入二分类的 Hinge Loss :

【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解

上图中对应的 【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解 ,所以SVM可以通过直接最小化如下损失函数二求得最优的分离超平面:

【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解

【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解相当于一个L2正则项。

多分类问题

对于多分类问题依旧使用的是One VS All策略

【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解

从LR到SVM

接下来将重点讲LR与SVM损失函数之间的关系,参考Andrew NG教授的课件。

在下面的推导中标签被分为两类,非0即1.

【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解

support vector machine:

【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解

观察可以发现,两者极为相似。SVM在LR之上做了两处改动:

  1. SVM对整体损失乘了样本数(m),并将正则化因子【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解移到了前头,改成了C(【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解).
  2. SVM将损失函数由对数损失函数改成了Hinge Loss.其中【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解,【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解

对上面的式子稍微做一些变化即可推导回我们所熟悉的形式。

【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解,将偏差b从参数中分离出来,并记【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解(表示【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解中除去第一个元素之外的所有元素)且记【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解

则有

【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解

同理,有

【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解

为方便定义函数间隔,将负类的标签改为-1;

则综合上面两个条件,有【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解

此时【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解都为0,化简目标函数可得

【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解

好了,这就和我们之前优化求解二次规划问题的形式一模一样了!

SVM核函数(SVM with Kernels)

之前已经有写过核函数了,但那边着重介绍的是核函数可以被方便的用在svm中从而解决非线性可分问题,以及一些优点。但是对于核函数到底做了一件什么事情可能还是一知半解,说白了就是映射。

重新再回顾一遍吴恩达的教案。

【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解

要解决非线性问题,就需要引入组合特征,将原问题映射到高维空间中去。这边引入了新的特征f以代替原先的特征,以拥有非线性的决策边界。但是这里有很明显的缺点,手动构建特征很明显是无法适应问题的。

【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解

以高斯核为例,我们把每个样本点自身作为一个landmark,将样本点与每个landmark之间的相似度(类似于距离)作为新的特征。

【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解

上图很明显的说明了,当x靠近【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解的时候,特征趋近于1,很远的话就为0了。

【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解

其实很容易理解,当新的样本点靠近正样本的时候,正样本的权重比较大,则新的样本有更大的可能被归为正样本。

【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解

【机器学习】SVM之Hinge Loss,从LR到SVM,SVM核函数进一步理解

吴恩达的教案中是从实例的角度讲解了高斯核的用法。

下一篇讲一下用SVM回归,之后有时间再研究一下SMO算法