• 核函数选择:
(1)如果特征维数很高,往往线性可分(SVM解决非线性分类问题的思路就是将样本映射到更高维的特征空间中),可以采用LR或者线性核的SVM;
(2)如果样本数量很多,由于求解最优化问题的时候,目标函数涉及两两样本计算内积,使用高斯核明显计算量会大于线性核,所以手动添加一些特征,使得线性可分,然后可以用LR或者线性核的SVM;
(3)如果不满足上述两点,即特征维数少,样本数量正常,可以使用高斯核的SVM。
训练速度:线性核只有惩罚因子一个参数,训练速度快,RBF还需要调节gamma;
训练结果:线性核得到的权重w能反映出特征的重要性,由此进行特征选择,RBF无法解释;
训练数据:线性核适合样本特征>>样本数量的,RBF核相反。(揭示了如何选择核函数)
• 简单介绍SVM(详细原理):
从分类平面,到求两类间的最大间隔,到转化为求间隔分之一,等优化问题,然后就是优化问题的解决办法,首先是用拉格拉日乘子把约束优化转化为无约束优化,对各个变量求导令其为零,得到的式子带入拉格朗日式子从而转化为对偶问题, 最后再利用SMO(序列最小优化)来解决这个对偶问题。
• SMO算法实现SVM(思想、步骤、常见问题)
1.思想:将大的优化问题分解为多个小的优化问题,求解小的优化问题往往更简单,同时顺序求解小问题得出的结果和将他们作为整体求得的结果一致。
2.步骤:1. 选取一对需要更新的变量ai和aj(阿尔法)2. 固定除ai和aj以外的所有变量,求解对偶问题获得更新ai、aj、b。
3.常见问题—如何选取ai和aj和b?
选取违反KKT条件最严重的ai,另一个变量与第一个变量对于样本之间的间隔最大
b一般选取支持向量求解的平均值
• SVM的推导,解释原问题和对偶问题,SVM原问题和对偶问题的关系,KKT限制条件,KKT条件用哪些,完整描述;软间隔问题,解释支持向量、核函数(哪个地方引入、画图解释高维映射,高斯核可以升到多少维(无穷),如何选择核函数),引入拉格朗日的优化方法的原因,最大的特点,损失函数解释
• KKT限制条件,KKT条件有哪些
• 引入拉格朗日的优化方法的原因、为什么要从原始问题转换成对偶问题的总结
、对偶问题将原始问题中的约束转为了对偶问题中的等式约束;
、方便核函数的引入;
、改变了问题的复杂度。由求特征向量w转化为求比例系数a,在原始问题下,求解的复杂度与样本的维度有关,即w的维度。在对偶问题下,只与样本数量有关;
、求解更高效,因为只用求解alpha系数,而alpha系数只有支持向量才非0,其它全部为0。
• SVM与LR最大区别,LR和SVM对于outlier的敏感程度分析
同:
第一,LR和SVM都是分类算法。
第二,如果不考虑核函数,LR和SVM都是线性分类算法,也就是说他们的分类决策面都是线性的。
第三,LR和SVM都是监督学习算法。
第四,LR和SVM都是判别模型。
生成算法尝试去找到底这个数据是怎么生成的(产生的),然后再对一个信号进行分类。基于你的生成假设,那么那个类别最有可能产生这个信号,这个信号就属于那个类别。判别模型不关心数据是怎么生成的,它只关心信号之间的差别,然后用差别来简单对给定的一个信号进行分类。常见的判别模型有:KNN、SVM、LR,常见的生成模型有:朴素贝叶斯,隐马尔可夫模型。
异:
第一,本质上是其loss function不同。
第二,支持向量机只考虑局部的边界线附近的点,而逻辑回归考虑全局(远离的点对边界线的确定也起作用,虽然作用会相对小一些)。
第三,在解决非线性问题时,支持向量机采用核函数的机制,而LR通常不采用核函数的方法。
第四,SVM依赖数据表达的距离测度,所以在建模前需要对数据标准化,LR则不需要;
第五,SVM受惩罚系数C的影响较大,实验中需要做Validation,LR则不需要;
第六,LR适合于大样本学习,SVM适合于小样本学习
• 为什么要把原问题转换为对偶问题?
因为原问题是凸二次规划问题,转换为对偶问题更加高效。
为什么求解对偶问题更加高效?
因为只用求解alpha系数,而alpha系数只有支持向量才非0,
其他全部为0.alpha系数有多少个?
样本点的个数
• **加大训练数据量一定能提高SVM准确率吗? **
支持向量
• 与感知器的联系和优缺点比较
当训练数据线性可分时,存在无穷个分离超平面可以将两类数据正确分开。感知机利用误分类最小策略,求得分离超平面,不过此时的解有无穷多个。线性可分支持向量机利用间隔最大化求得最优分离超平面,这时,解是唯一的。另一方面,此时的分隔超平面所产生的分类结果是最鲁棒的,对未知实例的泛化能力最强。
• 如何解决多分类问题、可以做回归吗,怎么做
一对多法(one-versus-rest,简称1-v-r SVMs)。训练时依次把某个类别的样本归为一类,其他剩余的样本归为另一类,这样k个类别的样本就构造出了k个SVM。分类时将未知样本分类为具有最大分类函数值的那类。
• 它与其他分类器对比的优缺点,它的速度
多分类时候效率低,
• 样本失衡会对SVM的结果产生影响吗?如何解决SVM样本失衡问题?样本比例失衡时,使用什么指标评价分类器的好坏?
1.样本失衡会对结果产生影响,分类超平面会靠近样本少的类别。原因:因为使用软间隔最大化,假设对所有类别使用相同的惩罚因子,而优化目标是最小化惩罚量,所以靠近样本少的类别惩罚量少。
2.解决SVM样本失衡问题方法:
对不同的类别赋予不同的惩罚因子(C),训练样本越少,C越大。缺点:偏离原始样本的概率分布。
对样本的少的类别,基于某种策略进行采样。
基于核函数解决问题。
3.当样本比例不均衡时,使用ROC曲线。
• SVM适合处理什么样的数据?
高维、稀疏、样本少的数据。