程序员如何转型到机器学习领域之一?

宁婕

由于机器学习比较火,待遇也比较高,所以很多的程序员小哥都会想要转型到机器学习的领域,包括我前段时间也有过此类的想法,想去学习一下机器学习的内容。

对于程序员最重要的能力,我也曾经对很多人讲过,就是学习,当然,我也自认为自己的学习能力其实还算不错。所以在电脑上安装了TensorFlow,然后去Google TensorFlow的官网上去看他的教材和Demo。

然后,我就被打击了。

可能对于很多程序员来说,以前可能是做.NET应用程序的,或者Java应用程序的,然后想转行去做游戏,那学习一下游戏的一些引擎,类似U2D, U3D,然后做一些练习,基本就可以入门了。

但是机器学习其实对编程方面的能力要求并不是特别的高,机器学习对什么要求最高呢?数学。

如果想学习机器学习相关知识的同学,可以去看看http://www.tensorfly.cn,它有很多关于机器学习的文章和demo。

我们平时在看技术文章的时候,我们可以看到很多很多的代码,甚至会有demo的代码下载。

但是我们看机器学习的文章的时候,会发现,里面出现得最多的两个字叫“算法”。

我们可以看到很多这样的内容:

说实话,做互联网已经10多年了,计算机的知识,代码的知识,可以说我都问题不大。但是数学真的已经还给老师了。

一篇关于机器学习的文章看完以后,给我的感觉就是,完全不知道写的什么,这些一个个的数学公式是什么鬼?

所以,如果大家想要从程序员转型到机器学习领域,我推荐大家去看的第一本书就是《高等数学》

先从基础开始学习吧,把数学的基础知识先稳固一下,这样我们才能够看得懂那些更深入的知识,自然,我们大学时候可能并不上心的《高等数学》,就需要好好的研读一下了,如果你还保留的上课的笔记,少年,你是好样的。

高数我们复习好了,接下来就是概率了,一本《概率论》掏出来吧。

说穿了,机器学习里面有很多和概率有关的算法,那不了解概率的基础知识,只从应用出发是不合理的。

当你把这两本书的知识都复习好了以后,那么就可以开始你的算法之路了。《Deep Learning》可以让你充分的了解深度学习的算法知识。

当然,可能很多的同学和我一样,已经把数学知识都还给老师了,直接的去看数学方面的书,可能很难能够回忆起当时的学习内容。

这个时候,可能你需要找个老师,好好的教教你数学了,无论是培训班,还是一些大学的课程,去学习一下吧,这样能够接受得快一点。

如果同学你本来就是数学系出生,并且你的数学知识比较牢固,那恭喜了,你比学计算机的更加适合机器学习领域。

总而言之,人工智能领域重要的是数学,所以,程序员们,转型之前要慎重考虑。


会技术的葛大爷

两个字—学习。一个程序员,最不该丢掉的能力就是学习能力。那么该如何来进行学习呢?这里我结合自身经验来推荐一些机器学习的入门级教材。

  1. 《机器学习》.周志华老师的机器学习是一本非常经典的入门教材,书中系统梳理了传统的几大类机器学习算法,并且附带了大量的习题。对于这本书,无需介绍太多,我的建议就是对着书,把书中的算法自己推到一遍。至于实例代码,我建议使用MATLAB(附带了很多机器学习库)再重新编写一遍,相信会对书中理论有更深的认识。
  2. 《机器学习实战》
    .这本书由前英特尔工程师哈林顿编写,全书代码均使用Python实现,如果不熟悉,建议先学习一下Python(很简单优雅的一门语言)。这本书的作者从工程师的视角出发,把实际工作和枯涩的理论联系在了一起,可以让人实实在在感受到编程的乐趣,是一本难得的好书。
  3. 《深度学习》.该书由Google及加拿大蒙特利尔大学的三位科学家编著而成
    。这本书虽然是主讲深度学习(机器学习的一个分支,目前的主流研究方向),但还是系统的先介绍了一遍机器学习的基本理论,相信就算你没有基础直接看这本书,也还是能够获得一些基本的概念。主体深度学习部分讲的就更为详细,书中涉及内容过多,这里就不一一赘述,建议这本书要慢慢的读,做好笔记,最好能够经常复习。
  4. 《Tensorflow实战:第二版》.这本书详细介绍了当今最为流行的深度学习框架——谷歌公司推出的Tensorflow
    。书中从做应用的角度介绍了tensorflow框架的结构和一些使用案例,并给出部分示例代码,相信学完这本书会对深度学习有一个更新的认识。
这里就先介绍这么多,欢迎打击关注太科罗技,并在下方积极留言补充。

太科罗技

转型进入机器学习领域有很多方式,这里我给你推荐一些学习资源吧。


1. 在线课程

斯坦福大学在计算机科学和机器学习领域是处在世界前列的,这个学校有很多公开课,网上都可以找得到资源的,其中比较有名的是吴恩达的“CS229 | Machine Learning”还有李飞飞的“CS231n | Convolutional Neural Networks for Visual Recognition”。如果看英文比较费劲的话,网易云课堂上有配有中文字幕的课程,链接在这里(http://study.163.com/category/AI)。

网易云课堂上也有其他很多关于机器学习、人工智能的课程资源。






2. 书籍推荐


周志华《机器学习》(俗称西瓜书)


李航《统计学习方法》


《机器学习实战》


《深度学习》(俗称花书)




3. 实战平台


kaggle是一个很棒的实战平台,因为它上边有许多现实中的问题的数据集可供使用。你也可以查看内核,看看别人对比赛的数据集所使用的解决方案,可以边实战边学习。


网址:https://www.kaggle.com/


GitHub是一个开源社区,也可以说是一个代码仓库,这上边有许多别人开源出来的代码和项目,通过阅读别人的代码来学习,也可以帮助你更快地学习。


网址:https://github.com/




4. 论文


毫无疑问,要跟上时代前沿,看论文必不可少。许多大佬的研究成果会第一时间以论文的形式放出来,如果不去阅读论文,就不知道大佬在做什么研究工作。


这里放出来一个网址,这上边可以免费下载论文。


网址:https://arxiv.org/





分享到:


相關文章: