Artificial Intelligence编程语言爱好者程序员技术栈

支持向量机(三)

2017-09-21  本文已影响47人  SmallRookie
使用支持向量机

我们不推荐自己编写相关代码实现支持向量机的代价函数最小化。因此,我们可以使用现有的支持向量机的软件包,如:liblinear,libsvm等。

现假设n表示特征变量的个数,m表示训练数据的个数,则:

注:

  1. 在使用高斯核函数支持向量机时,由于原特征变量的取值范围差异较大。因此,在使用高斯核函数支持向量机之前推荐进行归一化操作。
  2. 神经网络模型或许能在以上任意情况下运行良好,但其训练速度过慢。

除了高斯核函数外,我们还有以下核函数:

注:并不是所有的相似函数都能够成为有效的核函数。只有满足Mercer's Theorem的核函数才能被支持向量机的优化软件包正确处理。

Question:
Suppose you are trying to decide among a few different choices of kernel and are also choosing parameters such as C, σ2, etc. How should you make the choice?

A. Choose whatever performs best on the training data.
B. Choose whatever performs best on the cross-validation data.
C. Choose whatever performs best on the test data.
D. Choose whatever gives the largest SVM margin.

该问题的正确答案为B。

多分类问题

我们可以使用之前介绍的一对多方法来解决该问题,我们也使用支持向量机内置的多类分类问题的软件包来解决该问题。

上一篇 下一篇

猜你喜欢

热点阅读