n为特征数, m为训练样本数。
(1)如果相较于m而言, n要大许多,即训练集数据量不够支持我们训练一个复杂的非线性模型,我们选用逻辑回归模型或者不带核函数的支持向量机。
(2)如果n较小,而且m大小中等,例如n在 1-1000 之间,而m在 10-10000 之间,使用高斯核函数的支持向量机。
(3)如果n较小,而m较大,例如n在 1-1000 之间,而m大于 50000,则使用支持向量机会非常慢,解决方案是创造、增加更多的特征,然后使用逻辑回归或不带核函数的支持向量机。
值得一提的是,神经网络在以上三种情况下都可能会有较好的表现,但是训练神经网络可能非常慢,选择支持向量机的原因主要在于它的代价函数是凸函数,不存在局部最小值。
逻辑回归和不带核函数的支持向量机
逻辑回归和不带核函数的支持向量机它们都是非常相似的算法,不管是逻辑回归还是不带核函数的 SVM,通常都会做相似的事情,并给出相似的结果。但是根据你实现的情况,其中一个可能会比另一个更加有效。
在其中一个算法应用的地方,另一个也很有可能很有效。但是随着 SVM 的复杂度增加,当你使用不同的内核函数来学习复杂的非线性函数时,样本数量可能是 5 万(50,000),你的特征变量的数量会相当大。这是一个非常常见的体系,也许在这个体系里,不带核函数的支持向量机就会表现得相当突出,而逻辑回归则不容易实现目的。