机器学习的发展可以追溯到1959年,有着丰富的历史。这个领域也正在以前所未有的速度进化。在之前的一篇文章中,我们讨论过为什么通用人工智能领域即将要爆发。有兴趣入坑ML的小伙伴不要拖延了,时不我待!

为了帮助也在经历类似探索过程的童鞋,我把至今发现的最好的教程汇总了一个列表。当然这不是网络上有关ML的最全集合,而且其中有一部分内容很普通。我的目标是要找到最好的有关机器学习子方向和NLP的教程。
我把这博文分成四个部分,机器学习,NLP,Python,和数学基础。在每一小节我会随机引入一些问题。由于这方面学习材料太丰富了,本文并未涵括所有内容。

2018学习清单:150个最好的机器学习,NLP和Python教程-麦芽
机器学习

1、机器学习就是这么好玩!(medium.com/@ageitgey)

机器学习速成课程(Berkeley的ML):

Part I:https://ml.berkeley.edu/blog/2016/11/06/tutorial-1/

Part II:https://ml.berkeley.edu/blog/2016/12/24/tutorial-2/

Part III:https://ml.berkeley.edu/blog/2017/02/04/tutorial-3/

机器学习入门与应用:实例图解(toptal.com)

机器学习的简易指南 (monkeylearn.com)

如何选择机器学习算法?(sas.com)

2、Activation and Loss Functions

激活函数与损失函数

sigmoid 神经元 (neuralnetworksanddeeplearning.com)

激活函数在神经网络中有什么作用?(quora.com)

神经网络的激活函数大全及其优劣 (stats.stackexchange.com)

激活函数及其分类比较(medium.com)

理解对数损失 (exegetic.biz)

损失函数(Stanford CS231n)

损失函数L1 与L2 比较(rishy.github.io)

交叉熵损失函数(neuralnetworksanddeeplearning.com)

3、偏差(Bias)

神经网络中的偏差的作用(stackoverflow.com)

神经网络中的偏差节点(makeyourownneuralnetwork.blogspot.com)

什么是人工神经网络中的偏差 (quora.com)

4、感知器(Perceptron

感知器模型(neuralnetworksanddeeplearning.com)

感知器(natureofcode.com)

一层的神经网络(感知器模型)(dcu.ie)

从感知器模型到深度网络(toptal.com)

5、回归算法

线性回归分析简介(duke.edu)

线性回归 (ufldl.stanford.edu)

线性回归 (readthedocs.io)

逻辑斯特回归 (readthedocs.io)

机器学习之简单线性回归教程(machinelearningmastery.com)

机器学习之逻辑斯特回归教程(machinelearningmastery.com)

softmax 回归(ufldl.stanford.edu)

教程

6、梯度下降

基于梯度下降的学习 (neuralnetworksanddeeplearning.com)

梯度下降(iamtrask.github.io)

如何理解梯度下降算法?(kdnuggets.com)

梯度下降优化算法概览(sebastianruder.com)

优化算法:随机梯度下降算法 (Stanford CS231n)

7、生成学习

生成学习算法 (Stanford CS229)

贝叶斯分类算法之实例解析(monkeylearn.com)

8、支持向量机

支持向量机(SVM)入门(monkeylearn.com)

支持向量机(Stanford CS229)

线性分类:支持向量机,Softmax (Stanford 231n)

9、后向传播算法(Backpropagation)

后向传播算法必知(medium.com/@karpathy)

来,给我图解一下神经网络后向传播算法?(github.com/rasbt)

后向传播算法是如何运行的?(neuralnetworksanddeeplearning.com)

沿时后向传播算法与梯度消失(wildml.com)

简易入门沿时后向传播算法(machinelearningmastery.com)

奔跑吧,后向传播算法!(Stanford CS231n)

10、深度学习

果壳里的深度学习(nikhilbuduma.com)

深度学习教程 (Quoc V. Le)

深度学习,什么鬼?(machinelearningmastery.com)

什么是人工智能,机器学习,深度学习之间的区别? (nvidia.com)

11、优化算法与降维算法

数据降维的七招炼金术(knime.org)

主成分分析(Stanford CS229)

Dropout: 改进神经网络的一个简单方法(Hinton @ NIPS 2012)

如何溜你们家的深度神经网络?(rishy.github.io)

12、长短期记忆(LSTM)

老司机带你简易入门长短期神经网络(machinelearningmastery.com)

理解LSTM网络(colah.github.io)

漫谈LSTM模型(echen.me)

小学生看完这教程都可以用Python实现一个LSTM-RNN (iamtrask.github.io)

13、卷积神经网络(CNNs)

卷积网络入门(neuralnetworksanddeeplearning.com)

深度学习与卷积神经网络模型(medium.com/@ageitgey)

拆解卷积网络模型(colah.github.io)

理解卷积网络(colah.github.io)

14、递归神经网络(RNNs)

递归神经网络教程 (wildml.com)

注意力模型与增强型递归神经网络(distill.pub)

这么不科学的递归神经网络模型(karpathy.github.io)

深入递归神经网络模型(nikhilbuduma.com)

15、强化学习

给小白看的强化学习及其实现指南 (analyticsvidhya.com)

强化学习教程(mst.edu)

强化学习,你学了么?(wildml.com)

深度强化学习:开挂玩Pong (karpathy.github.io)

16、对抗式生成网络模型(GANs)

什么是对抗式生成网络模型?(nvidia.com)

用对抗式生成网络创造8个像素的艺术(medium.com/@ageitgey)

对抗式生成网络入门(TensorFlow)(aylien.com)

《对抗式生成网络》(小学一年级~上册)(oreilly.com)

17、多任务学习

深度神经网络中的多任务学习概述(sebastianruder.com)

NLP

1、NLP

《基于神经网络模型的自然语言处理》(小学一年级~上册)(Yoav Goldberg)

自然语言处理权威指南(monkeylearn.com)

自然语言处理入门(algorithmia.com)

自然语言处理教程 (vikparuchuri.com)

Natural Language Processing (almost) from Scratch (arxiv.org)

初高中生课程:自然语言处理 (arxiv.org)

2、深度学习和 NLP

基于深度学习的NLP应用(arxiv.org)

基于深度学习的NLP(Richard Socher)

理解卷积神经网络在NLP中的应用(wildml.com)

深度学习,NLP,表示学习(colah.github.io)

嵌入表示,编码,注意力,预测 : 新一代深度学习因NLP的精妙而存在(explosion.ai)

理解基于神经网络的自然语言处理(Torch实现) (nvidia.com)

深度学习在NLP中的应用(Pytorch实现) (pytorich.org)

3、词向量(Word Vectors)

词袋法遇到感知器装袋法(kaggle.com)

学习单词嵌入表示法(sebastianruder.com)

Part I:http://sebastianruder.com/word-embeddings-1/index.html

Part II:http://sebastianruder.com/word-embeddings-softmax/index.html

Part III:http://sebastianruder.com/secret-word2vec/index.html

单词嵌入表示的神奇力量(acolyer.org)

解释word2vec 的参数学习(arxiv.org)

word2vec教程 skip-gram 模型,负采样(mccormickml.com)

4、Encoder-Decoder

注意力机制与记忆机制在深度学习与NLP中的应用(wildml.com)

序列到序列模型(tensorflow.org)

利用神经网络学习序列到序列模型(NIPS 2014)

基于深度学习和魔法序列的语言翻译(medium.com/@ageitgey)

如何使用编码-解码LSTM输出随机整数对应的序列(machinelearningmastery.com)

tf-seq2seq (google.github.io)

Python

使用Python精通机器学习的七步法(kdnuggets.com)

机器学习的一个简例(nbviewer.jupyter.org)

2、实例

小白如何用python实现感知器算法(machinelearningmastery.com)

小学生用python实现一个神经网络(wildml.com)

只用11行python代码实现一个神经网络算法(iamtrask.github.io)

自己动手用ptython实现最近邻算法(kdnuggets.com)

python实现长短期记忆网络的记忆机制(machinelearningmastery.com)

如何用长短期记忆递归神经网络输出随机整数(machinelearningmastery.com)

如何用seq2seq递归神经网络学习加法运算(machinelearningmastery.com)

3、Scipy 和 numpy

Scipy课程笔记(scipy-lectures.org)

Python Numpy 教程(Stanford CS231n)

Numpy 与 Scipy 入门(UCSB CHE210D)

给科学家看的Python微课程(nbviewer.jupyter.org)

4、scikit-learn

PyCon会议上的Scik-learn 教程(nbviewer.jupyter.org)

Scikit-learn 中的分类算法(github.com/mmmayo13)

Scikit-learn教程(scikit-learn.org)

简明版Scikit-learn教程(github.com/mmmayo13)

5、Tensorflow

Tensorflow教程(tensorflow.org)

Tensorflow入门--CPU vs GPU

(medium.com/@erikhallstrm)

Tensorflow入门(metaflow.fr)

Tensorflow实现RNNs (wildml.com)

Tensorflow实现文本分类CNN模型(wildml.com)

如何用Tensorflow做文本摘要(surmenok.com)

6、PyTorch

Pytorch教程(pytorch.org)

Pytorch快手入门 (gaurav.im)

利用Pytorch深度学习教程(iamtrask.github.io)

Pytorch实战(github.com/jcjohnson)

PyTorch 教程(github.com/MorvanZhou)

深度学习研究人员看的PyTorch教程(github.com/yunjey)

数学

1、机器学习中的数学 (ucsc.edu)

https://people.ucsc.edu/~praman1/static/pub/math-for-ml.pdf

机器学习数学基础(UMIACS CMSC422)

2、线性代数

线性代数简明指南(betterexplained.com)

码农眼中矩阵乘法 (betterexplained.com)

理解叉乘运算(betterexplained.com)

理解点乘运算(betterexplained.com)

机器学习中的线性代数(U. of Buffalo CSE574)

深度学习的线代小抄(medium.com)

复习线性代数与课后阅读材料(Stanford CS229)

3、概率论

贝叶斯理论 (betterexplained.com)

理解贝叶斯概率理论(Stanford CS229)

复习机器学习中的概率论(Stanford CS229)

概率论(U. of Buffalo CSE574)

机器学习中的概率论(U. of Toronto CSC411)

4、计算方法(Calculus)

如何理解导数:求导法则,指数和算法(betterexplained.com)

如何理解导数,乘法,幂指数,链式法(betterexplained.com)

向量计算,理解梯度(betterexplained.com)

微分计算(Stanford CS224n)

计算方法概论(readthedocs.io)