machine learning笔记:一个支持向量机的问题

在学习机器学习理论的过程中,支持向量机(SVM)应该是我们会遇到的第一个对数学要求比较高的概念。理解它的原理要花费了我不少时间,写这篇博文是因为我之前看到的一个有关SVM的问题,其解答需用到SVM的相关数学原理,可以促使我思考。支持向量机的具体原理以及推导网上有大量资源,我也会在文中提供一些供参考。


简介

支持向量机是一种有监督的学习方法,主要思想是建立一个最优决策超平面,使得该平面两侧距离该平面最近的两类样本之间的距离最大化,从而对分类问题提供良好的泛化能力。
这里有个小故事,也是我第一次看SVM课程时老师提到的,可以通过这个小故事大致理解一下SVM在做什么。

它的优点主要有如下四点:
(1)相对于其他训练分类算法,SVM不需要过多的样本。
(2)SVM引入了核函数,可以处理高维的样本。
(3)结构风险最小。也就是说,分类器对问题真实模型的逼近与真实解之间的累计误差最小。
(4)由于SVM的非线性,它擅长应付线性不可分的问题。这主要是用松弛变量(惩罚变量)和核函数来实现的。
这里我附上我所知的三个SVM的常用软件工具包:SVMLightLibSVMLiblinear


问题

下面就是我在文章开头提到的问题,直接搬运:

解析中提到的拉格朗日乘子法和KKT条件,也是我在看到这个问题后才尝试去理解的。能力有限,不能自己很好的解释,这里附上瑞典皇家理工学院(KTH)“统计学习基础”课程的KKT课件,个人觉得讲的很直观且详细了。


碰到底线咯 后面没有啦

本文标题:machine learning笔记:一个支持向量机的问题

文章作者:高深远

发布时间:2019年10月01日 - 09:34

最后更新:2020年01月29日 - 13:05

原始链接:https://gsy00517.github.io/machine-learning20191001093428/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

0%