原文链接:告别无用功|人工智能该如何学习

大家好,我是泰哥。

本文可谓是千呼万唤使出来,很多同学问我,AI方向的知识多而杂,哪些该重点学习?学习路径又是怎么样的呢?

今天,我将自己的学习路径及我所参考的资料全部免费分享出来,愿大家的AI学习进阶之路上多一些“温度”。

学习途径

在我学习人工智能的过程中,主要有以下两个途径:

  • 首先是B站。我将所有知识点所推荐的视频链接直接贴设为了超链接,点击可直达教程
  • 第二是书籍。视频的讲解难免会不全面,很多时候我们需要翻阅书籍对知识进行查漏补缺、透彻理解。本文提及所有书籍在文末可免费获取电子版

AI知识大纲


AI知识大体可以分为5个模块,接下来我会依次介绍每个模块的学习路径,最后给大家推荐几个我入门时做过的项目,帮助大家快速入门人工智能。

一、Python编程基础

在AI领域,目前大部分程序员都使用Python作为第一语言。

学会上述操作后就入门了,但一定要将基础部分的内容掌握扎实。进阶操作在前期不着急学习,可以在日后使用过程中逐渐精通,比如函数式编程、多线程使用、异常处理与日志管理等等。

网络资源推荐

  1. 黑马Python教程
    :将Python基础讲的非常详细,可以轻松入门,建议新手从P116开始学习。

书籍推荐

这里给大家推荐两本学习Python必备书籍。《Python编程》中每个知识点下都有对应示例,非常直观。入门后,《流畅的Python》可以帮你精通Python,完成从小白到大神的进阶。

原文链接:告别无用功|人工智能该如何学习

二、数学基础

很多同学看到数学就头疼,其实模型通用的基本数学原理并不难,难的公式在之后的模型中遇见时再逐个击破即可。

切记前期不要深陷到数学知识中去深挖!!

高数

首先大家不要惧怕数学。在遇到我们不会的数学公式时,我们要更多的思考这个公式能解决什么问题,而不是一直纠结公式的推导与计算

比如梯度下降和反向传播的根本原理就是求导,全局最优解就是极值点,所以最优解一定在导数的某一个拐点处,类似的很多知识都是高中就学过的。

线代

在深度学习中,线代最重要的应用就是高维数据相乘运算,可以大大提升运算速度。

  • 首先要明白矩阵各维度所代表的意义
  • 其次清楚矩阵的运算规则

概率论

概率论的知识在AI体系中看似不那么重要,但却无处不在。从数据预处理、建模、模型参数初始化及归一化,到最后的结果分析都与概率论息息相关。

常用指标很多是大家耳熟能详的,比如均值、方差。如果你之前没有很强的概率论功底,建议你掌握常用知识后,在实际中遇到不懂的问题时要养成查阅的习惯。这部分知识不会太难,但是对理解模型与过程十分的重要:

  • 比如为什么树模型一般不需要进行数据归一化?
  • 而逻辑回归、神经网络、PCA中就必须进行数据归一化?

网络资源推荐

  1. 人工智能必备数学基础全套课程:此课程将高数、概率论、线代知识进行浓缩,针对人工智能领域开发的数学综合课程,都是入门必备和模型中常见的数学知识。

  2. 网易可汗学院统计学公开课:统计学入门课程,涵盖统计学所有的主要知识。

书籍推荐


这里推荐的是3本经典教材与1本我个人非常喜欢的《数学之美》。3本教材书无需多述,《数学之美》把抽象、深奥的数学方法解释得通俗易懂,非常精彩,很多模型原理都可以在其中找到你想要的回答。

原文链接:告别无用功|人工智能该如何学习

三、数据分析

在具备一定的编程能力与数学功底后,我们就可以对实际问题进行分析与挖掘。

爬虫

很多同学问算法工程师需要学爬虫吗?我的回答是:算法的重点在于建模,算法工程师掌握基本爬虫知识就好,因为单位一般都有专门的采集工程师。

但是数据分析师一定需要学。因为数据分析师需要具备自主获取数据的能力,从而进行数据分析。

必备三剑客

不论你做数分还是算法,NumpyPandasMatplotlib都是必须掌握的。但这部分内容很杂,没必要进行系统学习,就好像Excel中的函数一样。

网络资源推荐

  1. 【莫烦】Numpy&Pandas :此视频一共只有3小时,但是可以以最快的速度了解三剑客的基本使用。

  2. Numpy中文官方网站

  3. Pandas中文官方网站

  4. Matplotlib中文官方网站

大家可以网上找一些常用方法多浏览浏览,脑子里留个印象就行,在实际使用的时候再去查具体怎么用。就算没印象,我也建议大家在实际使用时先去官网上查有没有对应的内置方法,如果没有再自己写函数实现

后续我也会总结三剑客的高频使用方法。

原文链接:告别无用功|人工智能该如何学习

四、机器学习

从机器学习开始就正式进入到了人工智能的领域。ML涉及的算法都是白盒算法,使用可解释的数学公式去拟合数据、学习参数然后进行预测,最后对模型进行评估。

这部分的知识需要大家从数据处理过程开始就多进行总结与反思

  • 数据清洗过程与特征工程是怎么做的?为什么会最终选用这些方法?
  • 文本数据集常用的处理方法有哪些?适用的场景的是什么?

机器学习算法因为都有可解释性,所以大家需要搞懂数学原理,并知道模型之间的差异、以及适用于什么数据集

对于回归任务与分类任务,我们也需要知道各种评估指标间的差异与使用场景。

网络资源推荐

  1. 吴恩达机器学习:此教程以理论为主,对小白极为友善,就算没有基础,也能以最快的速度入门机器学习。

  2. 菜菜的sklearn:此教程以实践为主,从数据处理、特征工程、到模型算法都会给予代码进行实操讲解,并将每个参数都讲的非常细致。

书籍推荐

这里推荐两本学习ML必备书籍。周志华老师的《机器学习(西瓜书)》与李航老师的《统计学习方法》。

这两本书非常经典,讲述了机器学习核心数学理论与模型推导全过程,是夯实理论的不二选择。强烈推荐将书籍与上述推荐视频相结合进行学习

原文链接:告别无用功|人工智能该如何学习

五、深度学习

深度学习是黑盒算法,不具可解释性,初学者通常会觉得它比较神秘。但它的基础神经网络,可以说是由众多个逻辑回归函数组成,所以在学机器学习时一定要将逻辑回归彻彻底底学明白

这部分给大家推荐书籍《图解深度学习》与《深度学习》。前者用图解的方式剖析了深度学习的原理,适合初学者;后者是深度学习领域奠基性的经典教程。

神经网络入门

  1. 浙大研究生课程:浙大老师上课录像,板书推导神经网络的原理,看完后你会入门深度学习,并感受到它的神奇与魅力。(P19-P24为神经网络)

CNNRNN入门

  1. 吴恩达深度学习:首推荐还是吴恩达老师的课程:

    • 不论往哪个方向发展,都先看神经网络部分
    • 如果你之后想学图像方向,就接着看计算机视觉部分,然后对序列模型进行了解
    • 如果准备往自然语言或推荐方向发展,则推荐先看计算机视觉部分,掌握CNN的基本常识后,再去学习序列模型全部内容
  2. 白板推导系列:机器学习与深度学习数学原理板书推导,极为硬核。

在学完理论知识后,我们就可以找一些项目进行实战了。

六、项目推荐

我本人是NLP算法工程师,在此对自然语言处理方向推荐几个入门练手小项目:

  1. Bert文本分类:在官网下载源码后进行Debug,不仅可以锻炼调试阅读代码的能力,而且可以掌握Bert的细节。

  2. 实体识别:此项目使用了多种不同的模型(HMMCRFBi-LSTMBi-LSTM+CRF)来解决中文命名实体识别问题。

  3. 对话机器人:此项目为医疗对话问答机器人,主要基于知识图谱实现。

在对NLP进行初步了解后,大家可以根据自身情况在Github上多找一些感兴趣的相关项目进行研究,不仅仅要知道代码实现细节,更要思考它能实际解决的业务问题。

未完待续

上述提到的重点内容日后会继续和大家分享,文字难以表达的也会以视频的方式和大家见面。

我目前的工作主要集中于实体识别、关系识别、知识图谱、图网络等方向,欢迎大家与我交流。同时,本文提到的10本书籍,加我公众号【AI有温度】,后台回复【学习书籍】均可免费获取


欢迎大家的到来,每日8:18,AI干货与您不见不散

原文链接:告别无用功|人工智能该如何学习