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