原文链接:告别无用功|人工智能该如何学习
大家好,我是泰哥。
本文可谓是千呼万唤使出来,很多同学问我,AI方向的知识多而杂,哪些该重点学习?学习路径又是怎么样的呢?
今天,我将自己的学习路径及我所参考的资料全部免费分享出来,愿大家的AI学习进阶之路上多一些“温度”。
学习途径
在我学习人工智能的过程中,主要有以下两个途径:
- 首先是B站。我将所有知识点所推荐的视频链接直接贴设为了超链接,点击可直达教程。
- 第二是书籍。视频的讲解难免会不全面,很多时候我们需要翻阅书籍对知识进行查漏补缺、透彻理解。本文提及所有书籍在文末可免费获取电子版。
AI知识大纲
AI知识大体可以分为5个模块,接下来我会依次介绍每个模块的学习路径,最后给大家推荐几个我入门时做过的项目,帮助大家快速入门人工智能。
一、Python编程基础
在AI领域,目前大部分程序员都使用Python
作为第一语言。
学会上述操作后就入门了,但一定要将基础部分的内容掌握扎实。进阶操作在前期不着急学习,可以在日后使用过程中逐渐精通,比如函数式编程、多线程使用、异常处理与日志管理等等。
网络资源推荐
-
黑马Python教程
:将Python
基础讲的非常详细,可以轻松入门,建议新手从P116
开始学习。
书籍推荐
这里给大家推荐两本学习Python
必备书籍。《Python编程》中每个知识点下都有对应示例,非常直观。入门后,《流畅的Python》可以帮你精通Python
,完成从小白到大神的进阶。
原文链接:告别无用功|人工智能该如何学习
二、数学基础
很多同学看到数学就头疼,其实模型通用的基本数学原理并不难,难的公式在之后的模型中遇见时再逐个击破即可。
切记前期不要深陷到数学知识中去深挖!!
高数
首先大家不要惧怕数学。在遇到我们不会的数学公式时,我们要更多的思考这个公式能解决什么问题,而不是一直纠结公式的推导与计算。
比如梯度下降和反向传播的根本原理就是求导,全局最优解就是极值点,所以最优解一定在导数的某一个拐点处,类似的很多知识都是高中就学过的。
线代
在深度学习中,线代最重要的应用就是高维数据相乘运算,可以大大提升运算速度。
- 首先要明白矩阵各维度所代表的意义
- 其次清楚矩阵的运算规则
概率论
概率论的知识在AI体系中看似不那么重要,但却无处不在。从数据预处理、建模、模型参数初始化及归一化,到最后的结果分析都与概率论息息相关。
常用指标很多是大家耳熟能详的,比如均值、方差。如果你之前没有很强的概率论功底,建议你掌握常用知识后,在实际中遇到不懂的问题时要养成查阅的习惯。这部分知识不会太难,但是对理解模型与过程十分的重要:
- 比如为什么树模型一般不需要进行数据归一化?
- 而逻辑回归、神经网络、PCA中就必须进行数据归一化?
网络资源推荐
-
人工智能必备数学基础全套课程:此课程将高数、概率论、线代知识进行浓缩,针对人工智能领域开发的数学综合课程,都是入门必备和模型中常见的数学知识。
-
网易可汗学院统计学公开课:统计学入门课程,涵盖统计学所有的主要知识。
书籍推荐
这里推荐的是3本经典教材与1本我个人非常喜欢的《数学之美》。3本教材书无需多述,《数学之美》把抽象、深奥的数学方法解释得通俗易懂,非常精彩,很多模型原理都可以在其中找到你想要的回答。
原文链接:告别无用功|人工智能该如何学习
三、数据分析
在具备一定的编程能力与数学功底后,我们就可以对实际问题进行分析与挖掘。
爬虫
很多同学问算法工程师需要学爬虫吗?我的回答是:算法的重点在于建模,算法工程师掌握基本爬虫知识就好,因为单位一般都有专门的采集工程师。
但是数据分析师一定需要学。因为数据分析师需要具备自主获取数据的能力,从而进行数据分析。
必备三剑客
不论你做数分还是算法,Numpy
、Pandas
和Matplotlib
都是必须掌握的。但这部分内容很杂,没必要进行系统学习,就好像Excel
中的函数一样。
网络资源推荐
-
【莫烦】Numpy&Pandas :此视频一共只有3小时,但是可以以最快的速度了解三剑客的基本使用。
-
Numpy中文官方网站
-
Pandas中文官方网站
-
Matplotlib中文官方网站
大家可以网上找一些常用方法多浏览浏览,脑子里留个印象就行,在实际使用的时候再去查具体怎么用。就算没印象,我也建议大家在实际使用时先去官网上查有没有对应的内置方法,如果没有再自己写函数实现。
后续我也会总结三剑客的高频使用方法。
原文链接:告别无用功|人工智能该如何学习
四、机器学习
从机器学习开始就正式进入到了人工智能的领域。ML
涉及的算法都是白盒算法,使用可解释的数学公式去拟合数据、学习参数然后进行预测,最后对模型进行评估。
这部分的知识需要大家从数据处理过程开始就多进行总结与反思:
- 数据清洗过程与特征工程是怎么做的?为什么会最终选用这些方法?
- 文本数据集常用的处理方法有哪些?适用的场景的是什么?
机器学习算法因为都有可解释性,所以大家需要搞懂数学原理,并知道模型之间的差异、以及适用于什么数据集。
对于回归任务与分类任务,我们也需要知道各种评估指标间的差异与使用场景。
网络资源推荐
-
吴恩达机器学习:此教程以理论为主,对小白极为友善,就算没有基础,也能以最快的速度入门机器学习。
-
菜菜的sklearn:此教程以实践为主,从数据处理、特征工程、到模型算法都会给予代码进行实操讲解,并将每个参数都讲的非常细致。
书籍推荐
这里推荐两本学习ML
必备书籍。周志华老师的《机器学习(西瓜书)》与李航老师的《统计学习方法》。
这两本书非常经典,讲述了机器学习核心数学理论与模型推导全过程,是夯实理论的不二选择。强烈推荐将书籍与上述推荐视频相结合进行学习。
原文链接:告别无用功|人工智能该如何学习
五、深度学习
深度学习是黑盒算法,不具可解释性,初学者通常会觉得它比较神秘。但它的基础神经网络,可以说是由众多个逻辑回归函数组成,所以在学机器学习时一定要将逻辑回归彻彻底底学明白。
这部分给大家推荐书籍《图解深度学习》与《深度学习》。前者用图解的方式剖析了深度学习的原理,适合初学者;后者是深度学习领域奠基性的经典教程。
神经网络入门
- 浙大研究生课程:浙大老师上课录像,板书推导神经网络的原理,看完后你会入门深度学习,并感受到它的神奇与魅力。(P19-P24为神经网络)
CNN
与RNN
入门
-
吴恩达深度学习:首推荐还是吴恩达老师的课程:
- 不论往哪个方向发展,都先看神经网络部分
- 如果你之后想学图像方向,就接着看计算机视觉部分,然后对序列模型进行了解
- 如果准备往自然语言或推荐方向发展,则推荐先看计算机视觉部分,掌握
CNN
的基本常识后,再去学习序列模型全部内容
-
白板推导系列:机器学习与深度学习数学原理板书推导,极为硬核。
在学完理论知识后,我们就可以找一些项目进行实战了。
六、项目推荐
我本人是NLP
算法工程师,在此对自然语言处理方向推荐几个入门练手小项目:
-
Bert文本分类:在官网下载源码后进行
Debug
,不仅可以锻炼调试阅读代码的能力,而且可以掌握Bert
的细节。
-
实体识别:此项目使用了多种不同的模型(
HMM
、CRF
、Bi-LSTM
、Bi-LSTM+CRF
)来解决中文命名实体识别问题。 -
对话机器人:此项目为医疗对话问答机器人,主要基于知识图谱实现。
在对NLP
进行初步了解后,大家可以根据自身情况在Github
上多找一些感兴趣的相关项目进行研究,不仅仅要知道代码实现细节,更要思考它能实际解决的业务问题。
未完待续
上述提到的重点内容日后会继续和大家分享,文字难以表达的也会以视频的方式和大家见面。
我目前的工作主要集中于实体识别、关系识别、知识图谱、图网络等方向,欢迎大家与我交流。同时,本文提到的10本书籍,加我公众号【AI有温度】,后台回复【学习书籍】均可免费获取。
欢迎大家的到来,每日8:18,AI干货与您不见不散
原文链接:告别无用功|人工智能该如何学习