我是机器学习的新手。我熟悉 SVM、神经网络和 GA。我想知道学习对图片和音频进行分类的最佳技术。SVM 做得不错,但需要很多时间。有人知道更快更好的吗?另外我想知道 SVM 最快的库。
7 回答
您的问题是一个很好的问题,并且与分类算法的最新水平有关,正如您所说,分类器的选择取决于您的数据,对于图像,我可以告诉您有一种方法称为 Ada-Boost,请阅读此和此以了解更多信息,另一方面,您会发现很多人正在做一些研究,例如在使用 Adaboost 进行面部性别分类[Rodrigo Verschae,Javier Ruiz-del-Solar和毛里西奥·科雷亚] 他们说:
“Adaboost-mLBP 优于所有其他基于 Adaboost 的方法,以及基线方法(SVM、PCA 和 PCA+SVM)”看看它。
如果您主要关心的是速度,您可能应该看看VW,通常是基于随机梯度下降的训练 SVM 的算法。
如果与训练示例的数量相比,特征的数量很大,那么你应该使用逻辑回归或没有内核的 SVM
如果特征数量很少并且训练示例的数量是中间的,那么你应该使用带有高斯核的 SVN
是特征数量少,训练样例数量大,使用逻辑回归或不带内核的支持向量机。
那是根据 stanford ML-class 。
对于此类任务,您可能需要先提取特征。只有这样分类才是可行的。
该方法主要取决于手头的问题。对于任何问题,没有一种方法总是最快的。话虽如此,您还应该记住,一旦您选择了速度算法,您将开始在准确性上妥协。
例如 - 由于您尝试对图像进行分类,与手头的训练样本数量相比,可能会有很多特征。在这种情况下,如果您使用带有内核的 SVM,您最终可能会因方差过高而过度拟合。因此,您需要选择一种具有高偏差和低方差的方法。使用逻辑回归或线性 SVM 是一些方法。
您还可以使用不同类型的正则化或技术(例如 SVD)来删除对您的输出预测贡献不大且仅具有最重要的特征的特征。换句话说,选择它们之间相关性很小或没有相关性的特征。一旦你这样做了,你就可以在不牺牲准确性的情况下加速你的 SVM 算法。
希望能帮助到你。
学习机器有一些很好的技术,例如 boosting 和 adaboost。一种分类方法是boosting方法。该方法将迭代地操作数据,然后在每次迭代时由特定的基分类器进行分类,进而构建分类模型。Boosting 在每次迭代中使用每个数据的权重,其中权重值将根据要分类的数据的难度级别而变化。而adaBoost方法是一种集成技术,通过使用损失函数指数函数来提高预测的准确性。