使用SVM中需要确定参数C以及核函数。
前一讲中我们提到标记点的选取和核函数的选择尤为重要。作者这里列举了一些核函数,但只推荐线性核函数和高斯核函数,其它用的都较少。
线性核函数也叫无核函数,满足θTx≥0,则预测结果y=1。当你的特征数量n很大,但数据量m很小时,由于数据量不足,在这种情况下如果使用其他核函数,你可能会过拟合,因此,此时线性核函数是一个合理的选择。
注意:如果你有大小很不一样的特征变量,在使用高斯核函数之前,对它们进行归一化是很重要的。
多项式核函数一般用的也很少。
对于多分类情况,可以选择合适的SVM包,大部分SVM包已经内置了多分类函数。
还有一种方法是前面逻辑回归提到的一对多的方法,假设K分类,你需要训练出K个SVM,每一个SVM把一个类同其它类分开。
什么时候该用逻辑回归什么时候该用SVM呢?
n是特征变量的个数,m是训练样本数
注意:逻辑回归和不带核函数的SVM它们是非常相似的算法,如上图中,有时候它们表现是相似的。根据实现的具体情况,其中一个可能会比另一个更加有效。具体选择。
什么时候采用神经网络呢?
对于上面所有的情况,一个好的神经网络也很可能会非常有效,但是神经网络训练起来可能会很慢。但是如果你有一个非常好的SVM实现包,它会运行得比较快,比神经网络快很多。
SVM的优化问题,实际上是一个凸优化问题。因此好的SVM优化软件包总是会找到全局最小值,或者接近它的值。 对于SVM,你不需要担心局部最优。在实际应用中,局部最优对神经网络来说不是非常大,但是也不小。所以使用SVM,你不用考虑这部分问题。