手推版本7步
一、支持向量、对偶问题、SVM优化
二、软间隔、核函数
面试补充:
1 、SVM中什么时候用线性核什么时候用高斯核?
- 当数据的特征提取的较好,所包含的信息量足够大,很多问题是线性可分的那么可以采用线性核。
- 若特征数较少,样本数适中,对于时间不敏感,遇到的问题是线性不可分的时候可以使用高斯核来达到更好的效果。
2、什么是支持向量机,SVM与LR的区别?
- SVM可以用于解决二分类或者多分类问题,此处以二分类为例。SVM的目标是寻找一个最优化超平面在空间中分割两类数据,这个最优化超平面需要满足的条件是:离其最近的点到其的距离最大化,这些点被称为支持向量。
2.1、LR和SVM 区别
- 1)LR是参数模型,SVM是非参数模型。
- 2)从目标函数来看,区别在于逻辑回归采用的是logistical loss,SVM采用的是hinge loss.这两个损失函数的目的都是增加对分类影响较大的数据点的权重,减少与分类关系较小的数据点的权重。
- 3)SVM的处理方法是只考虑支持向量点,也就是和分类最相关的少数点,去学习分类器。而逻辑回归通过非线性映射,大大减小了离分类平面较远的点的权重,相对提升了与分类最相关的数据点的权重。
- 4)逻辑回归相对来说模型更简单,好理解,特别是大规模线性分类时比较方便。而SVM的理解和优化相对来说复杂一些,SVM转化为对偶问题后,分类只需要计算与少数几个支持向量的距离,这个在进行复杂核函数计算时优势很明显,能够大大简化模型和计算。
- 5)logic 能做的 svm能做,但可能在准确率上有问题,svm能做的logic有的做不了。
3、问题:SVM的作用,基本实现原理;
- SVM可以用于解决二分类或者多分类问题,此处以二分类为例。SVM的目标是寻找一个最优化超平面在空间中分割两类数据,这个最优化超平面需要满足的条件是:离其最近的点到其的距离最大化,这些点被称为支持向量。
- 解析:建议练习推导SVM(见本文顶部),从基本式的推导,到拉格朗日对偶问题。
4、问题:SVM的硬间隔,软间隔表达式;
5、问题:SVM使用对偶计算的目的是什么,如何推出来的,手写推导;
- 目的有两个:
- 一是方便核函数的引入;
- 二是原问题的求解复杂度与特征的维数相关,而转成对偶问题后只与问题的变量个数有关。由于SVM的变量个数为支持向量的个数,相较于特征维数较少,因此转对偶问题。通过拉格朗日算法使带约束的优化目标转为不带约束的优化函数,使得W和b的偏导数等于零,带入原来的式子,再通过转成对偶问题。
6、问题:SVM的物理意义是什么;
- 构造一个最优化的超平面在空间中分割数据
7、SVM核函数的选择
- 当样本的特征很多且维数很高时可考虑用SVM的线性核函数。
- 当样本的数量较多,特征较少时,一般手动进行特征的组合再使用SVM的线性核函数。
- 当样本维度不高且数量较少时,且不知道该用什么核函数时一般优先使用高斯核函数,因为高斯核函数为一种局部性较强的核函数,无论对于大样本还是小样本均有较好的性能且相对于多项式核函数有较少的参数。
8、SVM的损失函数
9、核函数的作用
- 核函数隐含着一个从低维空间到高维空间的映射,这个映射可以把低维空间中线性不可分的两类点变成线性可分的。然后利用低纬度不容易线性可分的在高纬度容易分割的基础原理。
- 核函数绝就绝在它事先在低维上进行计算,而将实质上的分类效果表现在了高维上,也就是避免了直接在高维空间的复杂计算。
10、SVM和全部数据有关还是和局部数据有关?
- SVM只和分类界限上的支持向量点有关,换而言之只和局部数据有关。
11、为什么高斯核能够拟合无穷维度
- 因为将泰勒展开式代入高斯核,将会得到一个无穷维度的映射。
12、SVM所有核函数的了解应用,SVM的损失函数
13、核函数的种类和应用场景。
11、高斯核函数可以到多少维度?
- 可以无穷维。根据泰勒公式,e的指数函数可以写成无穷维的多项式函数, 高斯函数中有e的指数函数,通过推导可以得出两个e的指数函数相乘的形式。进而高斯核函数就可以表示为无穷维空间的多项式内积了.
12、简单介绍下SVM。
- 这里需要整理下。