2018AI學習清單丨150個最好的機器學習和Python教程

本文作者:Robbie Allen

機器學習的發展可以追溯到1959年,有著豐富的歷史。這個領域也正在以前所未有的速度進化。在今年秋季,開始準備博士項目的時候,精選了一些有關機器學習和NLP的優質網路資源。為了幫助也在經歷類似探索過程的童鞋,Robbie Allen把至今發現的最好的教程匯總了一個列表。公眾號後台回復:「清單」,獲取本文學習清單地址。

本文分成四個部分,機器學習,NLP,Python,和數學基礎。在每一小節我會隨機引入一些問題。由於這方面學習材料太豐富了,本文並未涵括所有內容。

機器學習

1、機器學習就是這麼好玩!(medium.com/@ageitgey)

機器學習速成課程(Berkeley的ML):

Part I:ml.berkeley.edu/blog/20

Part II:ml.berkeley.edu/blog/20

Part III:ml.berkeley.edu/blog/20

機器學習入門與應用:實例圖解(toptal.com)

toptal.com/machine-lear

機器學習的簡易指南 (monkeylearn.com)

monkeylearn.com/blog/a-

如何選擇機器學習演算法?(sas.com)

blogs.sas.com/content/s

2、Activation and Loss Functions

激活函數與損失函數

sigmoid 神經元 (neuralnetworksanddeeplearning.com)

neuralnetworksanddeeplearning.com

激活函數在神經網路中有什麼作用?(quora.com)

quora.com/What-is-the-r

神經網路的激活函數大全及其優劣 (stats.stackexchange.com)

stats.stackexchange.com

激活函數及其分類比較(medium.com)

medium.com/towards-data

理解對數損失 (exegetic.biz)

exegetic.biz/blog/2015/

損失函數(Stanford CS231n)

cs231n.github.io/neural

損失函數L1 與L2 比較(rishy.github.io)

rishy.github.io/ml/2015

交叉熵損失函數(neuralnetworksanddeeplearning.com)

neuralnetworksanddeeplearning.com

3、偏差(Bias)

神經網路中的偏差的作用(stackoverflow.com)

stackoverflow.com/quest

神經網路中的偏差節點(makeyourownneuralnetwork.blogspot.com)

makeyourownneuralnetwork.blogspot.com

什麼是人工神經網路中的偏差 (quora.com)

quora.com/What-is-bias-

4、感知器(Perceptron)

感知器模型(neuralnetworksanddeeplearning.com)

neuralnetworksanddeeplearning.com

感知器(natureofcode.com)

natureofcode.com/book/c

一層的神經網路(感知器模型)(dcu.ie)

computing.dcu.ie/~humph

從感知器模型到深度網路(toptal.com)

toptal.com/machine-lear

5、回歸演算法

線性回歸分析簡介(duke.edu)

people.duke.edu/~rnau/r

線性回歸 (ufldl.stanford.edu)

ufldl.stanford.edu/tuto

線性回歸 (readthedocs.io)

ml-cheatsheet.readthedocs.io

邏輯斯特回歸 (readthedocs.io)

ml-cheatsheet.readthedocs.io

機器學習之簡單線性回歸教程(machinelearningmastery.com)

machinelearningmastery.com

機器學習之邏輯斯特回歸教程(machinelearningmastery.com)

machinelearningmastery.com

softmax 回歸(ufldl.stanford.edu)

Unsupervised Feature Learning and Deep Learning Tutorialufldl.stanford.edu

6、梯度下降

基於梯度下降的學習 (neuralnetworksanddeeplearning.com)

neuralnetworksanddeeplearning.com

梯度下降(iamtrask.github.io)

iamtrask.github.io/2015

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

kdnuggets.com/2017/04/s

梯度下降優化演算法概覽(sebastianruder.com)

sebastianruder.com/opti

優化演算法:隨機梯度下降演算法 (Stanford CS231n)

cs231n.github.io/optimi

7、生成學習

生成學習演算法 (Stanford CS229)

cs229.stanford.edu/note

貝葉斯分類演算法之實例解析(monkeylearn.com)

monkeylearn.com/blog/pr

8、支持向量機

支持向量機(SVM)入門(monkeylearn.com)

monkeylearn.com/blog/in

支持向量機(Stanford CS229)

cs229.stanford.edu/note

線性分類:支持向量機,Softmax (Stanford 231n)

cs231n.github.io/linear

9、後向傳播演算法(Backpropagation)

後向傳播演算法必知(medium.com/@karpathy)

medium.com/@karpathy/ye

來,給我圖解一下神經網路後向傳播演算法?(github.com/rasbt)

github.com/rasbt/python

後向傳播演算法是如何運行的?(neuralnetworksanddeeplearning.com)

neuralnetworksanddeeplearning.com

沿時後向傳播演算法與梯度消失(wildml.com)

wildml.com/2015/10/recu

簡易入門沿時後向傳播演算法(machinelearningmastery.com)

machinelearningmastery.com

奔跑吧,後向傳播演算法!(Stanford CS231n)

cs231n.github.io/optimi

10、深度學習

果殼裡的深度學習(nikhilbuduma.com)

nikhilbuduma.com/2014/1

深度學習教程 (Quoc V. Le)

ai.stanford.edu/~quocle

深度學習,什麼鬼?(machinelearningmastery.com)

machinelearningmastery.com

什麼是人工智慧,機器學習,深度學習之間的區別? (nvidia.com)

blogs.nvidia.com/blog/2

11、優化演算法與降維演算法

數據降維的七招鍊金術(knime.org)

knime.org/blog/seven-te

主成分分析(Stanford CS229)

cs229.stanford.edu/note

Dropout: 改進神經網路的一個簡單方法(Hinton @ NIPS 2012)

videolectures.net/site/

如何溜你們家的深度神經網路?(rishy.github.io)

rishy.github.io/ml/2017

12、長短期記憶(LSTM)

老司機帶你簡易入門長短期神經網路(machinelearningmastery.com)

machinelearningmastery.com

理解LSTM網路(colah.github.io)

colah.github.io/posts/2

漫談LSTM模型(echen.me)

blog.echen.me/2017/05/3

小學生看完這教程都可以用Python實現一個LSTM-RNN (iamtrask.github.io)

iamtrask.github.io/2015

13、卷積神經網路(CNNs)

卷積網路入門(neuralnetworksanddeeplearning.com)

neuralnetworksanddeeplearning.com

深度學習與卷積神經網路模型(medium.com/@ageitgey)

medium.com/@ageitgey/ma

拆解卷積網路模型(colah.github.io)

colah.github.io/posts/2

理解卷積網路(colah.github.io)

colah.github.io/posts/2

14、遞歸神經網路(RNNs)

遞歸神經網路教程 (wildml.com)

wildml.com/2015/09/recu

注意力模型與增強型遞歸神經網路(distill.pub)

distill.pub/2016/augmen

這麼不科學的遞歸神經網路模型(karpathy.github.io)

karpathy.github.io/2015

深入遞歸神經網路模型(nikhilbuduma.com)

nikhilbuduma.com/2015/0

15、強化學習

給小白看的強化學習及其實現指南 (analyticsvidhya.com)

analyticsvidhya.com/blo

強化學習教程(mst.edu)

web.mst.edu/~gosavia/tu

強化學習,你學了么?(wildml.com)

wildml.com/2016/10/lear

深度強化學習:開掛玩Pong (karpathy.github.io)

karpathy.github.io/2016

16、對抗式生成網路模型(GANs)

什麼是對抗式生成網路模型?(nvidia.com)

blogs.nvidia.com/blog/2

用對抗式生成網路創造8個像素的藝術(medium.com/@ageitgey)

medium.com/@ageitgey/ab

對抗式生成網路入門(TensorFlow)(aylien.com)

blog.aylien.com/introdu

《對抗式生成網路》(小學一年級~上冊)(oreilly.com)

oreilly.com/learning/ge

17、多任務學習

深度神經網路中的多任務學習概述(sebastianruder.com)

sebastianruder.com/mult

NLP

1、NLP

《基於神經網路模型的自然語言處理》(小學一年級~上冊)(Yoav Goldberg)

u.cs.biu.ac.il/~yogo/nn

自然語言處理權威指南(monkeylearn.com)

monkeylearn.com/blog/th

自然語言處理入門(algorithmia.com)

blog.algorithmia.com/in

自然語言處理教程 (vikparuchuri.com)

vikparuchuri.com/blog/n

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

初高中生課程:自然語言處理 (arxiv.org)

arxiv.org/pdf/1103.0398

2、深度學習和 NLP

基於深度學習的NLP應用(arxiv.org)

arxiv.org/pdf/1703.0309

基於深度學習的NLP(Richard Socher)

nlp.stanford.edu/course

理解卷積神經網路在NLP中的應用(wildml.com)

wildml.com/2015/11/unde

深度學習,NLP,表示學習(colah.github.io)

colah.github.io/posts/2

嵌入表示,編碼,注意力,預測 : 新一代深度學習因NLP的精妙而存在(explosion.ai)

explosion.ai/blog/deep-

理解基於神經網路的自然語言處理(Torch實現) (nvidia.com)

devblogs.nvidia.com/par

深度學習在NLP中的應用(Pytorch實現) (pytorich.org)

pytorch.org/tutorials/b

3、詞向量(Word Vectors)

詞袋法遇到感知器裝袋法(kaggle.com)

kaggle.com/c/word2vec-n

學習單詞嵌入表示法(sebastianruder.com)

Part I:sebastianruder.com/word

Part II:sebastianruder.com/word

Part III:sebastianruder.com/secr

單詞嵌入表示的神奇力量(acolyer.org)

blog.acolyer.org/2016/0

解釋word2vec 的參數學習(arxiv.org)

arxiv.org/pdf/1411.2738

word2vec教程 skip-gram 模型,負採樣(mccormickml.com)

mccormickml.com/2016/04

4、Encoder-Decoder

注意力機制與記憶機制在深度學習與NLP中的應用(wildml.com)

wildml.com/2016/01/atte

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

tensorflow.org/tutorial

利用神經網路學習序列到序列模型(NIPS 2014)

papers.nips.cc/paper/53

基於深度學習和魔法序列的語言翻譯(medium.com/@ageitgey)

medium.com/@ageitgey/ma

如何使用編碼-解碼LSTM輸出隨機整數對應的序列(machinelearningmastery.com)

machinelearningmastery.com

tf-seq2seq (google.github.io)

google.github.io/seq2se

Python

1、Python

使用Python精通機器學習的七步法(kdnuggets.com)

kdnuggets.com/2015/11/s

機器學習的一個簡例(nbviewer.jupyter.org)

nbviewer.jupyter.org/gi Machine Learning Notebook.ipynb

2、實例

小白如何用python實現感知器演算法(machinelearningmastery.com)

machinelearningmastery.com

小學生用python實現一個神經網路(wildml.com)

wildml.com/2015/09/impl

只用11行python代碼實現一個神經網路演算法(iamtrask.github.io)

iamtrask.github.io/2015

自己動手用ptython實現最近鄰演算法(kdnuggets.com)

kdnuggets.com/2016/01/i

python實現長短期記憶網路的記憶機制(machinelearningmastery.com)

machinelearningmastery.com

如何用長短期記憶遞歸神經網路輸出隨機整數(machinelearningmastery.com)

machinelearningmastery.com

如何用seq2seq遞歸神經網路學習加法運算(machinelearningmastery.com)

machinelearningmastery.com

3、Scipy 和 numpy

Scipy課程筆記(scipy-lectures.org)

scipy-lectures.org/

Python Numpy 教程(Stanford CS231n)

cs231n.github.io/python

Numpy 與 Scipy 入門(UCSB CHE210D)

engineering.ucsb.edu/~s

給科學家看的Python微課程(nbviewer.jupyter.org)

nbviewer.jupyter.org/gi

4、scikit-learn

PyCon會議上的Scik-learn 教程(nbviewer.jupyter.org)

nbviewer.jupyter.org/gi

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

github.com/mmmayo13/sci

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

scikit-learn.org/stable

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

github.com/mmmayo13/sci

5、Tensorflow

Tensorflow教程(tensorflow.org)

tensorflow.org/tutorial

Tensorflow入門--CPU vs GPU

(medium.com/@erikhallstr)

medium.com/@erikhallstr

Tensorflow入門(metaflow.fr)

blog.metaflow.fr/tensor

Tensorflow實現RNNs (wildml.com)

wildml.com/2016/08/rnns

Tensorflow實現文本分類CNN模型(wildml.com)

wildml.com/2015/12/impl

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

pavel.surmenok.com/2016

6、PyTorch

Pytorch教程(pytorch.org)

pytorch.org/tutorials/

Pytorch快手入門 (gaurav.im)

blog.gaurav.im/2017/04/

利用Pytorch深度學習教程(iamtrask.github.io)

iamtrask.github.io/2017

Pytorch實戰(github.com/jcjohnson)

github.com/jcjohnson/py

PyTorch 教程(github.com/MorvanZhou)

github.com/MorvanZhou/P

深度學習研究人員看的PyTorch教程(github.com/yunjey)

github.com/yunjey/pytor

數學

1、機器學習中的數學 (ucsc.edu)

people.ucsc.edu/~praman

機器學習數學基礎(UMIACS CMSC422)

umiacs.umd.edu/~hal/cou

2、線性代數

線性代數簡明指南(betterexplained.com)

betterexplained.com/art

碼農眼中矩陣乘法 (betterexplained.com)

betterexplained.com/art

理解叉乘運算(betterexplained.com)

betterexplained.com/art

理解點乘運算(betterexplained.com)

betterexplained.com/art

機器學習中的線性代數(U. of Buffalo CSE574)

cedar.buffalo.edu/~srih

深度學習的線代小抄(medium.com)

medium.com/towards-data

複習線性代數與課後閱讀材料(Stanford CS229)

cs229.stanford.edu/sect

3、概率論

貝葉斯理論 (betterexplained.com)

betterexplained.com/art

理解貝葉斯概率理論(Stanford CS229)

cs229.stanford.edu/sect

複習機器學習中的概率論(Stanford CS229)

see.stanford.edu/materi

概率論(U. of Buffalo CSE574)

cedar.buffalo.edu/~srih

機器學習中的概率論(U. of Toronto CSC411)

cs.toronto.edu/~urtasun

4、計算方法(Calculus)

如何理解導數:求導法則,指數和演算法(betterexplained.com)

betterexplained.com/art

如何理解導數,乘法,冪指數,鏈式法(betterexplained.com)

betterexplained.com/art

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

betterexplained.com/art

微分計算(Stanford CS224n)

web.stanford.edu/class/

計算方法概論(readthedocs.io)

ml-cheatsheet.readthedocs.io


推薦閱讀:

乾貨|Scikit-Learn的五種機器學習方法使用案例(python代碼)
數據挖掘進階:kaggle競賽top代碼分享
跟黃哥學習python第二章
草根學Python(三)List 和 Tuple

TAG:機器學習 | Python | AI技術 |