设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 IT综合资讯 查看内容

程序员初学机器学习的四种方式

2014-5-14 10:08| 发布者: joejoe0332| 查看: 2627| 评论: 0|原作者: XiaoxiaoLi|来自: 伯乐在线

摘要:   学习机器学习有很多方法,大多数人选择从理论开始。   如果你是个程序员,那么你已经掌握了把问题拆分成相应组成部分及设计小项目原型的能力,这些能力能帮助你学习新的技术、类库和方法。这些对任何一个职业 ...


  4. 实现一个机器学习算法


  选一个算法,然后选一个编程语言来实现它,或者把一个已有的实现移植到你选定的编程语言上。


  你应选择一个中等复杂度的算法来实现。我推荐你仔细研究你想要实现的算法,或选择一个你喜欢的已有实现然后把它移植到你选定的编程语言。


  从头开始实现一个算法,是学习那些关于把算法描述转换成一个可行的系统的过程中必须要做的无数的小决定的好方法。在不同算法上重复这个过程,很快你就能对读懂论文和书里面算法的数学描述有感觉了。


  五个能帮助你从头开始实现机器学习算法的策略有:


  •  从代码移植开始。把开源的算法实现从一种语言移植到另外一种语言能教会你算法是如何实现的,并且你能拥有并掌握它。这是开始学习的最快的途径,非常值得推荐。
  • 从一个算法描述开始,然后采集一些其他的描述来帮助你排除歧义并且理解主要的那个参考材料。
  • 多读该算法的不同实现。学习不同程序员是如何理解算法描述并且如何把它转换成代码的。
  • 不要陷入过炫的方法太深。许多机器学习算法的内核用的都是高级优化算法。不要尝试重新实现这些方法,除非这就是你做这个项目的本意。你应该用一个提供优化算法的类库,或者用一个更容易实现的或者类库里就有的简单点的优化算法(如梯度下降算法)。


  小型项目方法论


  以上四个策略属于我称为“小型项目”的方法论。你用这个方法可以很快建立在技术领域(比如机器学习)方面的实用技能。大意就是你设计并且亲手完成解决特定问题的小项目。


  小型项目在几个方面应该足够小,才能保证你能完成它们并且从中学习,然后好步入到下一个项目中去。下面是一些你应该考虑加在项目上的一些限制:


  • 时间短:一个项目从头到最后能有可展现的结果不应超过5-15小时。这样利用一周中不上班的晚上和周末时间你就能完成一个小项目。
  • 范围小:一个项目应该有意义,但同时应该是你感兴趣的问题的范围最小的版本。举个例子,与其解决广义的“写一个能告诉我微博是否会被转发的程序”,还不如去研究这个问题在一个特定的账号在一个特定的时间段内的表现。
  • 所需资源少:一个项目应该能用你的可联网的台式或者笔记本电脑完成。你不应该需要奇葩的软件,网络架构,或者第三方数据或者服务。你应搜集需要的数据,读入内存,用开源工具来解决你那个小问题。


  额外有关项目的小贴士


  这些策略的原则是让你利用你的程序员技能开始行动。下面是三条帮助你调整思维模式,有助你开始行动的小贴士:


  • 写下你学到的东西。我推荐你每个步骤都产生一个有形的劳动成果。它可以是本子里的笔记,微博,博客文章或者是开源项目。每个劳动成果都可以作为一个里程碑或锚。
  • 除非项目的目的是写代码,否则不要写。这条不是那么显而易见,但却是最能帮助你加快理解机器学习的速度的建议。
  • 目的是学到东西,而不是产生独一无二的资源。不要管是否有人读你关于一个算法的研究、教程或是笔记。这些都是你的观点,是你的劳动成果,他们证明你现在掌握到了知识。


  总结


  下面是这些策略的一句话清晰总结,可以帮助你选择适合自己的那个。


  1. 学习一个机器学习工具:选择一个你喜欢的工具或类库,学习如何很好的使用它。。
  2. 学习一个机器学习数据集:选择一个数据集,深入地离家它,发掘哪类算法处理它最有效。
  3. 学习一个机器学习算法:选择一个算法,深入理解它,发掘什么样的参数设置在不同数据集上都稳定。
  4. 实现一个机器学习算法:选择一个算法,用你选定的语言实现它或者是把已有的实现移植到你选定的语言上。


  选一个吧!


  PDF指导手册


  如果你喜欢这篇自学策略文章,作者创建了一个32页的有关学习并实践应用机器学习的PDF指导手册。看这里:

小项目方法论:学习并实践应用机器学习


  作者还创建了一个包含90个项目想法的清单,作为附加福利加在这个指导里面了。


原文链接: Jason Brownlee   翻译: 伯乐在线 - XiaoxiaoLi
译文链接: http://blog.jobbole.com/67621/


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部