SVM的应用领域很广,分类、回归、密度估计、聚类等,但我以为最成功的仍是在分类这一块。ide
用于分类问题时,SVM可供选择的参数并很少,惩罚参数C,核函数及其参数选择。对于一个应用,是选择线性核,仍是多项式核,仍是高斯核?仍是有一些规则的。函数
实际应用中,多数状况是特征维数很是高。如OCR中的汉字识别,提取8方向梯度直方图特征,归一化的字符被等分红8*8的网格,每一个网格计算出长度为8的方向直方图,特征维数是8*8*8 = 512维。在这样的高维空间中,想把两个字符类分开,用线性SVM是垂手可得的事,固然用其它核也能把它们分开。那为何要选择线性核,由于,线性核有两个很是大的优势:学习
预测函数简单f(x) = w’*x+b,分类速度快。对于类别多的问题,分类速度的确须要考虑到,线性分类器的w能够事先计算出来,而非线性分类器在高维空间时支持向量数会很是多,分类速度远低于线性分类器。测试
线性SVM的推广性有保证,而非线性如高斯核有可能过学习。再举个例子,基于人脸的性别识别,即给定人脸图像,判断这我的是男仍是女。咱们提取了3700多维的特征,用线性SVM就能在测试集上达到96%的识别正确率。所以,线性SVM是实际应用最多的,实用价值最大的。spa
若是在你的应用中,特征维数特别低,样本数远超过特征维数,则选用非线性核如高斯核是比较合理的。若是两类有较多重叠,则非线性SVM的支持向量特别多,选择稀疏的非线性SVM会是一个更好的方案,支持向量少分类速度更快,以下图:ci
如今对选用线性SVM仍是非线性SVM有一个基本认识了吧?以上为我的的一些理解,不免有误差之处,欢迎你们指正或补充。后面会继续写一些SVM方面的帖子,但愿对感兴趣的人有点用处。it
转自:http://xiaozu.renren.com/xiaozu/121443/356866219class