时也势也,最近因为机缘巧合,下定主意要从项目管理领域跳转到机器学习领域(人工智能/深度学习),为了更快更高效的进入学习状态,我对这一块的培训市场和自学方法也做了一些调研。上一篇(机器学习培训班这么多,你该如何选择?)已经就培训市场情况,做了一个简要说明,今天就自学成才道路进行简要分析。由于我也是刚刚开始这块的学习,难免会有纰漏,请大家批评指正。
首先,阐明以下个人背景:211工科硕士,双控工程毕业,有一定数学和人工智能基础。
接下来,我们就细细分析人工智能的自学之路。
1.前提条件:个人学力(非学历)要求
很多培训班在进行培训产品推介的时候,都会对学员的学历背景做一定了解,是不是大学生?有没有学过高数?是否了解统计学?甚至有的培训班还会将英语水平作为一个咨询条件。
在我个人看来,培训班这样做,并非是做样子,而是,在人工智能的进阶之路上,确实有一定的基础知识和硬性条件,概括来讲有以下几点
(1)数学能力:分为高等数学、线性代数和统计学等领域。
举个例子,很多机器学习/人工智能培训课的第一堂课,往往会将线性回归。线性回归的求解思路有两种:线性代数矩阵求逆和梯度下降法,前者需要学生知道什么矩阵,向量,转置、求逆等基本知识,后者需要学生了解导数、偏导数,这些概念在高等数学的基础上是,是很难直接领会的,跨专业跨行业自学的同学,如果您的大一大二基础课不错,相信入门应该会轻松很多。
为什么要讲统计学?这就要细致的谈到机器学习的知识体系,机器学习从监督角度来分,分为监督学习和无监督学习,有很多模型的基础是直接来源统计学,所以有时候大家会看到统计学习这个概念,就是这种原因。有一本比较好的入门书籍推荐给大家《统计学习方法》-李航编写的,通俗易懂,开篇就给大家介绍了:统计学习是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测和分析的一门学科。书中提到的感知机、k近邻等方法就不一一列举了。
综合看来,数学方面的基础能力,确确实实是学习机器学习的基础,不可或缺。
(2)计算机能力:基本的计算机知识和适当的编程能力。
计算机能力的要求,应该是易于理解的,机器学习,必须是要驱动机器去学习,去对数据进行特征提取,去代替人思考和判断,连驱动机器的基本常识不具备,可能也会在这方面吃一些亏吧。
问题的关键在于应当如何定义计算机能力?
人工智能需要计算机编程高手吗?非也,计算机高手固然有优势,但数学建模能力更重要。这里讨论机器学习最低门槛水平,我认为即是具备阅读伪代码的基本水平吧。
现如今,世界上的机器学习框架非常多,存在有以各种计算机语言为基础的机器学习算法库,最为火爆的就是python,而python就是著名的胶水语言,其编码行文逻辑非常类似人类语言,可以达到快速上手。创新导师李开复曾经说过:我那个时候学机器学习,但是没什么成果,为甚?因为没有这么多技术的支撑,个人能力非常有限,成果有效,但现在不一样,大数据、机器学习的开源项目,总有一款适合你。
剩下英语能力,说到底还是进阶需求,当学习到一定程度之后,你会发现大家都要从英文里面找材料来学习,这里暂且不讨论。
2.确定学习目标
在经过自我判定,是否具备机器学习自学的条件后,我们需要定位自己的学习目标,没有目标就没有计划,没有计划,自学将成为无稽之谈。
那个人应该如何确定目标了?其实有个很简单方法:上招聘网站,看人工智能相关岗位的岗责要求,岗责要求中对学历、经验、技能、理论功底、都有非常明确的要求,可谓是明码变价,后续,我将会就人工智能岗位做一个大数据分析,发表第一篇纯技术应用型文章。
简单来讲,我们可以将目标定义为三类:
(1)初级小白:对人工智能有一定了解的业外人士;
(2)中级工程师:能够利用机器学习方法投入生产实践的专业人士;
(3)技术领袖:在机器学习领域具备理论探索能力的神级人士;
在这里,我们之探讨第二类,因为第二类是常人所能及,第一类相对简单,顺道就可以实现,而第三类那就是博士教授大大们的事情了,与凡人无关了(开个玩笑,只要你愿意干,都可以实现的)。
3.自学进阶之道
这一部分将会推荐很多机器学习自学资料,按难易程度排序,供大家参考:
(1)基础篇
书籍:
1.统计机器学习。李航
2.机器学习。周志华
视频:
1.机器学习。斯坦福。吴恩达
2.
Tom Mitchell(CMU)
机器学习
(2)升级篇
书籍:
1.机器学习实战
2.深度学习-AI圣经
视频:
1.
Learning from Data
2.機器學習基石
(3)实战篇
书籍
1.Tensorflow实战google深度学习框架
目前,我个人还在第一阶段,跟着吴恩达的课程和周志华的西瓜书在学习,效果尚可,没有很明显的学习梯度。
4.想强调的话
企业在招聘人才的时候,相比于理论能力,更看重实践能力,如果没有机器学习实战的同学,可以有以下几条渠道刷经验:
(1)加入开源项目(github上找),争取成为contributer
(2)参加国内外机器学习竞赛,拿名次,国内有天池、国外有kaggle
总之一句话,就是要多练。
写到最后,还是非常抱歉,未能给大家在机器学习自学上有更多贡献,但是我相信师父领进门修行在个人,当每个人都进入机器学习的自由王国之后,思想的交流与碰撞会更加重要。
补充,对于学生党来讲,可以发论文,以下是机器学习高水平论文期刊、会议名录,摘自《机器学习》周志华
- 机器学习领域
- 国际会议:
- 国际机器学术会议:ICML
- 国际神经信息处理系统会议NIPS
- 国际学习理论会议COLT
- 区域会议:
- 欧洲机器学习会议ECML
- 亚洲机器学习会议ACML
- 国际期刊
- journal of machine learning research
- machine learning
- 人工智能领域
- 重要会议
- 重要期刊
- artificial intelligence
- journal of artificial intelligence research
- 数据挖掘领域
- 重要会议
- 重要期刊
- ACM transactions on knowledge discovery from data
- data mining and knowledge discovery
- 计算机与模式识别
- 重要会议
- 重要期刊
- IEEE transactions on pattern analysis and machine intelligence
- 神经网络领域
- 重要期刊
- neural computation
- IEEE transactions on neural networks and learning systems
- 统计领域
- 国内:
- 中国机器学习大会(CCML)两年一次
- 机器学习机器应用(MLA)
2017年12月15日