大数跨境
0
0

【十分钟 机器学习 系列课程】讲义(46):SVM支持向量机-软间隔算法与合页损失

【十分钟 机器学习 系列课程】讲义(46):SVM支持向量机-软间隔算法与合页损失 简博士数据分析吧
2022-04-29
2
导读:本课程讲义基于李航老师第2版的《统计学习方法》



内容提要:

 *线性软间隔的算法

 * 线性SVM与合页损失


点击蓝字 |关注我们

欢迎回来。上期我们给大家详细的介绍了线性软间隔的原始问题和对偶问题,今天我们就继续说说它的算法,以及如何从合页损失理解线性软间隔算法。

壹 线性软间隔的算法

上期【十分钟 机器学习 系列课程】 讲义(45):SVM支持向量机 线性软间隔的原始问题和对偶问题我们已经得到了线性软间隔的「分离超平面」「决策函数」,也就是找到了 的表达式。

1.线性软间隔的算法

既然是算法,一定有输入和输出,那么我们就一一给大家说说吧!

「输入」:训练数据集

其中

「输出」:最大间隔分离超平面与决策函数。

「算法」:

Step 1 给定惩罚参数 构造优化问题

这里的惩罚参数出现在上期推导出的「目标函数」中:

其中, 叫做「弹性因子」,也有的学者叫它「松弛变量」

代表了原始参数和松弛变量之间的「影响权重」

  • 越大代表了误分类起到的作用更大,也可以说对误分类的惩罚力度大
  • 越小代表正确分类的参数作用更大,对误分类的惩罚力度小

一般会用一些方法去选出来 ,比如说交叉验证的方法。

Step 2 求解优化问题得到最优解

找了 后,就能构造出对应的原始对偶问题。

同时要满足的条件是:

通过这个式子,能用求偏导求出

Step 3 根据 得到

然后挑出符合 的点,这些点就是支持向量 ,用它们接着就能计算出 来。

Step 4 得到分离超平面和决策函数

代入后:「分离超平面」:

在超平面上面就是 类,下面的自然就是 类。「决策函数」

2.算法解析

接着咱们就拿一张图来说说。

看看下面这张图,可以明显看出分成了两类,分别是黄色●蓝色★,那么当然也有四个点的位置有点特殊,分别是 ,那么如何运用软间隔支持向量机的思路来解决这个问题呢?

软间隔的支持向量

先找到符合线性可分要求的点

符合线性可分要求的点,正是「松弛变量」 的点,我们在上期中推导出了一个结论,也就是当 时,找到符合:

就对应的点,恰好在虚线边界上,正是咱们求超平面用到的「支持向量」

再找到 的点

这时的 了,那么它可能有以下三种情况:

  • 代表在间隔内的点,比如图中的 点和

  •  代表了正好就在分离超平面上的点

  •   代表在另一侧的点,比如图中的 点和

通过以上的思路,我们就能够根据 的值来修正对应的分类,比如对于 的点,虽然在超平面中,它仍「在另一侧」,但是通过 的标记,「可以修正它的类」,这就是支持向量机中软间隔算法的含义。

贰 线性SVM之合页损失

接着,咱们看看如何从「合页损失」的角度,来解决线性支持向量机问题吧!

1.合页的表达式

我们一般用下面这样的式子表达合页。

它代表的含义是,当 时,损失为 ,而当 时,损失为

那么合页损失长什么样儿呢?看看这张图就明白啦。

合页损失

我们看这个损失函数的形状是不是就像书的合页一样?因此,它的名字就是这么来的。

下面我们看看「软间隔对应的线性支持向量机」和它的关系。

2.软间隔和合页损失

咱们知道,在软间隔中,因为有在间隔内或间隔外的特殊点,为了描述它们的具体特征,我们加上了松弛因子 的概念。

但是呢,对于大多数线性可分的点而言,它们的 意味着 并不起作用, 只适用于那些特殊的点。

而我们的目标函数里面,是对所有变量都要去考虑 ,这样无疑我们就会增加很多的计算量。

那么该怎么减少这样的计算呢?

这时,我们就要引入「合页损失」啦。

根据上期的结论,按照KKT条件,

那就可以根据 对应的两种特性:

  • 时,样本点都是线性可分的“规矩”点,此时, 不起作用
  • 时,样本点都是线性不可分的“调皮”点,此时, 决定样本点的位置

设置一个「合页损失函数」

那么,「关键来了」,优化问题的「目标函数」就可以写成:

对于这样的目标函数而言,我们知道 ,整个目标函数乘以一个常数系数是不会对它的结果产生影响的,那么我们可以通过倍数变换,写成:

假如我们令:

那么这个式子又可以写成:

大家看,这是不是很像正则化【十分钟  机器学习  系列课程】 讲义(五):正则化与交叉验证的模样呢?

前面就是损失函数,后面就是对参数的惩罚因子。

3.三个损失函数的比较

最后,咱们就一起来看看「0-1损失」「感知机损失」「合页损失」3个损失函数的比较。

三个损失函数的比较

那么「0-1损失」代表了当分类错误时 ,有损失 ,而分类正确时, 没损失, 。就是图中红色的线段,我们可以看出他是不连续的,因此不可求导,一般不用它来做目标函数。

对于「感知机的损失」而言,它代表了当分类错误时 ,有损失,记为 ,而分类正确时, 没损失, ,也就是绿色的线段

而对于「合页损失」而言,如果我们令 那么当 时,意味着间隔小于1或者为负数,属于「特殊」点,损失函数为 ,同理,反之亦然, 时,损失函数为 。在图中,就是这里的损失函数也就是蓝色的线段,可以继续写成:

这三个损失函数相比,合页损失对应的要求最高,这也就是为什么能用它来找到最优超平面和决策函数了。

关于线性软间隔的只是向量机我们就介绍到这里,下期我们继续给大家说说非线性支持向量机和和核函数的小知识,祝大家「五一劳动节快乐」!感兴趣的小伙伴,可以点击视频链接,边看边学,效果更好哦~

支持向量机 第13讲:线性支持向量机的算法
支持向量机 第14讲: 如何从合页损失理解线性支持向量机

欢迎大家关注简博士的B站和公众号,在公众号私信“入群”,可以与小伙伴们一起讨论问题哦。

【声明】内容源于网络
0
0
简博士数据分析吧
信息时代最不缺的是什么?数据!最缺的是什么?数据分析的思维!在这里,你将获取神秘的力量,推开数据之门!
内容 181
粉丝 0
简博士数据分析吧 信息时代最不缺的是什么?数据!最缺的是什么?数据分析的思维!在这里,你将获取神秘的力量,推开数据之门!
总阅读42
粉丝0
内容181