相信看到这篇文章的朋友,几乎都想成为机器学习科学家。
事实上,绝大多数的付费课程,基本上都有彻底免费的课程放在另外一个地方。咱们只是把这些信息整理好,告诉你在哪儿能够找到他们,以及经过什么样的顺序进行学习。
这样,哪怕你是还没毕业的大学生,或者是初入职场的工程师,均可以经过自学的方式掌握机器学习科学家的基础技能,并在论文、工做甚至平常生活中快速应用。
python
在这里咱们推荐一份用户友好型的机器学习教程,你能够经过几个月的学习成为机器学习科学家,彻底免费。git
当你学习机器学习课程时,有没有被信息过载所淹没?
大部分的学习者都遇到了这个问题,这不是他们的错,由于绝大多数的机器学习课程都过于关注个别算法了。
没错,虽然算法很重要,但他们仍是把太多时间花在了算法上。
程序员
以致于......你几乎很难在短期内走完一遍机器学习的流程,从而感觉到经过它解决具体数据问题的巨大兴奋。github
这些机器学习课程关注于算法是由于它容易教。相比之下,若是机器学习老师要带你走一遍机器学习的流程,那么他须要搭建计算环境,完成数据采集、清洗、拆分,特征处理,模型调参和模型预测,甚至他还须要一个面向学习者的交互界面。老师哪有这么多的工具,与其手把手带着学生走一遭,还不如学习机器学习算法。
但这样的问题是,很难有人能坚持经过自学,成为一个卓越的机器学习科学家。哪怕他是数学博士,或者技术高超的程序员,都很容易陷在细节中而难以有具体项目实现的成就感。
这份教程将会带来彻底不一样的思路。它很是适合自学者,即使彻底没有编程的基础,也能经过恰当的工具快速实现机器学习模型,解决工做、生活中遇到的具体问题。
web
值得注意的是,咱们享用了世界顶级的机器学习资源,而不须要花费 1 分钱。算法
咱们推荐经过 Doing Shit(不是技术术语)完成你的学习。
在这以前你也许已经学习过机器学习了,但从我和朋友们的经验来看,每每会被各类神秘的符号、公式、大量的教科书和论文整的晕头转向,而后不再想碰这恼人的玩意了。
咱们的方法会更加友好,它的学习过程就像小朋友学习同样,你会了解一些基础的知识(但不必定要彻底弄懂),而后经过好用的工具快速实现出来就行了。而当你被建模出来的结果吸引,那时候咱们才谈算法背后的数学逻辑和计算逻辑。
因此咱们会在学习中作不少机器学习项目,这样的好处是当你面对一个工做机会时,你就是一个经验丰富的机器学习科学家了!
编程
步骤 1:前提条件
机器学习
任务:确保你了解基础的统计学、编程和数学工具
统计学:理解统计学、特别是贝叶斯几率对许多机器学习算法来讲都是相当重要的。性能
免费的指南:How to Learn Statistics for Data Science, The Self-Starter Way
https://elitedatascience.com/learn-statistics-for-data-science
编程:懂得编程将会更灵活的应用机器学习。
免费的指南:How to Learn Python for Data Science, The Self-Starter Way
https://elitedatascience.com/learn-python-for-data-science
数学:对原始算法的研究须要线性代数、多变量计算的基础。
免费的指南:How to Learn Math for Data Science, The Self-Starter Way
https://elitedatascience.com/learn-math-for-data-science
你能够先看看这些教程,给你的机器学习道路打下知识基础。
步骤 2:海绵模式
海绵模式是尽量吸取足够多的机器学习理论知识。
如今有些人可能会想:“若是我不打算进行原创性研究,为何在可使用现有机器学习包的时候,还须要学习理论?”
这是一个合理的问题!
然而,若是你想把机器学习更灵活的应用于平常工做,学习一些基础理论仍是颇有好处的,并且你并不须要彻底弄懂。下面咱们会剧透学习机器学习理论的 5 个理由。
(1)规划和数据采集
数据采集真是一个昂贵和耗时的过程!那么我须要采集哪些类型的数据?根据模型的不一样,我须要多少数据?这个挑战是否可行?
(2)数据假设和预处理
不一样的算法对数据输入有不一样的假设,那我应该如何预处理个人数据?我应该正则化吗?假如个人模型缺乏一些数据,它还稳定吗?离群值怎么处理?
(3)解释模型结果
简单的认为机器学习是一个“黑盒子”的概念是错误的。是的,并非全部的结果都直接能够解释,但你须要诊断本身的模型而后改善它们。我要怎么评估模型是过拟合仍是欠拟合?我要向业务利益相关者怎么解释这些结果?以及模型还有多少的改善空间?
(4)改进和调整模型
你的第一次训练不多会达到最佳模式,你须要了解不一样的调参和正则化方法的细微差异。若是个人模型是过拟合了,我该如何补救?我应该花更多时间在特征工程上,仍是数据采集上?我能够组合个人模型吗?
(5)驱动商业价值
机器学习历来不会在真空中完成。若是你不了解武器库中的工具,就没法最大化发挥它们的效能。在这么多结果指标中,哪些是优化的参考指标?哪一个更为重要?或者还有其余的算法会表现更好吗?
好消息是,你不须要一开始就知道全部问题的答案。因此咱们推荐你从学习足够的理论开始,而后快速进入到实践。这样的话,你比较可以坚持下来,并在一段时间后真正精通机器学习。
2.1 机器学习视频课程
这是来自哈佛大学和耶鲁大学的世界级课程。
任务:完成至少一门课程
哈佛大学数据科学课程
端到端的数据科学课程。相比吴恩达的课程,它对机器学习的重视程度较低,可是从数据收集到分析,你能够在这里学到整个数据科学的工做流程。
课程主页:http://cs109.github.io/2015/
斯坦福大学机器学习课程
这是吴恩达的著名课程,这些视频说清楚了机器学习背后的核心理念。若是你的时间只能上一节课,咱们建议这个。
课程主页:https://www.youtube.com/watch?v=qeHZOdmJvFU&list=PLZ9qNFMHZ-A4rycgrgOYma6zxF4BZGGPW&index=1
2.2 机器学习参考资料
接下来咱们推荐行业中两本经典的教材。
任务:看这些 PDF 做为教科书
An Introduction to Statistical Learning
Gentler 在书里介绍了统计学习的基本要素,适合全部机器学习的学习者。
PDF 地址:http://www-bcf.usc.edu/~gareth/ISL/ISLR%20Sixth%20Printing.pdf
Elements of Statistical Learning
严格的介绍了机器学习理论和数学,推荐给机器学习的研究员。
PDF 地址:http://statweb.stanford.edu/~tibs/ElemStatLearn/
2.3 成功的关键
如下是每一个步骤成功的关键。
A:注重大局,老是问为何
每当你被介绍一个新概念时,问一句“为何”。为何在某些状况下要使用决策树而不是回归?为何要规范参数?为何要拆分数据集?当你了解为何使用每一个工具时,你将成为真正的机器学习从业者。
B:接受你不会记得全部学过的东西
不要疯狂的作笔记,也不要每一个课程都复习 3 次。在本身的实际工做中,你会常常须要回过头查看.
C:继续前进,不要气馁
尽可能避免在一个话题上拖过久的时间。即使是对于机器学习教授来讲,有些概念也很很差解释。可是当你在实践中开始应用时,你会很快就懂得概念的真实含义。
D:视频比教科书更有效
从咱们的经验来看,教科书是很好的参考工具,但它很难坚持。咱们强烈推荐视频讲座的形式。
(参考我博客里其余文章)
步骤 3:有目的实践
在海绵模式以后,咱们会经过刻意练习的方式磨练技能,把机器学习能力提升到一个新水平。目标包括三个方面:
1.实践完整的机器学习流程:包括数据收集、清洗、预处理,创建模型,调整参数和模型评估。
2.在真实的数据集中练习,逐渐创建哪一种模型适合哪一种挑战的直觉。
3.深刻到一个具体主题中,例如在数据集中应用不一样类型的聚类算法,看哪些效果最好。
在完成这些步骤后,当你开始解决大型项目时就不会不知所措了。
3.1 机器学习的工具
为了快速实现机器学习模型,咱们推荐使用现成的建模工具。这样的话,你会在短期内练习整个机器学习的工做流程,而无需在任何一个步骤花费太多时间。这会给你很是有价值的“大局直觉”(Big Picture Intuition)。
Python:Scikit-Learn(机器学习 python是最主流的语言)
Scikit-learn 和 Sklearn 是通用机器学习中 Python 的黄金标准库,它具备常规算法的实现。
3.2 实践数据集
学习了工具后,你还须要一些数据集。数据科学和机器学习的艺术,不少都在于解决问题时的几十个微观决定。咱们会在不一样的数据集中看到建模的结果。
任务:从如下选项中选择 5 到 10 个数据集。
咱们建议从 UCI 的机器学习库开始,例如你能够选择 3 个数据集,分别用于回归、分类和聚类。
在进行机器学习工程的时候,想一想如下问题:
UCI 机器学习报告
UCI 机器学习报告采集了超过 350 个不一样的数据集,专门为机器学习提供训练数据。你能够按照任务搜索(回归、分类或聚类),也能够按照行业、数据集大小搜索。
地址:http://archive.ics.uci.edu/ml/
Kaggle
Kaggle.com 以举办数据科学比赛闻名,可是该网站还拥有超过 180 个社区数据集,它们包含了有趣的话题,从用户宠物小精灵到欧洲足球比赛的数据应有尽有。
https://www.kaggle.com/datasets
Data.gov
若是你正在寻找社会科学或者与政府有关的数据集,请查看 Data.gov。这是美国政府开放数据集合,你能够搜索超过 190,000 个数据集。
步骤 4:机器学习项目
好了,如今到了真正有趣的部分了。到目前为止,咱们已经涵盖了前提条件、基本理论和有目的实践。如今咱们准备好进入更大的项目。
这一步骤的目标是将机器学习技术整合到完整的、端到端的分析中。
4.1 完成一个机器学习项目
任务:完成泰坦尼克幸存者挑战。
泰坦尼克号幸存者预测挑战是一个很是受欢迎的机器学习实践项目,事实上,这是 Kaggle.com 上最受欢迎的比赛。
咱们喜欢以这个项目做为起点,由于它有不少伟大的教程。你能够从中了解到这些有经验的数据科学家们是怎么处理数据探索、特征工程和模型调参的。
Python 教程
咱们真的很是喜欢这个教程,由于它教会你如何进行数据预处理和纠正数据。
教程由 Pycon UK 提供。
教程地址:https://github.com/savarin/pyconuk-introtutorial
4.2 从头写个算法
为了对机器学习有更深的理解,没有什么比从头写个算法有帮助了,由于魔鬼老是在细节里。
咱们建议从一些简单的开始,例如逻辑回归、决策树或者 KNN 算法。
这个项目也为你提供了一个将数据语言翻译成程序语言的实践。当你想把最新的学术界研究应用于工做时,这个技能将会十分方便。
而若是你卡住了,这里有一些提示:
4.3 选择一个有趣的项目或领域
若是你没有好奇心,你是很难学好的。但目前为止,也许你已经找到了想坚持下去的领域,那么开始建模吧!
老实说这是机器学习最好的部分了。这是一个强大的工具,而一旦你开始理解,不少想法都会主动找上门。
好消息是,若是你一直在跟踪,也准备好从事这份工做,那么你的收获会远超你的想象!
咱们也推荐了 6 个有趣的机器学习项目。
地址:https://elitedatascience.com/machine-learning-projects-for-beginners
这里有一个好消息,若是你已经遵循并完成了全部任务,那么你在应用机器学习上将会比 90% 自称是数据科学家的人更好。
而更好的消息是,你还有不少东西要学习。例如深度学习、强化学习、迁移学习、对抗生成模型等等。
成为最好的机器学习科学家的关键是永远不要中止学习。在这个充满活力、激动人心的领域,开始你的旅程吧!