[机器学习之SVM] 线性SVM还是非线性SVM?
2013-01-29 13:46
232 查看
SVM的应用领域很广,分类、回归、密度估计、聚类等,但我觉得最成功的还是在分类这一块。
用于分类问题时,SVM可供选择的参数并不多,惩罚参数C,核函数及其参数选择。对于一个应用,是选择线性核,还是多项式核,还是高斯核?还是有一些规则的。
实际应用中,多数情况是特征维数非常高。如OCR中的汉字识别,提取8方向梯度直方图特征,归一化的字符被等分成8*8的网格,每个网格计算出长度为8的方向直方图,特征维数是8*8*8 = 512维。在这样的高维空间中,想把两个字符类分开,用线性SVM是轻而易举的事,当然用其它核也能把它们分开。那为什么要选择线性核,因为,线性核有两个非常大的优点:
1. 预测函数简单f(x) = w’*x+b,分类速度快。对于类别多的问题,分类速度的确需要考虑到,线性分类器的w可以事先计算出来,而非线性分类器在高维空间时支持向量数会非常多,分类速度远低于线性分类器。
2. 线性SVM的推广性有保证,而非线性如高斯核有可能过学习。再举个例子,基于人脸的性别识别,即给定人脸图像,判断这个人是男还是女。我们提取了3700多维的特征,用线性SVM就能在测试集上达到96%的识别正确率。因此,线性SVM是实际应用最多的,实用价值最大的。
如果在你的应用中,特征维数特别低,样本数远超过特征维数,则选用非线性核如高斯核是比较合理的。
如果两类有较多重叠,则非线性SVM的支持向量特别多,选择稀疏的非线性SVM会是一个更好的方案,支持向量少分类速度更快,如下图。
帖子来源: http://xiaozu.renren.com/xiaozu/121443/356866219
用于分类问题时,SVM可供选择的参数并不多,惩罚参数C,核函数及其参数选择。对于一个应用,是选择线性核,还是多项式核,还是高斯核?还是有一些规则的。
实际应用中,多数情况是特征维数非常高。如OCR中的汉字识别,提取8方向梯度直方图特征,归一化的字符被等分成8*8的网格,每个网格计算出长度为8的方向直方图,特征维数是8*8*8 = 512维。在这样的高维空间中,想把两个字符类分开,用线性SVM是轻而易举的事,当然用其它核也能把它们分开。那为什么要选择线性核,因为,线性核有两个非常大的优点:
1. 预测函数简单f(x) = w’*x+b,分类速度快。对于类别多的问题,分类速度的确需要考虑到,线性分类器的w可以事先计算出来,而非线性分类器在高维空间时支持向量数会非常多,分类速度远低于线性分类器。
2. 线性SVM的推广性有保证,而非线性如高斯核有可能过学习。再举个例子,基于人脸的性别识别,即给定人脸图像,判断这个人是男还是女。我们提取了3700多维的特征,用线性SVM就能在测试集上达到96%的识别正确率。因此,线性SVM是实际应用最多的,实用价值最大的。
如果在你的应用中,特征维数特别低,样本数远超过特征维数,则选用非线性核如高斯核是比较合理的。
如果两类有较多重叠,则非线性SVM的支持向量特别多,选择稀疏的非线性SVM会是一个更好的方案,支持向量少分类速度更快,如下图。
帖子来源: http://xiaozu.renren.com/xiaozu/121443/356866219
相关文章推荐
- [机器学习之SVM] 线性SVM还是非线性SVM?【转】
- 线性SVM还是非线性SVM?
- [机器学习实验6]线性SVM分类和非线性SVM分类
- 线性与非线性SVM, 机器学习中的范数规则化之(一)L0、L1与L2范数
- 线性SVM还是非线性SVM
- OpenCV·机器学习·线性SVM
- 逻辑回归到底是线性的还是非线性的?
- 【机器学习】使用Scikit-Learn库的核SVM解决非线性问题
- 机器学习(7)——支持向量机(二):线性可分支持向量机到非线性支持向量机
- 机器学习中线性模型和非线性的区别
- SVM详解(包含它的参数C为什么影响着分类器行为)-scikit-learn拟合线性和非线性的SVM
- 机器学习 -- SVM:线性可分性问题(转载)
- 机器学习20-线性支持向量机svm公式推导(二)
- 机器学习第十课:支持向量机SVM(一)线性可分(硬间隔)SVM
- 机器学习之支持向量机SVM Support Vector Machine (二) 非线性SVM模型与核函数
- 线性SVM与非线性SVM
- 机器学习之SVM(二) 非线性情况
- 【机器学习】SVM学习(三):线性分类器的求解
- 机器学习中的线性和非线性判断
- 【机器学习】SVM学习(三):线性分类器的求解