掌握机器学习技能最常见的五个错误

jopen 9年前
 

掌握机器学习技能没有最正确的方法,每个人的学习方法都有不同。为了帮助更快地熟练机器学习技能,这个博客着重指出在学习中常见的五个错误:

1. 把机器学习看的基石

机器学习只是众多帮助解决复杂问题的技能之一,因为它是一个在萌芽中的领域,机器学习通常出现在学术期刊论文,和研究生的课本中。这使得大众认为它是高大上,坚无不摧,无所不能。思维需要转变,从高端技术到实用具体处理方法,从精细到“适可而止”。这对于学习其他复杂方法也一样。

2. 写机器学习代码

从写代码开始掌握机器学习使问题变得不必要的复杂,因为你至少需要解决两个问题:第一,怎么用代码实现技术,第二,怎么把这个技术应用于给定的问题。一次解决一个问题会比较容易,平衡机器学习,统计知识和算法库来掌握怎么把技术应用于给定问题。这使得你可以快速发现,实践,调试各种算法,然后选择一两个最合适的算法做精细研究,而不是用大量的时间在科研论文中研究模糊不清的算法。

3. 手动的解决问题

机器学习的应用包括界定问题,准备数据,呈现分析结果,调试算法,测试算法等,都可以自动完成。自动化是现代软件在编译,测试,部署方面的重大发展。用脚本语言来完成数据准备,算法调试,结果呈现,可以更高效,更快捷。记住并重新使用在软件工程中的技能。不能实现自动很多程度上是因为许多程序员都是从书本开始学习机器学习的技能,或者不注重应用的课程。事实上,把机器学习应用自动化对于程序员是个大的机会。

4. 对于普通问题重新发明解决方法

在你自己从零开始实现算法解决问题时,已经有成百上千的人已经解决了类似的问题,发掘他们的经验。 “不要重新发明轮子”。已经有丰富的实现算法的技能和代码了。虽然仍然有很多还停留在书本或论文中,但是你可以去挖掘它。用google, google books, google scholar去搜索算法和问题,参与机器学习的网上社区。

5. 忽略数学

你不需要坚实的数学理论来开始使用机器学习技能,但是数学是机器学习最重要的部分。因为它用最有效最清晰明了的方式阐释问题和系统的行为。忽略算法的数学基础会造成很多问题,比如对于技能了解有限,对算法理解不清。比如,很多算法核心都有逐渐更新的优化机制。知道优化机制的特性可以使你有效的调试算法,发掘问题。

综上所述,五个经验就是

1. 不要机器学习当成基石

2. 不要写机器学习算法的代码

3. 不要手动调试算法,应用算法

4.  “不要重新发明轮子”

5. 不要忽略数学。

英文原文

http://mp.weixin.qq.com/s?__biz=MzA4MTA5MjE5Mw==&mid=400277347&idx=1&sn=3c56d6635738b5530598f28704735e6f&scene=0#wechat_redirect