分类效果最好的经典机器学习算法-SVM
一,SVM整体框架
二,SVM的特点
- 优点:泛化错误率低,计算开销不大,结果易理解。
- 缺点:对参数调节和核函数的选择敏感,原始分类器不加修改仅适用于处理二类问题。
- 使用数据类型:数值型和标称型。
三,核函数与核技巧
一个低维空间下的非线性问题通过空间转换之后可以转换为一个高维空间下的线性问题。
但核函数并不像映射函数直接将原来处在低维特征空间的样本转换到高维的特征空间中,而是直接将低维特征空间中的两个样本的内积转换为高维特征空间中两个样本的内积(其实可以当做核函数间接地将原低维样本转换到了高维特征空间中,然后再将两个高维特征空间的样本做内积,但形式上核函数只是一个普通的函数,因为内积只是一个标量。)。
SVM优化中一个特别好的地方就是,所有的运算都可以写成内积的形式。向量的内积指的是两个向量相乘,之后得到单个标量或者数值。我们可以把内积运算替换成核函数,而不必做简化处理。将内积替换成核函数的方式被称为核技巧。
核函数并不仅仅适用于SVM,很多其他的机器学习算法也都用到核函数。
径向基函数
径向基函数是SVM中常用的一个核函数。径向基函数是一个采用向量作为自变量的函数,能够基于向量距离运算输出一个标量。
径向基函数的高斯版本即高斯核函数如下:
其中,是用户定义的用于确定到达率或者说函数值跌落到0的速度参数,。
四,logistic回归和SVM的比较与选择
令n=每个样本的特征数,m=训练样本的数目。则:
- 如果n相对m比较大,则可以使用logistic回归或者基于线性核函数的SVM。
- 如果n比较小,m中等大(即m比n大但不是太大),则可以使用基于高斯核函数的SVM。
- 如果n比较小,m非常大,则应该增加一些特征数,然后使用logistic回归或者基于线性核函数的SVM。
五,其他
吴恩达的机器学习课程中SVM和核函数这部分讲解得十分形象且易于理解。如果想深入学习可以看李航的统计学习方法。