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