机器学习——支持向量机模型

在样本空间中,划分超平面可通过如下线性方程来描述

其中法向量,决定了超平面的方向;位移项,决定了超平面与原点之间的距离。样本空间中任意点到超平面的距离为

假设超平面能将样本正确分类,即对于,若,则有;若,则有。 我们把使得当时,的样本点,以及使得当时,的样本点称为“支持向量”,两个异类支持向量到超平面的距离之和为

它被称为“间隔”。

欲找到具有“最大间隔”划分的超平面,也就是要找到能满足约束条件的参数,使得最大,即 

显然,为了最大化间隔,仅需最大化,这等价于最小化。于是

这就是支持向量机(SVM)的基本型。

通常我们通过其对偶问题运用SMO算法来更高效地求解。训练完成后,大部分的训练样本都不需保留,最终模型仅与支持向量有关。

然而在现实任务中,原始样本空间内也许并不存在一个能正确划分两类样本的超平面,例如“异或”问题。对这样的问题,可将样本从原始空间映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分。如果原始空间是有限维,即属性数有限,那么一定存在一个高维特征空间使样本可分。

表示将映射后的特征向量,于是,在特征空间中划分超平面所对应的模型可表示为

接着有以下凸优化问题

在求解其对偶问题的过程中涉及到计算,这是样本映射到特征空间之后的内积。由于特征空间维数可能很高,甚至可能使无穷维,因此直接计算通常是困难的。为了避开这个障碍,可以设想这样一个函数:

在特征空间的内积等于它们在原始样本空间中通过函数计算的结果。有了这样的函数,我们就不必直接去计算高维甚至无穷维特征空间中的内积。这个就是“核函数”。

“核函数选择”成为支持向量机的最大变数,这方面可通过一些基本经验来在常用核函数中进行选择。

另外,缓解过拟合问题的一个办法是允许支持向量机在一些样本上出错。“软间隔”即是说允许某些样本不满足约束

当然,在最大化间隔的同时,不满足约束的样本应尽可能少,于是,优化目标为

其中是一个常数,是“0/1损失函数”。显然,当为无穷大时,上式迫使所有样本均满足约束;当取有限值时,上式允许一些样本不满足约束。这就是常用的“软间隔支持向量机”。

我们还可以把上式中的0/1损失函数换成别的替代损失函数以得到其他学习模型,这些模型的性质与所用的替代函数直接相关,但它们具有一个共性:优化目标中的第一项用来描述划分超平面的“间隔”大小,另一项用来表述训练集上的误差,如下所示

其中称为“结构风险”,用于描述模型的某些性质;称为经验风险,用于描述模型与训练数据的契合程度;用于对二者进行折中。上式也称为“正则化”问题,可理解为一种“罚函数法”,即对不希望得到的结果施以惩罚,从而使得优化过程趋向于希望目标。

综上所述,我们可以导出支持向量回归模型:假设我们能容忍之间最多有的偏差,即仅当之间的差别绝对值大于时才计算损失。这相当于以为中心,构建了一个宽度为的间隔带,若训练样本落入此间隔带,则被认为是被预测正确的

最后,发展出一系列基于核函数的学习方法,统称为“核方法”。最常见的,是通过“核化”来将线性学习器拓展为非线性学习器。

你可能感兴趣的:(算法理论基础,线性代数,机器学习,sklearn,支持向量机)