机器学习之抽样检查的重要性

来源:互联网 发布:mac homebrew 是什么 编辑:程序博客网 时间:2024/04/30 06:12

原文: http://machinelearningmastery.com/why-you-should-be-spot-checking-algorithms-on-your-machine-learning-problems/

和http://machinelearningmastery.com/create-lists-of-machine-learning-algorithms/?utm_content=buffer6c174&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer


这篇文章主要讲在面对许多的机器学习算法,如何快速的选择比较适合解决你问题的算法。解决方案: 使用抽样检查方法,测试在一些算法上的性能。在缩小范围之后,再重点对该类型的算法及其变种进行深入的实验分析。


从我作为初学者的角度,我列出之前犯过的错误: 
1. 由于掌握知识的不广泛,懒惰等原因,在解决问题之初,重点测试了一些自己比较在行的算法,做各种完整的参数测试。 
    不利: 过早优化,花费时间。其实可能有别的算法更适合这个问题的求解。也有可能是问题本身描述不准确。
    解决方案:调研解决该问题的常见算法,写一个自动脚本, 进行抽样检查,在测试之后,挑选合适的算法,进行重点优化。
2. Favorites are dangerous.  由于人对不熟悉领域的害怕,总是会选择自己熟悉的算法,花费许多时间调算法来解决新的问题。熟不知,你的算法不一定适合求解该问题。算法总是有一定适合场景。尝试过不少论文的算法,比如求解knn,在我自己的数据集上,传统的lsh,tree的方法都不太管用。


我们应该:
1. 多熟悉和调研一些算法。

2. 写各种算法的自动脚本测试数据集。

常见的算法分类: 

  • Regression algorithms
  • SVM algorithms
  • Data projection algorithms
  • Deep learning algorithms
  • Time series forecasting algorithms
  • Rating system algorithms
  • Recommender system algorithms
  • Feature selection algorithms
  • Class imbalance algorithms
  • Decision tree algorithms

作为计算机视觉的初学者,我们可以也可以列出自己的Image classification, Image segmentation, Image Annotation, Image Retrieval的各个步骤常见算法。

比如Image Classification algorithms: Feature Representation: (1) bow-of-word : k-means, IFV, vlad, (2) deep learning.  Classification Methods: svm, logistic regression, boosting, random forest.....

3. 采用图表方法直观显示测试结果。

4. 及时添加新的算法到自动脚本中。



0 0
原创粉丝点击