svr公式推导_SVM原理及公式推导

最近重新复习机器学习和深度学习相关的知识点,从XGBoost到SVM,再到CRF和Batch Normalization等,这些知识放在平时都知道是什么意思,都知道有什么用途;但是到了真正要说出它原理的时候,又说不出个所以然来,所以特此整理下,方便后续学习和知识梳理添加。

一、SVM原理

在理解SVM原理的时候,主要分三点理解,分别是:超平面、对偶问题、核函数。

超平面表示的是SVM分类的基础原理,对偶是对这个超平面计算过程的一个补充,而核函数则是在计算超平面是的一种优化方式。

超平面

首先拿二维的情况举个例子,如上图,假设有两种样本数据,代表着两种类型,这时候存在着一条线(二维情况下),可以把两个数据集分割开来,这就完成了分类的问题。

那更深入的挖一下,这样的线可能有很多条,那哪一条才是最优的那条线,具有比较好的泛化能力,可以笔记好的应对噪声?

从几何角度来说,两样本到超平面的间隔越大,抗干扰能力越强,所以最佳超平面就是以最大间隔把样本分开的超平面,也称之为最大间隔超平面。

其实也就是要先找到两侧离超平面最近的样本点,求出其到超平面的距离之和,即

。然后不同超平面,

不同,为了找到最佳超平面,我们需要最大化

,可以理解为泛化能力最大的那个超平面,即

用数学公式表达为:

(乍一看还有点生成对抗网络的味道)

高中知识点:点到直线的距离d:点

到直线

的距离等于:

所以我们可以得任何维度的情况下,都存在一个超平面

,其中

表示系数,有

。则样本到超平面的距离为:

,其中

这里变成用2乘表示的是:d是最近的那个点,到超平面距离的2倍。

我们知道

,而且这是一个常数值,在求解优化的时候可以不用考虑,可以直接用1替代。

我们可以考虑把这里面的

去掉,怎么去掉?

表示的是能够把样本分类好了之后,最近那个点到超平面的意思,所以前提就是需要先把样本分好,用公式表示就是,在超平面之下的是一种样本,在超平面之上的就是另一种样本:

在满足了该前提的条件下,得:

我们习惯求最小值,而且

是带更号的,所以我们可以加个平方后,再乘系数

方便求导,最终有:

对偶问题

具体怎么求解?这就要请出我们的拉格朗日大哥了。

拉格朗日求解带有不等式的约束条件:

带不等式的约束条件的优化问题,一般会先转化为带等式约束,再通过拉格朗日乘子法求解。如:给定约束条件

,求min f(x) 的问题,首先定义一个k值,使得

, 接着定义如下拉格朗日函数(λ为拉格朗日乘子):

即将不等式约束转为无约束了,最后分别对各个参数求导即可。

这里的

等价于

,得到如下,相当于其他算法中的损失函数了:

分别对

四个参数进行求导得

未完待续。。。

你可能感兴趣的:(svr公式推导)