机器学习知识点相关总结(一)——基础
机器学习知识点相关总结(二)——决策树相关
机器学习知识点相关总结(三)——LR相关
机器学习知识点相关总结(四)——SVM相关
机器学习知识点相关总结(五)——CNN相关
机器学习知识点相关总结(六)——RNN,LSTM相关
机器学习知识点相关总结(七)——k-means相关
1.讲一下SVM, SVM与LR有什么联系,与感知机的区别
SVM的思路就是在特征空间中找到一个超平面将数据集进行正确划分,并且间隔最大。
SVM是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使他区别于感知机。SVM学习策略是间隔最大化,可形式化为求解凸二次规划问题。
(支持向量在确定分离超平面中起决定性作用,因此将这种分类模型称为支持向量机。)
几个概念:函数间隔,几何间隔,支持向量。
最大间隔超平面的原理:相当于在最小化权重时对训练误差进行了约束。相当于限制了模型的复杂度,一定程素上防止过拟合。
SVM与LR联系:都是监督学习;如果不考虑核函数,都是线性分类算法;都是判别式模型。
不同:损失函数不同,LR基于极大似然估计,考虑经验风险最小化,SVM基于间隔最大化,考虑结构风险最小化;SVM只考虑超平面附近的少数点,LR考虑所有点;解决非线性机制时,SVM可以使用核函数。SVM计算复杂,适用于小数据集,LR计算简单,适合大数据集。
SVM与感知机:都是线性分类器,监督学习。
感知机追求最大程度正确划分,容易造成过拟合;支持向量机在追求正确分类同时一定程度避免过拟合。感知机可以选择多个超平面,特殊情况发展为SVM。损失函数不同。
2.SVM的推导(对偶问题数学公式),为什么使用对偶问题。核函数的体现
原始最优化问题(统计学习p99)
转化为对偶问题推导过程(统计学习p103)
为什么使用对偶问题:对偶问题往往更容易求解;很自然引入核函数,进而推广到非线性分类问题。
核函数的体现?
3.SVM如何选择核函数?
核函数:表示将输入从输入空间映射到特征空间后得到的特征向量之间的内积。
对于线性不可分问题,使用核函数可以从原始空间映射到高维空间,使得问题线性可分。
常见的核函数有:多项式核函数,高斯核函数,线性核函数。
线性核函数:主要用于线性可分情形,参数少,速度快。
高斯核函数:主要用于线性不可分,可以将样本映射到一个更高维的空间。参数多,分类结果依赖于参数。(可以将样本空间映射为无穷维空间)
多项式核函数
拉普拉斯核
sigmoid核
核函数为什么有用,从数学角度说明?
核函数是映射关系的内积,相当于一种计算映射到高维空间后的内积的一种技巧
映射函数本身是一种映射关系,并没有增加维度的特性
核函数和映射没有关系
4.软间隔
线性不可分问题函数间隔,加上一个松弛变量
5.SVM有哪些降低模型复杂度的方法
大惩罚系数,简单核函数 正则化
6.优缺点
优点:小训练集往往取得较好效果;使用核函数避免了高维空间的复杂性;泛化能力强。
缺点:时空开销比较大;核函数的选取较难,主要靠经验。
7.SMO算法如何实现
SMO算法不断分解原问题为子问题,并不断对子问题求解。
包括求解两个变量二次规划的解析方法以及选择变量的启发式方法。
是一种启发式算法,基本思路是:
如果所有变量的解都满足此最优化问题的KKT条件,那么这个最优化问题的解就得到了。否则选择两个变量,固定其他变量,针对这两个变量构建一个二次规划问题,这个二次规划问题关于这两个变量的解应该更接近原始二次规划问题的解,因为会使得原始二次规划问题的目标函数值变得更小
8.SVM怎么进行多分类问题?
一对多,k个分类问题可以训练k个SVM
一对一,任意两个样本之间都设置一个分类器,k个类别的样本需要训练k(k-1)/2个样本,预测时取得票最多的样本类别。
层次支持向量机:先将所有类别分成两个子类,再进一步将子类分成两个次级子类。循环直到得到一个单独的子类为止。