SVM的梯度下降解释及其算法比较 | 您所在的位置:网站首页 › ucsfpdf › SVM的梯度下降解释及其算法比较 |
SVM之前就做过总结(支持向量机),其中详细说明了SVM的推导过程和实现,也就是主流的解释,数学推导过程比较严谨。但是总有一种感觉,与其他机器学习算法相比,SVM好像是一个不一样的存在,最近看了李宏毅老师对SVM的解释,了解SVM与其他机器学习算法的一致性。 本文不会涉及到SVM原理的推导,而是从另一个角度来分析SVM,并且引入了两个最核心的概念就是hinge loss和kernel trick,最后说明SVM与其他机器学习算法内在的一致性(这个是最最重要的)。 1. Hinge Loss首先,参考李宏毅老师的讲解,按照机器学习算法的三个步骤来初步展示SVM: 对上图的说明: SVM的function set写成一个式子就是: g ( x ) = s i g n ( ∑ i w i x i + b ) g(x) = sign(\sum_i w_ix_i + b) g(x)=sign(∑iwixi+b),二分类的标签写做+1和-1(其它二分类写做0和1,这里不同是为了后序过程更顺畅);我们知道 δ ( g ( x n ) = ̸ y ^ n ) ) \delta(g(x^n) = \not \hat y^n)) δ(g(xn)≠y^n))是不可微分的,无法使用梯度下降法训练,因此我们希望定义一个可以微分的损失函数 l ( f ( x n ) , y ^ n ) l(f(x^n), \hat y^n) l(f(xn),y^n)。下面我们就来看一下如何选择损失函数: 首先,我们希望分类正确的点损失很小,分类错误的点损失很大。这样,我们定义一个坐标系,横轴为 y ^ n f ( x ) \hat y^n f(x) y^nf(x),纵轴为损失函数。当分类正确时,即 y ^ n f ( x ) ; 0 \hat y^n f(x) ; 0 y^nf(x)>0,损失很小;当分类错误时,即 y ^ n f ( x ) ; 0 \hat y^n f(x) ; 0 y^nf(x) |
CopyRight 2018-2019 实验室设备网 版权所有 |