你是否正在准备自学机器学习,但又不知道怎么去学?
本文告诉你在机器学习之路上的几个步骤,保你不会迷路,下面开始我们的表演。
在闷头学习机器学习之前,最好先把什么是机器学习搞清楚,了解机器学习的基本概念。
简单来说,机器学习就是教电脑怎样从数据中学习,然后做出决策或预测。对于真正的机器学习来说,电脑必须在没有明确编程的情况下能够学习识别模型。
机器学习属于计算机科学与统计学的交叉学科,在多个领域会以不同的面目出现,比如你应该听过这些名词:数据科学、大数据、人工智能、预测型分析、计算机统计、数据挖掘······
虽然机器学习和这些领域有很多重叠的地方,但也不能将它们混淆。例如,机器学习是数据科学中的一种工具,也能用于处理大数据。
机器学习自身也分为多个类型,比如监督式学习、非监督式学习、增强学习等等。例如:
想了解机器学习的入门知识,可以看看一些网络课程。对于想对机器学习领域的重点慨念有个基础的了解的人来说,吴恩达教授的机器学习入门课程绝对必看
以及“无人车之父”SebastianThrun的《机器学习入门》课程,对机器学习进行了详细介绍,并辅以大量的编程操作帮助你巩固所学内容
当然也少不了集智君整理制作的免费专栏,在这里你可以免去安装环境的烦恼,直接投入简单地机器学习训练中来:
边看边练的机器学习简明教程
这些课程都是免费的哦!
大概了解机器学习后,我们就来到知识准备阶段了。
如果没有基本的知识储备,机器学习的确看起来很吓人。要学习机器学习,你不必是专业的数学人才,或者程序员大牛,但你确实需要掌握这些方面的核心技能。
好消息是,一旦完成预备知识,剩下的部分就相当容易啦。实际上,机器学习基本就是将统计学和计算机科学中的概念应用在数据上。
这一步的基本任务就是保证自己在编程和统计学知识上别掉队。
2-1:用于数据科学中的Python编程
如果不懂编程,是没法使用机器学习的。幸好,这里有份免费教程,教你如何学习应用于数据科学中的Python语言
2-2:用于数据科学的统计学知识
了解统计学知识,特别是贝叶斯概率,对于许多机器学习算法来说都是基本的要求。这里有份学习数据学习中统计学知识的教程
2-3:需要学习的数学知识
研究机器学习算法需要一定的线性代数和多元微积分知识作为基础。点这里,获取一份免费学习教程
可能有些同学会想:我又不想做基础研究,干嘛要掌握这些原理,只要会用机器学习工具包不就行了吗?
有这个疑问也很正常,但是对于任何想将机器学习应用在工作中的人来说,学习机器学习的基础知识非常重要。比如你在应用机器学习中可能会遇到这些问题:
要想在机器学习研究中解答这些问题,掌握机器学习的知识原理必不可少。这里推荐两个世界级的机器学习课程,一定会让你受益良多:
(提示:这个课程和吴恩达教授的课程配合食用,效果更加)
还有两部值得读的参考书籍:《统计学习导论》和《统计学习基础》
这两部书的英文原版下载地址:
《AnIntroductiontoStatisticalLearning》
《ElementsofStatisticalLearning》
注:看不惯英文原版的同学,可以去读这两本书的中文版。
集智也建议大家可以多逛逛Reddit上的机器学习论坛:
机器学习版块1
机器学习版块2
机器学习版块3
当然,Quora上的机器学习版块也很有料
逛论坛不容易看到高阶知识,你不能一直停留在菜鸟阶段不是,要升级就有必要看看专业的论文。arXive是个好去处,是个收集物理学、数学、计算机科学与生物学的论文预印本的网站。
人工智能版块
机器学习版块
如果嫌自己搜索论文太麻烦,可以在网站arxiv-sanity.com上注册一个账号,它可以按自己的感兴趣标签给你推送最新的arXive上的论文。
在开启“海绵模式”后,你应该掌握了机器学习的基础理念知识,接着就该实际操作了。实际操作主要是通过具体的、深思熟虑的实践操作增强你的技能。本步目标有三个:
完成这一步后,就可以进行更大规模的项目了。
4-1九个基本部分
机器学习是一个非常广泛和丰富的领域,几乎在每个行业都有应用。因为要学习的东西太多,初学者很容易发慌,而且在面对很多个模型时也很容易迷失,看不到大局。
因此,我们把机器学习大概划分为九个部分:
ML整体学习:
优化:
数据预处理:
取样和拆分:
监督式学习:
非监督式学习
模型评估
集成学习
商业应用
4-2实践工具
Python的Scikit-Learn
R语言的Caret
4-3利用数据集实践操作
终于到了最后一步,也是很有意思的一步。目前为止,我们已经完成了:知识储备、掌握基本原理、针对性练习等阶段,现在我们准备探究更大的项目:
这一步的目标就是练习将机器学习技术应用于完整的端到端分析。
任务:完成下面的项目,依次从易到难。
5-1:“泰坦尼克号”幸存者预测
“泰坦尼克号”幸存者预测是练习机器学习时相当流行的选择,而且有非常多的教程可供参考。
5-2从零开始写算法
我们建议你先以一些简单的方面写起:逻辑回归、决策树、k最近邻算法等。
如果中间卡住了,这里有些小技巧可以参考:
5-3选个有趣的项目或自己感兴趣的领域
其实这应该是机器学习最棒的部分了,可以利用机器学习实现自己的想法。
如果实在没想到好点子,这里有8个有趣的初学者机器学习实践项目
如果你按照这个步骤一步步扎实学习的话,相信你最终一定在机器学习方面小有成就!
我们对初学机器学习的人还有10个小小的tips:
最后,祝同学们学有所成!
注:原文为英文,因此列举的学习资源多为英文。如果担心自己英文不好其实也没关系,因为学习思路是一样的,在相应阶段寻找中文学习资料就ok了。