该方法主要取决于手头的问题。对于任何问题,没有任何方法总是最快的。话虽如此,你还应该记住,一旦你选择了速度算法,你就会开始在准确性上妥协。
例如,由于您尝试对图像进行分类,因此与手头的训练样本数量相比,可能会有许多功能。在这种情况下,如果你使用内核进行SVM,你最终可能会因为方差太高而过度拟合。 因此,您可能希望选择具有高偏差和低方差的方法。使用逻辑回归或线性SVM是一些方法。
您还可以使用不同类型的正则化或技术(如SVD)来删除对输出预测没有多大贡献的功能,并且只有最重要的功能。换句话说,选择它们之间几乎没有相关性的特征。一旦你这样做,你就可以在不牺牲准确性的情况下加速你的SVM算法。
希望能帮助到你。
你的问题很好,并且与分类算法的最新技术有关,正如你所说,分类器的选择取决于你的数据,在图像的情况下,我可以告诉你,有一种方法叫Ada-Boost,读 这个 和 这个 为了更多地了解它,另一方面,你可以发现很多人正在做一些研究,例如在 使用Adaboost进行面部性别分类 [Rodrigo Verschae,Javier Ruiz-del-Solar和Mauricio Correa]他们说:
“Adaboost-mLBP优于所有其他基于Adaboost的方法,以及基线方法(SVM,PCA和PCA + SVM)” 看看吧。
如果您主要关心的是速度,那么您应该看看 VW 通常用于基于随机梯度下降的训练SVM的算法。
学习机器有一些很好的技巧,如助推器和adaboost。 一种分类方法是增强方法。该方法将迭代地操纵数据,然后在每次迭代时由特定的基础分类器对其进行分类,这反过来将构建分类模型。 Boosting在每次迭代中使用每个数据的加权,其权重值将根据要分类的数据的难度级别而改变。 虽然方法adaBoost是一种通过使用损失函数指数函数来提高预测精度的一种保证技术。
对于此类任务,您可能需要先提取功能。只有在分类后才可行。
如果特征的数量与训练示例的数量相比较大 然后你应该去没有内核的逻辑回归或SVM
如果特征的数量很少并且训练样本的数量是中间的 然后你应该使用SVN与高斯内核
功能的数量很少,训练样例的数量很大 使用逻辑回归或没有内核的SVM。
那是根据斯坦福ML级。
我认为特征提取和选择很重要。
对于图像分类,有很多功能,如原始像素, 筛 特征,颜色,纹理等。最好选择一些适合你的任务。
我不熟悉音频分类,但可能有一些特色功能,比如信号的傅里叶变换, MFCC 。
用于分类的方法也很重要。除了问题中的方法,KNN也是一个合理的选择。
实际上,使用什么特征和方法与任务密切相关。