ECEN4003 个人整合的知识点

ECEN4003 个人整合的知识点

Last Update : 2021年4月29日 - by Mane.

0x0h 编程部分

Python3 基本编程

Python 3 : [菜鸟教程]

Numpy : [User Guide] [API]

Pandas : [官网]

Matplotlib : [Example]

熟用NumpyPandas 还有 List 之间的互相转换就可以了。

知道:如何用Matplotlib 画图,画图的时候再看文档就好了。

Scikit-learn 基本编程

Scikit-learn : [官网]

要求:要有自己的想法,会使用数据和参考官方文档生产出一些程序。

0x1h 建议学习时间

每天半小时,理论这东西挤在一起太多会腻。

注意:不要背公式!!不要背公式!!不要背公式!! 知道怎么用,是什么就行了,后面好多公式并不要求你推出来,程序人家也给你写好了,你只要会调用就行了!!

0x2h 无监督学习:分类,降维等

个人观点:下面是知识点,标题是重点,连接全都是给个参考的,看不懂自行去 Google 理解吧。

Lecture 2

  1. 理论:什么是有监督学习无监督学习 (Supervised vs Un-supervised learning) ?

  2. 有提到一下Q-Learning

Lecture 3 - 1

  1. 先前知识:数组,去参考PPT上的数组运算就好

  2. 理论:聚合算法一, K-means

Lecture 3 - 2

  1. 理论:聚合算法二,谱聚类算法 (Spectral clustering)

  2. 理论:聚类算法三,层次聚类 (Hierarchical clustering)

Lecture 4

  1. 理论:降维算法,使用PCA进行降维,虽然很鸡助,但很有用,看pro给的PPT就好了。

0x3h 有监督学习:优化,分类机等

个人观点:有监督学习通常比无监督学习要难,因为他要开始考虑标签的问题。

Lecture 5

  1. 理论:凸函数凸优化

  2. 理论:梯度下降

  3. 理论:线性回归多重线性回归以及了解它的公式

  4. 理论:什么是过拟合拟合欠拟合

  5. 理论:如何解决过拟合的问题

    1. Lecture 7.1 — Regularization | The Problem Of Overfitting — [ Machine Learning | Andrew Ng - Youtube] 谷歌工程师,他讲的人工智能都很好。

    2. Regularization - Cost Function

    3. Regularization - Ridge

    4. Regularization - Lasso

Lecture 6

个人观点:与上面的分类不同,这次是有监督学习分类,也就是有标签学习的分类,但难度会比上面多一级,为接下来喂入到NN打上基础。

  1. 了解:RegressionClassification 的不同处

    • 一个连续,一个离散,参考 Lecture Note 第5页。
  2. 重点:分类的多种变体

    1. 参考 Lecture Note 第6页。
    2. 附加内容:每一种模型用的损失函数都不一样!!所以在喂入 NN 之前要看你的 DATA 是哪种变体。更多可以参考这里
  3. 理论:KNN分类器

  4. 理论和重点:激活函数:逻辑回归分类器 (Logistic regression classifier)

    个人观点:这是一个新的概念,理解稍微辛苦一点,后期激活函数对NN和对模型很重要。

  5. 理论:朴素贝叶斯分类器 (Naïve Bayes classifier)

  6. 理论:决策树 (Decision tree)

  7. 理论和重点支持向量机 (Support vector machine)

    个人观点:先了解向量机是用来干什么的,为什么要用到,然后再看原理。

  8. 了解:集成学习,BoostingBagging classifier

  9. 通过迭代弱分类器而产生最终的强分类器的算法:AdaBoost 分类器

  10. 随机树分类机:Random forest classifier

0x4h 有监督学习:神经网络 (NN),深度学习(DL)

注意,下面所谓的人工智能训练出来的结果都是概率。

Lecture 7

  1. 复习:回归模型

    • 线性回归逻辑回归,看回上面 Lecture 6 的第 4 点就好了
  2. 重点和理论:NN 模型里的激活函数

  3. 了解:各种NN的复杂模型

  4. 了解:什麼是人工智慧、機器學習和深度學習?

    1. 这里有篇文章,看那张图基本区分就可以了,这个是文科生的东西,对于理科生来说但实际上都是一个东西来的。
  5. 理论:损失函数,分类交叉熵

    损失函数(我理解成误差函数,中文不知道为什么叫损失函数)用来评价模型的预测值和真实值不一样的程度的一个算法,损失函数越好,通常模型的性能越好,分类越准确,交叉熵越小。

  6. 理论:如何训练神经网络?

  7. 重点卷积神经网络 CNN

    在提取图片特征的时候经常用到,所以这个是个重点。

  8. 了解:什么是循环神经网络 RNN

0x5h 强化学习,Q-Learning,DQN 等

偷偷告诉你,做单纯的数据处理的话,这部分可以跳过了。

Lecture 8

  1. 了解:什么是强化学习 RL ?奖励函数是什么?

  2. 理论:Q Learning ,DQN。

0x6h Application,数据处理

个人观点:思考的比较多,理论的东西越来越少了,开始抽象化了,并不是说一定要用 NN 去处理数据,因为有时候传统的算法会比喂入 NN 好,比如你喂入的数据不够,NN 没吃饱。

Lecture 9

  1. 思考:有没有想过我们要用什么方法去预测未来的事情呢?

  2. 思考:这些值会受到什么影响而改变?比如天气?心情?

  3. 了解:基本的步骤:

    • 看 Lecture 9 第20页,这是数据处理比较常见的步骤。
  4. 思考:传统方法和使用NN有什么差距?

  5. 了解:梯度提升决策树 GBDT

Lecture 10

  1. 了解:何为异常?

    • 看 Lecture 10 第二页
  2. 其他的看Lecture note吧,都是example。

0x7h 参考比较有用的文档

  1. 不同聚类算法对比 - cnblogs 对比了划分聚类(KMeans)层次聚类密度聚类(DBSCAN)模型聚类谱聚类的优缺点。
  2. Activation Functions — All You Need To Know! [微信公众号的中文翻译] 各个激活函数进行比较,以及它的优缺点。
  3. Machine Learning - Gitbook 开源的ML书,大部分的内容都有。
  4. ovtenng 的文章 - segmentfault 一些图文并茂的文档。

Comments