如何自学人工智能?机器学习详细路径规划
综述,机器学习的自学简单来说分为三个步骤
前期:知识储备包括数学知识,机器学习经典算法知识,编程技术(python)的掌握
中期:算法的代码实现
后期:实战水平提升
机器学习路径规划图
一、数学基础
很多人看到数学知识的时候就望而却步,数学是需要的,但是作为入门水平,对数学的要求没有那么的高。假设你上过大学的数学课(忘了也没事),需要的数学知识啃一啃还是基本能理解下来的。
1.1、数学内容
线性代数:矩阵/张量乘法、求逆,奇异值分解/特征值分解,行列式,范数等
统计与概率:概率分布,独立性与贝叶斯,最大似然(MLE)和最大后验估计(MAP)等
优化:线性优化,非线性优化(凸优化/非凸优化)以及其衍生的如梯度下降、牛顿法等
微积分:偏微分,链式法则,矩阵求导等
信息论、数值理论等
上面的看不太懂没事,不是特别难,学习一下就能理解了。
1.2、数学资源
网上有很多人会列举大量大量的课程资源,这是非常不负责任的事,学完那些我头发都得白了。实际上,我们只需要学习其中的一部分就够了。
1.2.1、吴恩达的斯坦福大学机器学习王牌课程CS229,课后就有对学生数学知识的要求和补充,这些数学知识是完全符合机器学习要求的,不多也不少。墙裂推荐要看,不过只有英文版的。
链接:https://pan.baidu.com/s/1NrCAW38C9lXFqPwqTlrVRA密码:3k3m
1.2.2、深度学习的三大开山鼻祖之一YoshuaBengio写的深度学习(包含了机器学习)领域的教科书,现在以开源的形式在网上公开。这部书被誉为深度学习的圣经。在这里我们只看这本书的第一部分,也就是数学基础。囊括了机器学习所需的所有必备数学基础,而且是从最基础的说起,也不多,必读的。
链接:https://pan.baidu.com/s/1GmmbqFewyCuEA7blXNC-7g密码:6qqm
1.2.3、跟机器学习算法相结合的数学知识。上面两部分是理论层面的数学,机器学习算法中会对这些数学进行应用。
链接:https://zhuanlan.zhihu.com/p/25197792,知乎专栏上的一篇好文章,囊括了所有的应用知识点。
好了,数学方面我只推荐上面三个资源,三个都是必看的。里面很多可能你现在看不太懂,没关系。先大概过一遍,知道自己的数学水平在哪。在看到算法知识的时候,不懂的再回来补就好。后期需要更多的数学资料我会再更新的。
二、编程技术
编程语言:python3.5及以上,python易学,这个这期先不细讲。
三、经典算法知识
算法包括机器学习和深度学习,机器学习是深度学习的基础。所以务必先学机器学习的经典算法,再学深度学习的算法。
3.1、机器学习
3.1.1、课程资料
首推吴恩达的CS229,经典中的经典,在网易公开课里有视频,翻译,课程讲义,笔记是非常非常完备的。墙裂推荐。这个课程对数学有一定的要求,但我觉得只要你上过大学的数学,然后补一下上面的数学,完全可以直接来看这个CS229。
假设你的数学真的很差的话,怎么办?吴恩达在coursera上也开了一门跟CS229完全匹配的课程,coursera机器学习课。这门课是CS229的翻版,唯一不同的是它对数学基本是没有要求了,如果你对数学真的不懂的话,那就先看这个的教程吧。它跟CS229的关系就是同样的广度,但是深度浅很多,不过你学完coursera还是要回过头来看CS229的。这个也是免费的。
CS229课程视频:http://open.163.com/special/opencourse/machinelearning.html
课程讲义和中文笔记:https://pan.baidu.com/s/1MC_yWjcz_m5YoZFNBcsRSQ密码:6rw6
3.1.2、配套书籍:
机器学习实战,必看。用代码实现了一遍各大经典机器学习算法,必须看,对你理解算法有很大帮助,同时里面也有应用。如果大家看上面纯理论的部分太枯燥了,就可以来看看这本书来知道在现实中机器学习算法是怎么应用的,会很大程度提升你的学习兴趣,当初我可是看了好几遍。
书籍及课后代码:链接:https://pan.baidu.com/s/15XtFOH18si316076GLKYfg密码:sawb
李航《统计学习方法》,配合着看
链接:https://pan.baidu.com/s/1Mk_O71k-H8GHeaivWbzM-Q密码:adep,配合着看
周志华《机器学习》,机器学习的百科全书,配合着看。
链接:https://pan.baidu.com/s/1lJoQnWToonvBU6cYwjrRKg密码:7rzl
3.2、深度学习
说到深度学习,我们不得不提斯坦福的另一门王牌课程CS231,李飞飞教授的。这门课的课程,课后习题,堪称完美。必须必须看。整个系列下来,特别是课后的习题要做,做完之后你会发现,哇哦!它的课后习题就是写代码来实现算法的。这个在网易云课堂上有。
视频地址:http://study.163.com/course/introduction.htm?courseId=1004697005
课程笔记翻译,知乎专栏:https://zhuanlan.zhihu.com/p/21930884
墙裂建议要阅读这个知乎专栏,关于怎么学这门课,这个专栏写的很清楚。
课后作业配套答案:https://blog.csdn.net/bigdatadigest/article/category/7425092
3.3、学习时间
到这里了,你的机器学习和深度学习算是入门了。学完上面这些,按一天6小时,一周六天的话,起码也得三个月吧。上面是基本功一定要认真学。但是,还找不了工作。因为你还没把这些知识应用到实际当中。
3.4、实战部分
3.4.1、实战基础
这一个阶段,你要开始用tensorflow(谷歌的深度学习框架)、scikit-learn(python的机器学习框架),这两个框架极大程度地集成了各大算法。其实上面在学习cs231n的时候你就会用到一部分。
scikit-learn的学习:http://sklearn.apachecn.org/cn/0.19.0/
这是scikit-learn的官方文档中文版翻译,有理论有实战,最好的库学习资源,没有之一。认真看,传统的机器学习就是用这个库来实现的。
Tensorflow的学习:https://tensorflow.google.cn/api_docs/python/?hl=zh-cn
官方文档很详尽,还有实战例子,学习tensorflow的不二之选
3.4.2、实战进阶
仅仅看这两个教程是不够的,你需要更多地去应用这两个库。
接下来推荐一部神书,机器学习和深度学习的实战教学,非常非常的棒,网上有很多号称实战的书或者例子,我看了基本就是照搬官网的,只有这一本书,是完全按照工业界的流程解决方案进行实战,你不仅能学习到库的应用,还能深入了解工业界的流程解决方案,最好的实战教学书,没有之一。书名是hands-on-ml-with-sklearn-and-tf
链接:https://pan.baidu.com/s/1x318qTHGt9oZKQwHkoUvKA密码:xssj
3.4.3、实战最终阶段
kaggle数据竞赛,如果你已经学到了这一步,恭喜你离梦想越来越近了:对于我们初学者来说,没有机会接触到机器学习真正的应用项目,所以一些比赛平台是我们不错的选择。参加kaggle竞赛可以给你的简历增分不少,里面有入门级别到专家级别的实战案例,满足你的各方面需求。如果你能学到这一步了,我相信也不需要再看这个了。
上述所有资料的合集:https://pan.baidu.com/s/1tPqsSmSMZa6qLyD0ng87IQ密码:ve75
补充:
学到这个水平,应该是能够实习的水平了,还有很多后面再说吧。比如深度学习和机器学习的就业方向,深度学习得看论文,找工作还得对你得编程基础进行加强,具体就是数据结构与算法,我当年在这个上面可是吃了很大的亏。
这里面关于深度学习和机器学习的就业其实是两个方向,上面的其实也没有说全。一般来说,你得选择一个方向专攻。我建议的是,自学的最好在后期侧重机器学习方向,而不是深度学习。深度学习的岗位实在是太少,要求太高。机器学习还算稍微好点。
重点:上面的学习路径是主要框架,但是不意味着仅仅学习这些就够了。根据每个人基础的不同,你有可能需要另外的学习资料补充。但是,我希望大家可以按照上面的主框架走,先按上面我推荐的资源学,有需要的再去看别的(我之后也会推荐),上面的我能列出来的都是最经典的,最有效率,而且我亲身学过的。
人工智能需要哪些知识
什么是人工智能人工智能(ArtificialIntelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。
人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,可以设想,未来人工智能带来的科技产品,将会是人类智慧的“容器”。人工智能可以对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。
人工智能是一门极富挑战性的科学,从事这项工作的人必须懂得计算机知识,心理学和哲学。人工智能是包括十分广泛的科学,它由不同的领域组成,如机器学习,计算机视觉等等,总的说来,人工智能研究的一个主要目标是使机器能够胜任一些通常需要人类智能才能完成的复杂工作。但不同的时代、不同的人对这种“复杂工作”的理解是不同的。[1]2017年12月,人工智能入选“2017年度中国媒体十大流行语”。
人工智能科学介绍
实际应用
机器视觉,指纹识别,人脸识别,视网膜识别,虹膜识别,掌纹识别,专家系统,自动规划,智能搜索,定理证明,博弈,自动程序设计,智能控制,机器人学,语言和图像理解,遗传编程等。
学科范畴
人工智能是一门边缘学科,属于自然科学和社会科学的交叉。
涉及学科
哲学和认知科学,数学,神经生理学,心理学,计算机科学,信息论,控制论,不定性论
研究范畴
自然语言处理,知识表现,智能搜索,推理,规划,机器学习,知识获取,组合调度问题,感知问题,模式识别,逻辑程序设计软计算,不精确和不确定的管理,人工生命,神经网络,复杂系统,遗传算法
意识和人工智能
人工智能就其本质而言,是对人的思维的信息过程的模拟。
对于人的思维模拟可以从两条道路进行,一是结构模拟,仿照人脑的结构机制,制造出“类人脑”的机器;二是功能模拟,暂时撇开人脑的内部结构,而从其功能过程进行模拟。现代电子计算机的产生便是对人脑思维功能的模拟,是对人脑思维的信息过程的模拟。
弱人工智能如今不断地迅猛发展,尤其是2008年经济危机后,美日欧希望借机器人等实现再工业化,工业机器人以比以往任何时候更快的速度发展,更加带动了弱人工智能和相关领域产业的不断突破,很多必须用人来做的工作如今已经能用机器人实现。
而强人工智能则暂时处于瓶颈,还需要科学家们和人类的努力。
人工智能需要哪些知识
人工智能是一个综合学科,如楼上所说。而其本身又分为多个方面如神经网络、机器识别、机器视觉、机器人等。一个人想自学所有人工智能方面并不是很容易的一件事。对于你想知道人工智能在编程方面需要多深的要求。怎么说好呢无论C++还是汇编他都是一门语言主要会灵活运用。大多机器人仿真都用的混合编程模式,也就是运用多种编程软件及语言组合使用。之所以这样是为了弥补语言间的不足。prolog在逻辑演绎方面比突出。C++在硬件接口及windos衔接方面比较突出,MATLAB在数学模型计算方面比较突出。如果单学人工智能算法的话prolog足以,如果想开发机器仿真程序的话VC++MATLAB应该多学习点。对于你想买什么书学习。我只能对我看过的书给你介绍一下,你再自己酌量一下。
人工智能算法方面:《人工智能及其应用》第三版、人工智能与知识工程。这两本感觉买一本就可以了~第一本感觉能简单并且全面点。这类书其实很多可是。大多内容都是重复的所以买一到两本即可。
机器视觉算法方面:《机器视觉算法与应用》这本书讲的大多都是工业化生产中机器视觉应用。从内容来说并不是很简单,建议不要当入门教材来学习。
机器人方面:新版《机器人技术手册》日译的书,可能这是我当初在当当网里找到唯一一本比较全面实用的机器人方面的书。这本书由基础到应用以及一些机器人实际问题上讲述得很全面。强烈建议买一本。
从零开始学人工智能方法介绍1、机器学习
有关机器学习领域的最佳介绍,请观看Coursera的AndrewNg机器学习课程。它解释了基本概念,并让你很好地理解最重要的算法。
有关ML算法的简要概述,查看这个TutsPlus课程“MachineLearningDistilled”。
“ProgrammingCollectiveIntelligence”这本书是一个很好的资源,可以学习ML算法在Python中的实际实现。它需要你通过许多实践项目,涵盖所有必要的基础。
这些不错的资源你可能也感兴趣:
PererNorvig的UdacityCourseonML(MLUdacity课程)
TomMitchell在卡梅隆大学教授的AnothercourseonML(另一门ML课程)
YouTube上的机器学习教程mathematicalmonk
2、深度学习
关于深度学习的最佳介绍,我遇到最好的是DeepLearningWithPython。它不会深入到困难的数学,也没有一个超长列表的先决条件,而是描述了一个简单的方法开始DL,解释如何快速开始构建并学习实践上的一切。它解释了最先进的工具(Keras,TensorFlow),并带你通过几个实际项目,解释如何在所有最好的DL应用程序中实现最先进的结果。
在Google上也有一个greatintroductoryDLcourse,还有SephenWelch的greatexplanationofneuralnetworks。
之后,为了更深入地了解,这里还有一些有趣的资源:
GeoffreyHinton的coursera课程“NeuralNetworksforMachineLearning”。这门课程会带你了解ANN的经典问题——MNIST字符识别的过程,并将深入解释一切。
MITDeepLearning(深度学习)一书。
UFLDLtutorialbyStanford(斯坦福的UFLDL教程)
deeplearning.net教程
MichaelNielsen的NeuralNetworksandDeepLearning(神经网络和深度学习)一书
SimonO.Haykin的NeuralNetworksandLearningMachines(神经网络和机器学习)一书
3、人工智能
“ArtificialIntelligence:AModernApproach(AIMA)”(人工智能:现代方法)是关于“守旧派”AI最好的一本书籍。这本书总体概述了人工智能领域,并解释了你需要了解的所有基本概念。
来自加州大学伯克利分校的ArtificialIntelligencecourse(人工智能课程)是一系列优秀的视频讲座,通过一种非常有趣的实践项目(训练AI玩Pacman游戏)来解释基本知识。我推荐在视频的同时可以一起阅读AIMA,因为它是基于这本书,并从不同的角度解释了很多类似的概念,使他们更容易理解。它的讲解相对较深,对初学者来说是非常不错的资源。
大脑如何工作
如果你对人工智能感兴趣,你可能很想知道人的大脑是怎么工作的,下面的几本书会通过直观有趣的方式来解释最好的现代理论。
JeffHawkins的OnIntelligence(有声读物)
Gödel,Escher,Bach
我建议通过这两本书入门,它们能很好地向你解释大脑工作的一般理论。
其他资源:
RayKurzweil的HowtoCreateaMind(如何创建一个头脑RayKurzweil)(有声读物)。
PrinciplesofNeuralScience(神经科学原理)是我能找到的最好的书,深入NS。它谈论的是核心科学,神经解剖等。非常有趣,但也很长–我还在读它。
4、教学
以下是你开始学习AI需要了解的非常基本的数学概念:
微积分学
KhanAcademyCalculusvideos(可汗学院微积分视频)
MITlecturesonMultivariableCalculus(MIT关于多变量微积分的讲座)
线性代数
KhanAcademyLinearAlgebravideos(可汗学院线性代数视频)
MITlinearalgebravideosbyGilbertStrang(GilbertStrang的MIT线性代数视频)
CodingtheMatrix (编码矩阵)–布朗大学线程代数CS课程
概率和统计
可汗学院Probability(概率)与Statistics(统计)视频
edxprobabilitycourse(edx概率课程)
5、计算机科学
要掌握AI,你要熟悉计算机科学和编程。
如果你刚刚开始,我建议阅读DiveIntoPython3(深入Python3)这本书,你在Python编程中所需要的大部分知识都会提到。
要更深入地了解计算机编程的本质–看这个经典的MITcourse(MIT课程)。这是一门关于lisp和计算机科学的基础的课程,基于CS-结构和计算机程序的解释中最有影响力的书之一。
推荐阅读:
学人工智能10本必看书_人工智能入门书籍推荐
美国人工智能大学排名_美国人工智能专业课程排名
中国人工智能实力大学综合排名_中国人工智能公司排名
人工智能属于什么专业_人工智能专业就业前景如何_人工智能专业就业方向