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