普通程序员转型AI免费教程整合,零基础也可自学
本文告诉通过什么样的顺序进行学习以及在哪儿可以找到他们。可以通过自学的方式掌握机器学习科学家的基础技能,并在论文、工作甚至日常生活中快速应用。
如果机器学习老师要带你走一遍机器学习的流程,那么他需要搭建计算环境,完成数据采集、清洗、拆分,特征处理,模型调参和模型预测,甚至他还需要一个面向学习者的交互界面。很难有人能坚持通过自学,成为一个卓越的机器学习科学家。哪怕他是数学博士,或者技术高超的程序员,都很容易陷在细节中而难以有具体项目实现的成就感。
这份教程将会带来完全不同的思路。它非常适合自学者,即便完全没有编程的基础,也能通过恰当的工具快速实现机器学习模型,解决工作、生活中遇到的具体问题。值得注意的是,我们享用了世界顶级的机器学习资源,而不需要花费1分钱。
自我学习的方法推荐用顶视图(DoingShit)的方式来完成你的学习。
在这之前你也许已经学习过机器学习了,但从我和朋友们的经验来看,往往会被各种神秘的符号、公式、大量的教科书和论文整的晕头转向,然后再也不想碰这恼人的玩意了。
学习过程就像小朋友学习一样,你会了解一些基础的知识(但不一定要完全弄懂),然后通过好用的工具快速实现出来就好了。而当你被建模出来的结果吸引,那时候我们才谈算法背后的数学逻辑和计算逻辑。
所以我们会在学习中做很多机器学习项目,这样的好处是当你面对一个工作机会时,你就是一个经验丰富的机器学习科学家了!
当然自学本身是需要自律的,这本教程将一直陪伴着你,以下是4个步骤。
1.前提条件(不需要完全弄懂)统计学、编程和数学(也可以不需要编程)
2.海绵模式把自己浸泡在机器学习的各种理论中
3.目标实践通过机器学习包实践9个有意思的题目
4.机器学习项目深度参与到感兴趣的项目和领域中
=====================步骤一:前提条件机器学习之所以看起来很吓人,是因为总伴随着那些晦涩难懂的术语。实际上,即便你是中文系毕业的,也可以学好机器学习。不过,我们需要你在一些领域有基础的理解。
好消息是,一旦你满足了前提条件,其余的将会非常容易。事实上,几乎所有的机器学习都是把统计学和计算机科学的概念应用于数据领域
任务:确保你了解基础的统计学、编程和数学
你可以先看看这些教程,给你的机器学习道路打下知识基础。
步骤二:海绵模式海绵模式是尽可能吸收足够多的机器学习理论知识。
现在有些人可能会想:“如果我不打算进行原创性研究,为什么在可以使用现有机器学习包的时候,还需要学习理论?”这是一个合理的问题!
然而,如果你想把机器学习更灵活的应用于日常工作,学习一些基础理论还是很有好处的,而且你并不需要完全弄懂。下面我们会剧透学习机器学习理论的5个理由。
(1)规划和数据采集数据采集真是一个昂贵和耗时的过程!那么我需要采集哪些类型的数据?根据模型的不同,我需要多少数据?这个挑战是否可行?
(2)数据假设和预处理不同的算法对数据输入有不同的假设,那我应该如何预处理我的数据?我应该正则化吗?假如我的模型缺少一些数据,它还稳定吗?离群值怎么处理?
(5)驱动商业价值机器学习从来不会在真空中完成。如果你不了解武器库中的工具,就无法最大化发挥它们的效能。在这么多结果指标中,哪些是优化的参考指标?哪个更为重要?或者还有其他的算法会表现更好吗?
以下是一些免费的机器学习资料。
2.1机器学习视频课程这是来自哈佛大学和耶鲁大学的世界级课程。
任务:完成至少一门课程
2.2机器学习参考资料
接下来我们推荐行业中两本经典的教材。任务:看这些PDF作为教科书
2.3成功的关键
以下是每个步骤成功的关键。
A:注重大局,总是问为什么每当你被介绍一个新概念时,问一句“为什么”。为什么在某些情况下要使用决策树而不是回归?为什么要规范参数?为什么要拆分数据集?当你了解为什么使用每个工具时,你将成为真正的机器学习从业者。
B:接受你不会记得所有学过的东西不要疯狂的做笔记,也不要每个课程都复习3次。在自己的实际工作中,你会经常需要回过头查看。
D:视频比教科书更有效从我们的经验来看,教科书是很好的参考工具,但它很难坚持。我们强烈推荐视频讲座的形式。
步骤三:有目的实践在海绵模式之后,我们会通过刻意练习的方式磨练技能,把机器学习能力提高到一个新水平。目标包括三个方面:1.实践完整的机器学习流程:包括数据收集、清洗、预处理,建立模型,调整参数和模型评估。
2.在真实的数据集中练习,逐渐建立哪种模型适合哪种挑战的直觉。
3.深入到一个具体主题中,例如在数据集中应用不同类型的聚类算法,看哪些效果最好。
在完成这些步骤后,当你开始解决大型项目时就不会不知所措了。
Python:Scikit-LearnScikit-learn和Sklearn是通用机器学习中Python的黄金标准库,它具有常规算法的实现。
R:CaretCaret为R语言中的模型包提供一个统一的界面。它还包括了预处理、数据拆分、模型评估的功能,使其成为一个完整的端到端解决方案。
3.2实践数据集学习了工具后,你还需要一些数据集。数据科学和机器学习的艺术,很多都在于解决问题时的几十个微观决定。我们会在不同的数据集中看到建模的结果。
任务:从以下选项中选择5到10个数据集。我们建议从UCI的机器学习库开始,例如你可以选择3个数据集,分别用于回归、分类和聚类。
在进行机器学习工程的时候,想想以下问题:
你需要为每个数据集执行哪些类型的预处理?你需要进行降维操作吗?你可以使用什么方法?你可以如何拆分数据集?你怎么知道模型是否出现“过拟合”?你应该使用哪些类型的性能指标?不同的参数调整会如何影响模型的结果?你能够进行模型组合以得到更好的结果吗?你的聚类结果和直观的相符么?
步骤四:完成机器学习项目
好了,现在到了真正有趣的部分了。到目前为止,我们已经涵盖了前提条件、基本理论和有目的实践。现在我们准备好进入更大的项目。
这一步骤的目标是将机器学习技术整合到完整的、端到端的分析中。
4.1完成一个机器学习项目泰坦尼克号幸存者预测挑战是一个非常受欢迎的机器学习实践项目,事实上,这是Kaggle.com上最受欢迎的比赛。
我们喜欢以这个项目作为起点,因为它有很多伟大的教程。你可以从中了解到这些有经验的数据科学家们是怎么处理数据探索、特征工程和模型调参的。
4.2从头写个算法为了对机器学习有更深的理解,没有什么比从头写个算法有帮助了,因为魔鬼总是在细节里。
我们建议从一些简单的开始,例如逻辑回归、决策树或者KNN算法。
这个项目也为你提供了一个将数据语言翻译成程序语言的实践。当你想把最新的学术界研究应用于工作时,这个技能将会十分方便。
而如果你卡住了,这里有一些提示:
维基百科有很多好资源,它有很多常见算法的伪代码。为了培养你的灵感,请尝试查看现有机器学习软件包的源代码。将你的算法分解,为采样、梯度下降等编写单独的功能从简单开始,在尝试编写随机森林前,先执行一个决策树。
4.3选择一个有趣的项目或领域如果你没有好奇心,你是很难学好的。但目前为止,也许你已经找到了想坚持下去的领域,那么开始建模吧!
老实说这是机器学习最好的部分了。这是一个强大的工具,而一旦你开始理解,很多想法都会主动找上门。好消息是,如果你一直在跟踪,也准备好从事这份工作,那么你的收获会远超你的想象!
这里有一个好消息,如果你已经遵循并完成了所有任务,那么你在应用机器学习上将会比90%自称是数据科学家的人更好。
而更好的消息是,你还有很多东西要学习。例如深度学习、强化学习、迁移学习、对抗生成模型等等。
成为最好的机器学习科学家的关键是永远不要停止学习。在这个充满活力、激动人心的领域,开始你的旅程吧!
============
《TensorFlow+Keras深度学习算法原理与编程实战》(郑敦庄)【摘要书评试读】-京东图书