吃瓜教程 | 第六章 支持向量机

6.1 间隔与支持向量

  • 分类学习最基本的想法就是基于训练集D在样本空间中找到一个划分超平面。

吃瓜教程 | 第六章 支持向量机_第1张图片

  •  划分超平面的线性方程:

 为法向量,决定了超平面的方向。b为位移项,决定了超平面与原点之间的距离。

  • 样本空间中任意点x到超平面(w,b)的距离可写为:

吃瓜教程 | 第六章 支持向量机_第2张图片

  •  距离超平面最近的训练样本点使(6.3)成立,它们被称为“支持向量(support vector)”,连个异类支持向量到超平面的距离之和为:

,称之为“间隔(margin)”。

 吃瓜教程 | 第六章 支持向量机_第3张图片

  •  支持向量机的目的是找到具有最大间隔的划分超平面

吃瓜教程 | 第六章 支持向量机_第4张图片

等价于,

 吃瓜教程 | 第六章 支持向量机_第5张图片

 这就是支持向量机(Support Vector Machine ,SVM)的基本型

6.2 对偶问题

  • 求解SVM的最优解w、b值,可以转化为对偶问题,使用拉格朗日乘子法可得到“对偶问题”:

 

吃瓜教程 | 第六章 支持向量机_第6张图片

 吃瓜教程 | 第六章 支持向量机_第7张图片

 吃瓜教程 | 第六章 支持向量机_第8张图片

 上述过程需满足KKT条件,即要求:

吃瓜教程 | 第六章 支持向量机_第9张图片

  •  支持向量机重要性质:模型最终结果只与支持向量有关,大部分训练样本都不需要保留。
  • 求解对偶问题的算法,著名的代表算法SMO:

吃瓜教程 | 第六章 支持向量机_第10张图片

 

 

 

6.3 核函数

  • 对于非线性可分的数据,需要将数据映射到更高维度的空间内,从而找到线性可分的超平面
  • 核函数可以将样本从原始空间映射到一个更高维的特征空间,任意一个核函数都隐式地定义了一个称为“再生核希尔波特空间”的特征空间。
  • 吃瓜教程 | 第六章 支持向量机_第11张图片

 6.4 软间隔与正则化

为了防止过拟合,允许支持向量机在一些样本上出错,引入软间隔

吃瓜教程 | 第六章 支持向量机_第12张图片

优化目标为:

吃瓜教程 | 第六章 支持向量机_第13张图片

C用来调节损失的权重,显然当C→+oo时,会迫使所有样本的损失为0,进而退化为严格执行的约束条件,退化为硬间隔,因此,本式子可以看作支持向量机的一般化形式。总之,C越大,表示第二项影响值越小,样本犯错很难,C越小,表示第二项影响值越大,更容易允许样本犯错。

吃瓜教程 | 第六章 支持向量机_第14张图片

 吃瓜教程 | 第六章 支持向量机_第15张图片

 这就是常用的“软间隔支持向量机”

吃瓜教程 | 第六章 支持向量机_第16张图片

 吃瓜教程 | 第六章 支持向量机_第17张图片

 6.5 支持向量回归

对样本(x, y),传统回归模型通常直接基于模型输出f(x)与真实输出y之间的差别来计算损失,当且仅当f(x)与y 完全相同时,损失才为零.

与此不同,支持向量回归(Support Vector Regression,简称SVR)假设我们能容忍f(x)与y之间最多有的偏差,即仅当f(x)与y之间的差别绝对值大于时才计算损失.如图6.6所示,这相当于以f(x)为中心,构建了一个宽度为2的间隔带,若训练样本落入此间隔带,则认为是被预测正确的.

吃瓜教程 | 第六章 支持向量机_第18张图片

 于是,SVR问题可形式化为

吃瓜教程 | 第六章 支持向量机_第19张图片

 吃瓜教程 | 第六章 支持向量机_第20张图片

 吃瓜教程 | 第六章 支持向量机_第21张图片

 吃瓜教程 | 第六章 支持向量机_第22张图片

 吃瓜教程 | 第六章 支持向量机_第23张图片

你可能感兴趣的:(机器学习,吃瓜教程,支持向量机,机器学习)