机器学习笔记(参考吴恩达机器学习视频笔记)11_支持向量机

版权声明:博客内容都是对一些知识的整理,可能有些部分存在借鉴,如果存在侵权,请联系我删掉。 https://blog.csdn.net/cunxinlitian/article/details/82835529

11 支持向量机

11.1 支持向量机的优化目标

从逻辑回归开始展示我们如何一点一点修改来得到本质上的支持向量机。

如图,一个y=1的样本,希望趋近于1,意味着当趋近于1时,应当远大于0。一个y=0的样本,希望趋近于0,意味着当趋近于0时,应当远小于0。

表示一个训练样本所对应的表达式。

y=1时,(1-y)为0,此时得到,在这个前提下命名一个新的代价函数,记为,它与曲线非常相似,先是一条斜线,当z大于1后变为一条直线。

y=0时,(1-y)为1,此时得到,在这个前提下命名一个新的代价函数,记为,它与曲线非常相似,先是一条直线,当z大于-1后变为一条斜线。

逻辑回归的优化目标表示为:

由上述定义可知,将替换为,即;将替换为,即;按照支持向量机的惯例,书写会稍微有些不同,代价函数的参数表示也会稍微有些不同。首先,去除,会得出同样的最优值。接着,针对,上式可以简化表示为:。可以使用一个不同的参数替换这里使用的来权衡这A、B两项。替换后的简化表示为:。在逻辑回归中,如果给定的是一个非常大的值,意味着给予 B 更大的权重。而这里,就对应于将C设定为非常小的值。将C考虑成,会得出同样的最优值。

综上所述,支持向量机的优化目标表示为:

11.2 最小化问题的转变

如果C非常大,则最小化代价函数的时候,我们将会很希望找到一个使第一项为 0 的最优解。一个训练样本,标签为y=1,要使第一项为0,则;类似地,y=0,要使第一项为0,则。在y = 1和y= 0两种情况下都使得代价函数中左边的这一项尽量为零的参数。如果我们找到了这样的参数,则我们的最小化问题便转变成:

如果参数C设置的非常大,支持向量机的决策边界如线a所示。如果参数C设置的不是太大,支持向量机的决策边界如线b所示。当C不是非常非常大的时候,它可以忽略掉一些异常点的影响,得到更好的决策界。回顾,因此:

1)C较大时,相当于较小,可能会导致过拟合,高方差。

2)C较小时,相当于较大,可能会导致低拟合,高偏差。

11.3 核函数

使用高级数的多项式模型来解决上图中无法用直线进行分隔的分类问题,模型可能为:的形式。

用一系列的新的特征来替换模型中的每一项。例如令:,可以利用核函数来计算出新的特征f。

给定训练实例x,利用x的各个特征与预先选定的地标(landmarks)的近似程度来选取新的特征

例如:

就是核函数,具体而言,这里是一个高斯核函数(Gaussian Kernel)。如果一个训练实例x与地标L之间的距离近似于0,则新特征近似于=1,如果训练实例x与地标L之间的距离较远,则近似于=0。

图中水平面的坐标为而垂直坐标轴代表。可以看出,只有当重合时才具有最大值。随着的改变,f值改变的速率受到的控制。

  

图中红色的封闭曲线所表示的范围,便是依据一个单一的训练实例和选取的地标所得出的判定边界,在预测时,采用的特征不是训练实例本身的特征,而是通过核函数计算出的新特征

地标的选择:通常是根据训练集的数量选择地标的数量,即如果训练集中有m个实例,则选取m个地标。并且令:。使新特征是建立在原有特征与训练集中所有其他特征之间距离的基础之上的。即:

支持向量机的两个参数C和的影响:

1)C较大时,相当于较小,可能会导致过拟合,高方差;

2)C较小时,相当于较大,可能会导致低拟合,高偏差;

3)较大时,可能会导致低方差,高偏差;

4)较小时,可能会导致低偏差,高方差;

猜你喜欢

转载自blog.csdn.net/cunxinlitian/article/details/82835529
今日推荐