机器学习之工程师入门路线

来源:互联网 发布:数据可视化医学网 编辑:程序博客网 时间:2024/05/16 18:59
相信想学习机器学习的广大工程师们已经被那些算法大神的言论虐的怕怕的了吧?不用担心,我来带你们理理一个工程师需要入门机器学习,到底要走哪个路线?

一、 基础

不用多说,机器学习作为高门槛领域,基础还是需要的,但是也没有想得那么恐怖,很多人提问机器学习需要哪些数学知识,然后就会得到一大堆犹如天书般高大上的回答: 矩阵分析、微积分、概率论、统计学、数学分析等等,如果按照这些算法大神的路线去走,也许这条路就真的走到头了。

所以,入门阶段要学什么数学呢?

答案就是:大学学过的基本的线性代数、高数(主要是微积分)、概率统计,不需要多高深,重点是能看懂,工程应用的核心是实践,不需要你去证明那些乱七八糟的定理!

好了,有了这些基本的基础,你就可以看懂和理解大部分的机器学习算法内容了。

2、编程语言

作为工程师,这个对你来说是小菜吧?目前来说Python在科学计算领域是应用最广的,因为学会它就行,虽然python性能不好,但是毕竟简单嘛,很受非编程人员的欢迎。等你学懂了这个领域,自然可以其它语言去实现自己想要的东东。


二、入门

第一步:

如果你相信知乎算法大神们推荐的elements of machine learning,那就真的入坑了,工程师最大的优点是啥?懂得实践并且知道自己的实力到底有几瓶醋!

因此我推荐学习Machine Learning In Action,应用语言是Python,如果对英文没自信,那就看中文版本的:机器学习实践。这本书最大的优点就是用较少的公式给你讲解了尽量多的基本算法,而且剖析到位,讲解生动,降低了机器学习的抽象程度。


第二步:

可以学习一些网上的教学课程了,建议学习国外的,毕竟外国人的性格更擅长深入浅出。这里推荐Coursera上面Andrew Ng大神的Machine Learning课程。这门课程的特点如下:全面、深入浅出、有课堂作业来印证学习的内容。

这里我有个建议:一定要一点一点地把这门课啃清楚了,所以作业都做会了,有问题就谷歌,总是有答案的。对于机器学习来说,基础永远都是最重要的!

第三步:

这个时候,你对机器学习应该也有一些概念了,这个时候可以培养一些全局观了,我们可以看这两本中文教材:周志华大神的<机器学习>、李航大神的<统计学习方法>,这两本是难得的佳作,值得一看!

英文书籍的话,可以看<Patten Recognition And Machine Learning> 和 <Elements of Statistical Learning>,  后者难度较大,但是内容很丰富,每次学习都会有新的收获。

第四步:

到了上一步,就真的完全入门了,这一步就是选择自己的应用方向了,毕竟机器学习是一个笼统的概念。比如大数据分析预测、图模型、深度学习、自然语言处理、图像识别、语音识别等等,这些都是一些应用方向。

然后要讲讲机器学习的平台,现在最火的自然是Tensorflow了,谷歌公司用C++开发,用Python、Go(很快就会在官方的api库中正式发布,对此我还是很期待的,毕竟Go语言的性能是非常高的,工程师不像算法科学家,我们对于性能要求也是很苛刻的)做Api接口。学习这个平台可以从tensorflow上那些models学起,看看这些应用是怎么用tensorflow实现机器学习的。


再具体的,这里就不多说了,其实作者作为工程师也是在摸索之中。

以上就是参考了网上很多文章和结合自身的感悟提出来的一个工程师的入门路线图,算法方向的可以无视哈。