理想情况下,它们应具有以下特点:
-
可以在一个晚上的编码时间内完成。不需要一周或更长时间才能获得有趣的结果。这样,我就可以在一个(可能是几个小时)的时间内感受到我已经学习并完成了一些事情。
-
这些问题来自现实世界,或者至少是现实世界问题的简化版本。
-
如果问题需要数据来测试解决方案,则可以轻松获得真实世界的数据集,或者我可以很容易地自己生成有趣的测试数据。
-
可以很容易地评估我做得有多好。当我测试我的解决方案时,从结果中可以清楚地看出我已经完成了一些重要的工作,可以通过简单的检查,或者通过结果质量的可量化衡量标准来判断。
回答:
实现以下算法:
- Perceptron,margin perceptron:你可以尝试检测人脸图像(对人脸和非人脸的图像进行分类),使用任何人脸数据库。例如,尝试MIT CBCL人脸数据库。你也可以尝试MNIST 数据,并编写一个简易的OCR系统。
- LVQ,Kohonen map:你可以尝试压缩图像。你可以从任何壁纸网站下载大型图像。
- Naive bayes classifier:你可以对垃圾邮件和非垃圾邮件进行分类。还有更多科学的数据集,例如Reuters和Newsgroups等,你需要根据文章确定主题。
- Backpropagation,multi layer perceptron:你可以尝试使用人脸数据、垃圾邮件数据,或者文本/直方图数据。
- Primal SVM linear learning using SGD:例如,你可以使用MNIST数字来尝试。
这里有很多项目,其中一些需要几个小时,有些需要几天,但你肯定会学到很多东西。