赞
踩
1. 请简述SVM 原理
支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;SVM还包括核技巧,这使它成为实质上的非线性分类器。SVM的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。SVM的学习算法就是求解凸二次规划的最优化算法。
2. SVM 为什么采用间隔最大化
当训练数据线性可分时,存在无穷个分离超平面可以将两类数据正确分开。感知机利用误分类最小策略,求得分离超平面,不过此时的解有无穷多个。线性可分支持向量机利用间隔最大化求得最优分离超平面,这时,解是唯一的。另一方面,此时的分隔超平面所产生的分类结果是最鲁棒的,对未知实例的泛化能力最强。可以借此机会阐述一下几何间隔以及函数间隔的关系。
3. 为什么SVM要引入核函数
当样本在原始空间线性不可分时,可将样本从原始空间映射到一个更高维的特征空间,使得样本在这个特征空间线性可分。而引入这样的映射后,所要求解的对偶问题的求解中,无需求解真正的映射函数,而只需知道其核函数。核函数定义:K(x,y)=<Q(x),Q(y)>,即在特征空间的内积等于它们在原始样本空间中通过核函数K计算的结果。一方面数据变成高维空间中线性可分的数据,另一方面不需要求解具体的映射函数,只需要给定具体的核函数,大大降低求解难度。
4. SVM 核函数之间的区别
一般选择线性核和高斯核,也就是线性核与RBF核。线性核: 主要用于线性可分的情形,参数少,速度快,对于一般数据,分类效果已经很理想了。RBF核:主要用于线性不可分的情形,参数多,分类结果非常依赖于参数。有很多人是通过训练数据的交叉验证来寻找合适的参数,不过这个过程比较耗时。如果Feature的数量很大,跟样本数量差不多,这时候选用线性核的SVM。如果Feature的数量比较小,样本数量一般,不算大也不算小,选用高斯核的SVM,下面是吴恩达的见解:
1. 如果Feature的数量很大,跟样本数量差不多,这时候选用LR或者是Linear Kernel的SVM
2. 如果Feature的数量比较小,样本数量一般,不算大也不算小,选用SVM+Gaussian Kernel
3. 如果Feature的数量比较小,而样本数量很多,需要手工添加一些feature变成第一种情况
5. 为什么SVM对缺失数据敏感
这里说的缺失数据是指缺失某些特征数据,向量数据不完整。SVM 没有处理缺失值的策略。而SVM希望样本在特征空间中线性可分,所以特征空间的好坏对SVM的性能很重要。缺失特征数据将影响训练结果的好坏。
附加题:
https://blog.csdn.net/echo_1994/article/details/81586728
https://www.zhihu.com/question/339723385/answer/782509914
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。