支持向量机SVM常见问题解析

1、支持向量机的基本思想

寻找在样本空间是使样本分开的间隔最大的超平面。
支持向量机SVM常见问题解析_第1张图片

2、什么叫拉格朗日乘子法,以及它的基本想法?

拉格朗日乘子法是一种寻找多元函数在一组约束条件下求极值的方法,通过引入拉格朗日乘子将有d个变量与k个约束条件的优化问题转化成d+k个变量的无约束优化问题。
我们知道我们要求解的是最小化问题,如果我们构造一个函数,使得该函数在可行解区域与元目标函数完全一致,而在可行解区域外的数值非常大,甚至无穷大,那么这个没有约束条件的新目标函数的优化问题就与原来有约束条件的原始目标函数的优化问题等价。这就是拉格朗日方程的目的。

利用拉格朗日乘子法将原始目标函数转换成无约束的新构造的拉格朗日目标函数:
支持向量机SVM常见问题解析_第2张图片
于是我们的问题变成了求解新目标函数的最小值,即:
在这里插入图片描述
P ∗ P^* P是这个问题的最优解,且和最初问题是等价的。

从上面公式可以看出,这个优化问题需要先求最大值,再求最小值,这样=我们就要先面对带有需要求解的参数w,b,的方程,而且 a l p h a i alpha_i alphai又是不等式约束,这时我们就需要使用拉格朗日函数对偶性,将最小,最大的位置交换一下,变成下面这个样子:
在这里插入图片描述
交换以后的新问题是原始问题的对偶问题,这个新问题的最优值用d来表示。而且d<=p*。

3、KKT条件

上面说到我们通过拉格朗日函数的对偶性得到原始问题的对偶问题,且对偶问题问题的解是原始问题的解的下界,但是我们需要的原始问题的解而不是解的下界。对偶问题的解是原始问题的解的下界,称为“弱对偶性成立”。若d*=p*,则称为“强对偶性成立”。我们需要的就是让强对偶性成立。

强对偶性成立的条件:

  • 原始问题是凸优化问题,很明显我们这里的原始问题是凸优化问题。
  • 满足KKT条件,

所以KKT的条件就这么自然地被引出来了,
支持向量机SVM常见问题解析_第3张图片

KKT条件就是我们的优化问题的最优解的必要条件。因此只要我们通过对偶问题求出来的解满足KKT条件,那么这个解就是原问题的解。
具体请看这里深入理解拉格朗日乘子法和KKT条件

由于最优解需要满足KKT条件,由KKT条件可以看出,训练过程中只有支持向量与最终模型·有关,不是支持向量的点,其对应的 a l p h a i alpha_i alphai为0,

4、使用SVM时,对输入值的缩放为什么这么重要?

SVM就是拟合类别之间间隔最大的超平面,如果不进行缩放,那么拟合的超平面将忽略值较小的特征。

5、引入对偶计算的好处?

方便核函数的引入,原问题的求解复杂度与特征数量有关,如果样本的维度太高,就会严重提升运算时间。而转化成对偶问题只有问题的数量有关,最后计算的只有支持向量才有意义,所以这个计算量实际比样本数小很多。

6、核函数的选择

一般情况下使用线性核和高斯核,当样本数目很多的时候,一般使用线性核,因为计算量小。

  1. 如果 Feature 的数量很大,跟样本数量差不多,这时候选用 LR 或者是 Linear Kernel 的
    SVM。因为往往是线性可分的,可以采用线性的。
  2. 如果 Feature 的数量比较小,样本数量一般,不算大也不算小,选用 SVM+Gaussian Kernel。
    特征数多的话,求内积的时候需要消耗很多计算。
  3. 如果 Feature 的数量比较小,而样本数量很多,需要手工添加一些 feature 变成第一种情
    况。

7、SVM为什么对缺失值敏感

缺失值是指某些数据缺失某些不特征数据,而SVM没有处理缺失值的策略,且SVM需要通过计算距离求间隔最大的超平面,如果有数据有缺失值,那么将会会影响距离的计算,尤其是缺失值的样本是支持向量的时候。

8、优缺点

优点:
1.可用于线性/非线性分类,也可以用于回归,泛化错误率低,计算开销不大,结果容易解释;
2.可以解决小样本情况下的机器学习问题,可以解决高维问题 可以避免神经网络结构选择
和局部极小点问题。
3.SVM 是最好的现成的分类器,现成是指不加修改可直接使用。并且能够得到较低的错误率,
SVM 可以对训练集之外的数据点做很好的分类决策。
缺点:对参数调节和和函数的选择敏感,原始分类器不加修改仅适用于处理二分类问题。

你可能感兴趣的:(机器学习,机器学习)