什么是一些好的机器学习编程练习?

时间:2010-11-17 23:08:48

标签: machine-learning artificial-intelligence

理想情况下,它们具有以下特征:

  1. 它们可以在编码的一个晚上完成。它不需要一周或更长时间才能获得有趣的结果。这样,我觉得我已经学会了并且只用一次(可能是几个小时)的时间就完成了一些事情。

  2. 问题来自现实世界,或者它们至少是现实世界问题的玩具版本。

  3. 如果问题需要数据来测试解决方案,那么现实世界的数据集很容易获得,或者我自己生成有趣的测试数据是微不足道的。

  4. 很容易评估我的工作有多好。当我测试我的解决方案时,从结果中可以清楚地看出,我已经完成了一些非常重要的事情,无论是通过简单的检查,还是通过量化的结果质量测量。

3 个答案:

答案 0 :(得分:22)

实施以下算法:

  • Perceptron,margin perceptron:您可以尝试使用任何面部数据库检测面部图像(对面部和非面部图像进行分类)。试试MIT CBCL face database。你也可以尝试MNIST data并写一个穷人的OCR系统。
  • LVQ,Kohonen地图:您可以尝试压缩图像。您可以从任何壁纸网站下载大图像。
  • 朴素贝叶斯分类器:您可以对垃圾邮件进行分类,而不是垃圾邮件。鉴于文章,还有更多科学数据集,例如Reuters和新闻组等,你必须确定这个主题。
  • 反向传播,多层感知器:您可以尝试使用面部或垃圾邮件,或with the text/histogram data
  • 使用SGD进行原始SVM线性学习:例如,您可以使用MNIST数字进行尝试。

有很多项目,其中一些需要几个小时,有些需要几天,但你肯定会学到很多。

答案 1 :(得分:6)

大多数机器学习项目可能需要一些时间。

如何对贝叶斯文本进行分类?

NLTK Toolkit(Python的自然语言工具包)中的一个示例是电影评论。该工具包提供标记为正面或负面的电影评论。

编写贝叶斯分类器,可以使用此数据进行培训,对电影评论进行分类。

答案 2 :(得分:6)

检查UCI machine learning repository输出真实数据集。

Breast Cancer Wisconsin (Diagnostic) Data Set 例如。 检查数据集描述以获取有关它的更多信息。

即使是Naive Bayes分类器也会在此数据集上获得很好的结果(超过95%的交叉验证精度)。如果我没记错的话,通过一些变量选择你甚至可以达到100%。