程序猿的压力从来就没有停止过,从语言、平台到构架,技术总是日新月异,我们的学习之路永远没有终点。Google的AlphaGo和IBM的Waston最近又给IT界带来巨大的震动。计算机认知技术现在成了知识界的Top 1话题。所以程序猿的学习之路上,又横空出世了“机器学习”这么个巨无霸出来。
机器学习对程序猿的考验不仅是编程的能力,如果想做深、做专、做出品味来,还需要对分布式计算、学习算法、数学等有一定的掌握。故此路和以往的技术升级相比,门槛提高了许多。
本人也是一名在这条路上摸索的程序猿,有幸的是目前的工作内容也在相同方向上,可以多些时间和精力的投入。开此博,一是学习的总结,为自己设定一个可以衡量的目标,自我监督;二是结交同道的学友,共同成长。
本博的核心思想:以动手实战带动理论的学习
程序猿学习新技术,第一个问题就是用什么语言?我考察过R语言、Java和Python,最终选择了Python。作为程序猿,出生于统计学的R一来就被毙了,Python和Java相比,区别是很明显的,在入门学习这块,Python是学习资料和工具最多的。所以从学习的角度讲,先用python吧。以后实际工作和产品研发再用Java也不迟,没有太大影响的。一旦掌握了算法和思路,语言只是工具而已。
机器学习的资料,知乎上有很多,还可以百度一下。各种文章多得就像娱乐版的明星新闻一样。这里就只说下我现在学习过的资料,仅供参考:
书:机器学习实战,尽管有说代码写得不好,数学理论介绍不够详尽的差评。但是完全满足我现在的需求。不同人有不同的需求,这一定要找准适合自己的,哪怕不看书,只看某些博客呢:)。
此书特点:选择了流行算法的基础版本进行讲解,虽然数学公式一笔带过,但是我们可以通过相应的知识点去知乎、百度和Google来补充。某些大而全的书,虽然都讲了,但似乎又什么都没讲;另外,就是基于Python的练习题,完全满足了动手练习的需要。
视频:看过最火爆的Andrew Ng的视频,看了几次课就没看了。主要是自己需要的是一个有快速反馈(动手练习)的学习过程,所以只有等以后再继续“拜看”了。我上了“小象”的2017年1月的机器学习课程,避免广告不多讨论,“书非买不能读”呀~
数学:又把大学的教材买了一套回来,有概率论、线性代数和高等数学。主要作为参考用书,看到不懂的公式复习一下。
现在的学习就是围绕一本书、一个网络课程进行。
开篇就写到这里吧,后面的学习过程我会继续完善用到的学习资料到这里。有兴趣小伙伴可以扫描下面的二维码,关注公众号:机器学习研习社
你的关注,我的动力!