超級大彙總!200多個最好的機器學習、NLP和Python教程

大資料文摘發表於2018-09-25

這篇文章包含了我目前為止找到的最好的教程內容。這不是一張羅列了所有網上跟機器學習相關教程的清單——不然就太冗長太重複了。我這裡並沒有包括那些質量一般的內容。我的目標是把能找到的最好的教程與機器學習自然語言處理的延伸主題們連線到一起。

我這裡指的“教程”,是指那些為了簡潔地傳授一個概念而寫的介紹性內容。我儘量避免了教科書裡的章節,因為它們涵蓋了更廣的內容,或者是研究論文,通常對於傳授概念來說並不是很有幫助。如果是那樣的話,為何不直接買書呢?當你想要學習一個基本主題或者是想要獲得更多觀點的時候,教程往往很有用。

我把這篇文章分為了四個部分:機器學習自然語言處理,python和數學。在每個部分中我都列舉了一些主題,但是因為材料的數量龐大,我不可能涉及到每一個主題。

如果你發現到我遺漏了哪些好的教程,請告訴我!我儘量把每個主題下的教程控制在五個或者六個,如果超過了這個數字就難免會有重複。每一個連結都包含了與其他連結不同的材料,或使用了不同的方式表達資訊(例如:使用程式碼,幻燈片和長文),或者是來自不同的角度。

機器學習

Start Here with Machine Learning (machinelearningmastery.com)

https://machinelearningmastery.com/start-here/

Machine Learning is Fun! (medium.com/@ageitgey)

https://medium.com/@ageitgey/machine-learning-is-fun-80ea3ec3c471

Rules of Machine Learning: Best Practices for ML Engineering(martin.zinkevich.org)

http://martin.zinkevich.org/rules_of_ml/rules_of_ml.pdf

Machine Learning Crash Course: Part I, Part II, Part III (Machine Learning at Berkeley)

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

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

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

An Introduction to Machine Learning Theory and Its Applications: A Visual Tutorial with Examples (toptal.com)

https://www.toptal.com/machine-learning/machine-learning-theory-an-introductory-primer

A Gentle Guide to Machine Learning (monkeylearn.com)

https://monkeylearn.com/blog/gentle-guide-to-machine-learning/

Which machine learning algorithm should I use? (sas.com)

https://blogs.sas.com/content/subconsciousmusings/2017/04/12/machine-learning-algorithm-use/

The Machine Learning Primer (sas.com)

https://www.sas.com/content/dam/SAS/en_us/doc/whitepaper1/machine-learning-primer-108796.pdf

Machine Learning Tutorial for Beginners (kaggle.com/kanncaa1)

https://www.kaggle.com/kanncaa1/machine-learning-tutorial-for-beginners

啟用和損失函式

Sigmoid neurons (neuralnetworksanddeeplearning.com)

http://neuralnetworksanddeeplearning.com/chap1.html#sigmoid_neurons

What is the role of the activation function in a neural network? (quora.com)

https://www.quora.com/What-is-the-role-of-the-activation-function-in-a-neural-network

Comprehensive list of activation functions in neural networks with pros/cons(stats.stackexchange.com)

https://stats.stackexchange.com/questions/115258/comprehensive-list-of-activation-functions-in-neural-networks-with-pros-cons

Activation functions and it’s types-Which is better? (medium.com)

https://medium.com/towards-data-science/activation-functions-and-its-types-which-is-better-a9a5310cc8f

Making Sense of Logarithmic Loss (exegetic.biz)

http://www.exegetic.biz/blog/2015/12/making-sense-logarithmic-loss/

Loss Functions (Stanford CS231n)

http://cs231n.github.io/neural-networks-2/#losses

L1 vs. L2 Loss function (rishy.github.io)

http://rishy.github.io/ml/2015/07/28/l1-vs-l2-loss/

The cross-entropy cost function (neuralnetworksanddeeplearning.com)

http://neuralnetworksanddeeplearning.com/chap3.html#the_cross-entropy_cost_function

偏差

Role of Bias in Neural Networks (stackoverflow.com)

https://stackoverflow.com/questions/2480650/role-of-bias-in-neural-networks/2499936#2499936

Bias Nodes in Neural Networks(makeyourownneuralnetwork.blogspot.com)

http://makeyourownneuralnetwork.blogspot.com/2016/06/bias-nodes-in-neural-networks.html

What is bias in artificial neural network? (quora.com)

https://www.quora.com/What-is-bias-in-artificial-neural-network

感知

Perceptrons (neuralnetworksanddeeplearning.com)

http://neuralnetworksanddeeplearning.com/chap1.html#perceptrons

The Perception (natureofcode.com)

https://natureofcode.com/book/chapter-10-neural-networks/#chapter10_figure3

Single-layer Neural Networks (Perceptrons) (dcu.ie)

http://computing.dcu.ie/~humphrys/Notes/Neural/single.neural.html

From Perceptrons to Deep Networks (toptal.com)

https://www.toptal.com/machine-learning/an-introduction-to-deep-learning-from-perceptrons-to-deep-networks

迴歸

Introduction to linear regression analysis (duke.edu)

http://people.duke.edu/~rnau/regintro.htm

Linear Regression (ufldl.stanford.edu)

http://ufldl.stanford.edu/tutorial/supervised/LinearRegression/

Linear Regression (readthedocs.io)

http://ml-cheatsheet.readthedocs.io/en/latest/linear_regression.html

Logistic Regression (readthedocs.io)

https://ml-cheatsheet.readthedocs.io/en/latest/logistic_regression.html

Simple Linear Regression Tutorial for Machine Learning(machinelearningmastery.com)

http://machinelearningmastery.com/simple-linear-regression-tutorial-for-machine-learning/

Logistic Regression Tutorial for Machine Learning(machinelearningmastery.com)

https://machinelearningmastery.com/logistic-regression-tutorial-for-machine-learning/

Softmax Regression (ufldl.stanford.edu)

http://ufldl.stanford.edu/tutorial/supervised/SoftmaxRegression/

梯度下降

Learning with gradient descent (neuralnetworksanddeeplearning.com)

http://neuralnetworksanddeeplearning.com/chap1.html#learning_with_gradient_descent

Gradient Descent (iamtrask.github.io)

http://iamtrask.github.io/2015/07/27/python-network-part2/

How to understand Gradient Descent algorithm (kdnuggets.com)

http://www.kdnuggets.com/2017/04/simple-understand-gradient-descent-algorithm.html

An overview of gradient descent optimization algorithms(sebastianruder.com)

http://sebastianruder.com/optimizing-gradient-descent/

Optimization: Stochastic Gradient Descent (Stanford CS231n)

http://cs231n.github.io/optimization-1/

生成學習

Generative Learning Algorithms (Stanford CS229)

http://cs229.stanford.edu/notes/cs229-notes2.pdf

A practical explanation of a Naive Bayes classifier (monkeylearn.com)

https://monkeylearn.com/blog/practical-explanation-naive-bayes-classifier/

支援向量機

An introduction to Support Vector Machines (SVM) (monkeylearn.com)

https://monkeylearn.com/blog/introduction-to-support-vector-machines-svm/

Support Vector Machines (Stanford CS229)

http://cs229.stanford.edu/notes/cs229-notes3.pdf

Linear classification: Support Vector Machine, Softmax (Stanford 231n)

http://cs231n.github.io/linear-classify/

深度學習

A Guide to Deep Learning by YN² (yerevann.com)

http://yerevann.com/a-guide-to-deep-learning/

Deep Learning Papers Reading Roadmap (github.com/floodsung)

https://github.com/floodsung/Deep-Learning-Papers-Reading-Roadmap

Deep Learning in a Nutshell (nikhilbuduma.com)

http://nikhilbuduma.com/2014/12/29/deep-learning-in-a-nutshell/

A Tutorial on Deep Learning (Quoc V. Le)

http://ai.stanford.edu/~quocle/tutorial1.pdf

What is Deep Learning? (machinelearningmastery.com)

https://machinelearningmastery.com/what-is-deep-learning/

What’s the Difference Between Artificial Intelligence, Machine Learning, and Deep Learning? (nvidia.com)

https://blogs.nvidia.com/blog/2016/07/29/whats-difference-artificial-intelligence-machine-learning-deep-learning-ai/

Deep Learning — The Straight Dope (gluon.mxnet.io)

https://gluon.mxnet.io/

最佳化和降維

Seven Techniques for Data Dimensionality Reduction (knime.org)

https://www.knime.org/blog/seven-techniques-for-data-dimensionality-reduction

Principal components analysis (Stanford CS229)

http://cs229.stanford.edu/notes/cs229-notes10.pdf

Dropout: A simple way to improve neural networks (Hinton @ NIPS 2012)

http://cs229.stanford.edu/notes/cs229-notes10.pdf

How to train your Deep Neural Network (rishy.github.io)

http://rishy.github.io/ml/2017/01/05/how-to-train-your-dnn/

長短期記憶(LSTM

A Gentle Introduction to Long Short-Term Memory Networks by the Experts(machinelearningmastery.com)

https://machinelearningmastery.com/gentle-introduction-long-short-term-memory-networks-experts/

Understanding LSTM Networks (colah.github.io)

http://colah.github.io/posts/2015-08-Understanding-LSTMs/

Exploring LSTMs (echen.me)

http://blog.echen.me/2017/05/30/exploring-lstms/

Anyone Can Learn To Code an LSTM-RNN in Python (iamtrask.github.io)

http://iamtrask.github.io/2015/11/15/anyone-can-code-lstm/

卷積神經網路

Introducing convolutional networks (neuralnetworksanddeeplearning.com)

http://neuralnetworksanddeeplearning.com/chap6.html#introducing_convolutional_networks

Deep Learning and Convolutional Neural Networks(medium.com/@ageitgey)

https://medium.com/@ageitgey/machine-learning-is-fun-part-3-deep-learning-and-convolutional-neural-networks-f40359318721

Conv Nets: A Modular Perspective (colah.github.io)

http://colah.github.io/posts/2014-07-Conv-Nets-Modular/

Understanding Convolutions (colah.github.io)

http://colah.github.io/posts/2014-07-Understanding-Convolutions/

遞迴神經網路

Recurrent Neural Networks Tutorial (wildml.com)

http://www.wildml.com/2015/09/recurrent-neural-networks-tutorial-part-1-introduction-to-rnns/

Attention and Augmented Recurrent Neural Networks (distill.pub)

http://distill.pub/2016/augmented-rnns/

The Unreasonable Effectiveness of Recurrent Neural Networks(karpathy.github.io)

http://karpathy.github.io/2015/05/21/rnn-effectiveness/

A Deep Dive into Recurrent Neural Nets (nikhilbuduma.com)

http://nikhilbuduma.com/2015/01/11/a-deep-dive-into-recurrent-neural-networks/

強化學習

Simple Beginner’s guide to Reinforcement Learning & its implementation(analyticsvidhya.com)

https://www.analyticsvidhya.com/blog/2017/01/introduction-to-reinforcement-learning-implementation/

A Tutorial for Reinforcement Learning (mst.edu)

https://web.mst.edu/~gosavia/tutorial.pdf

Learning Reinforcement Learning (wildml.com)

http://www.wildml.com/2016/10/learning-reinforcement-learning/

Deep Reinforcement Learning: Pong from Pixels (karpathy.github.io)

http://karpathy.github.io/2016/05/31/rl/

生成對抗網路(GANs)

Adversarial Machine Learning (aaai18adversarial.github.io)

https://aaai18adversarial.github.io/slides/AML.pptx

What’s a Generative Adversarial Network? (nvidia.com)

https://blogs.nvidia.com/blog/2017/05/17/generative-adversarial-network/

Abusing Generative Adversarial Networks to Make 8-bit Pixel Art(medium.com/@ageitgey)

https://medium.com/@ageitgey/abusing-generative-adversarial-networks-to-make-8-bit-pixel-art-e45d9b96cee7

An introduction to Generative Adversarial Networks (with code in TensorFlow) (aylien.com)

http://blog.aylien.com/introduction-generative-adversarial-networks-code-tensorflow/

Generative Adversarial Networks for Beginners (oreilly.com)

https://www.oreilly.com/learning/generative-adversarial-networks-for-beginners

多工學習

An Overview of Multi-Task Learning in Deep Neural Networks(sebastianruder.com)

http://sebastianruder.com/multi-task/index.html

自然語言處理

Natural Language Processing is Fun! (medium.com/@ageitgey)

https://medium.com/@ageitgey/natural-language-processing-is-fun-9a0bff37854e

A Primer on Neural Network Models for Natural Language Processing(Yoav Goldberg)

http://u.cs.biu.ac.il/~yogo/nnlp.pdf

The Definitive Guide to Natural Language Processing (monkeylearn.com)

https://monkeylearn.com/blog/the-definitive-guide-to-natural-language-processing/

Introduction to Natural Language Processing (algorithmia.com)

https://blog.algorithmia.com/introduction-natural-language-processing-nlp/

Natural Language Processing Tutorial (vikparuchuri.com)

http://www.vikparuchuri.com/blog/natural-language-processing-tutorial/

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

https://arxiv.org/pdf/1103.0398.pdf

深度學習自然語言處理

Deep Learning applied to NLP (arxiv.org)

https://arxiv.org/pdf/1703.03091.pdf

Deep Learning for NLP (without Magic) (Richard Socher)

https://nlp.stanford.edu/courses/NAACL2013/NAACL2013-Socher-Manning-DeepLearning.pdf

Understanding Convolutional Neural Networks for NLP (wildml.com)

http://www.wildml.com/2015/11/understanding-convolutional-neural-networks-for-nlp/

Deep Learning, NLP, and Representations (colah.github.io)

http://colah.github.io/posts/2014-07-NLP-RNNs-Representations/

Embed, encode, attend, predict: The new deep learning formula for state-of-the-art NLP models (explosion.ai)

https://explosion.ai/blog/deep-learning-formula-nlp

Understanding Natural Language with Deep Neural Networks Using Torch(nvidia.com)

https://devblogs.nvidia.com/parallelforall/understanding-natural-language-deep-neural-networks-using-torch/

Deep Learning for NLP with Pytorch (pytorich.org)                                            

http://pytorch.org/tutorials/beginner/deep_learning_nlp_tutorial.html

詞向量

Bag of Words Meets Bags of Popcorn (kaggle.com)

https://www.kaggle.com/c/word2vec-nlp-tutorial

On word embeddings Part I, Part II, Part III (sebastianruder.com)

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

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

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

The amazing power of word vectors (acolyer.org)

https://blog.acolyer.org/2016/04/21/the-amazing-power-of-word-vectors/

word2vec Parameter Learning Explained (arxiv.org)

https://arxiv.org/pdf/1411.2738.pdf

Word2Vec Tutorial — The Skip-Gram Model, Negative Sampling(mccormickml.com)

http://mccormickml.com/2016/04/19/word2vec-tutorial-the-skip-gram-model/

http://mccormickml.com/2017/01/11/word2vec-tutorial-part-2-negative-sampling/

編碼器-解碼器

Attention and Memory in Deep Learning and NLP (wildml.com)

http://www.wildml.com/2016/01/attention-and-memory-in-deep-learning-and-nlp/

Sequence to Sequence Models (tensorflow.org)

https://www.tensorflow.org/tutorials/seq2seq

Sequence to Sequence Learning with Neural Networks (NIPS 2014)

https://papers.nips.cc/paper/5346-sequence-to-sequence-learning-with-neural-networks.pdf

Machine Learning is Fun Part 5: Language Translation with Deep Learning and the Magic of Sequences (medium.com/@ageitgey)

https://medium.com/@ageitgey/machine-learning-is-fun-part-5-language-translation-with-deep-learning-and-the-magic-of-sequences-2ace0acca0aa

tf-seq2seq (google.github.io)

https://google.github.io/seq2seq/

Python

Machine Learning Crash Course (google.com)

https://developers.google.com/machine-learning/crash-course/

Awesome Machine Learning (github.com/josephmisiti)

https://github.com/josephmisiti/awesome-machine-learning#python

7 Steps to Mastering Machine Learning With Python (kdnuggets.com)

http://www.kdnuggets.com/2015/11/seven-steps-machine-learning-python.html

An example machine learning notebook (nbviewer.jupyter.org)

http://nbviewer.jupyter.org/github/rhiever/Data-Analysis-and-Machine-Learning-Projects/blob/master/example-data-science-notebook/Example%20Machine%20Learning%20Notebook.ipynb

Machine Learning with Python (tutorialspoint.com)

https://www.tutorialspoint.com/machine_learning_with_python/machine_learning_with_python_quick_guide.htm

範例

How To Implement The Perceptron Algorithm From Scratch In Python(machinelearningmastery.com)

http://machinelearningmastery.com/implement-perceptron-algorithm-scratch-python/

Implementing a Neural Network from Scratch in Python (wildml.com)

http://www.wildml.com/2015/09/implementing-a-neural-network-from-scratch/

A Neural Network in 11 lines of Python (iamtrask.github.io)

http://iamtrask.github.io/2015/07/12/basic-python-network/

Implementing Your Own k-Nearest Neighbour Algorithm Using Python(kdnuggets.com)

http://www.kdnuggets.com/2016/01/implementing-your-own-knn-using-python.html

ML from Scatch (github.com/eriklindernoren)

https://github.com/eriklindernoren/ML-From-Scratch

Python Machine Learning (2nd Ed.) Code Repository (github.com/rasbt)

https://github.com/rasbt/python-machine-learning-book-2nd-edition

Scipy and numpy

Scipy Lecture Notes (scipy-lectures.org)

http://www.scipy-lectures.org/

Python Numpy Tutorial (Stanford CS231n)

http://cs231n.github.io/python-numpy-tutorial/

An introduction to Numpy and Scipy (UCSB CHE210D)

https://engineering.ucsb.edu/~shell/che210d/numpy.pdf

A Crash Course in Python for Scientists (nbviewer.jupyter.org)

http://nbviewer.jupyter.org/gist/rpmuller/5920182#ii.-numpy-and-scipy

scikit-learn

PyCon scikit-learn Tutorial Index (nbviewer.jupyter.org)

http://nbviewer.jupyter.org/github/jakevdp/sklearn_pycon2015/blob/master/notebooks/Index.ipynb

scikit-learn Classification Algorithms (github.com/mmmayo13)

https://github.com/mmmayo13/scikit-learn-classifiers/blob/master/sklearn-classifiers-tutorial.ipynb

scikit-learn Tutorials (scikit-learn.org)

http://scikit-learn.org/stable/tutorial/index.html

Abridged scikit-learn Tutorials (github.com/mmmayo13)

https://github.com/mmmayo13/scikit-learn-beginners-tutorials

Tensorflow

Tensorflow Tutorials (tensorflow.org)

https://www.tensorflow.org/tutorials/

Introduction to TensorFlow — CPU vs GPU (medium.com/@erikhallstrm)

https://medium.com/@erikhallstrm/hello-world-tensorflow-649b15aed18c

TensorFlow: A primer (metaflow.fr)

https://blog.metaflow.fr/tensorflow-a-primer-4b3fa0978be3

RNNs in Tensorflow (wildml.com)

http://www.wildml.com/2016/08/rnns-in-tensorflow-a-practical-guide-and-undocumented-features/

Implementing a CNN for Text Classification in TensorFlow (wildml.com)

http://www.wildml.com/2015/12/implementing-a-cnn-for-text-classification-in-tensorflow/

How to Run Text Summarization with TensorFlow (surmenok.com)

http://pavel.surmenok.com/2016/10/15/how-to-run-text-summarization-with-tensorflow/

PyTorch

PyTorch Tutorials (pytorch.org)

http://pytorch.org/tutorials/

A Gentle Intro to PyTorch (gaurav.im)

http://blog.gaurav.im/2017/04/24/a-gentle-intro-to-pytorch/

Tutorial: Deep Learning in PyTorch (iamtrask.github.io)

https://iamtrask.github.io/2017/01/15/pytorch-tutorial/

PyTorch Examples (github.com/jcjohnson)

https://github.com/jcjohnson/pytorch-examples

PyTorch Tutorial (github.com/MorvanZhou)

https://github.com/MorvanZhou/PyTorch-Tutorial

PyTorch Tutorial for Deep Learning Researchers (github.com/yunjey)

https://github.com/yunjey/pytorch-tutorial

數學

Math for Machine Learning (ucsc.edu)

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

Math for Machine Learning (UMIACS CMSC422)

http://www.umiacs.umd.edu/~hal/courses/2013S_ML/math4ml.pdf

線性代數

An Intuitive Guide to Linear Algebra (betterexplained.com)

https://betterexplained.com/articles/linear-algebra-guide/

A Programmer’s Intuition for Matrix Multiplication (betterexplained.com)

https://betterexplained.com/articles/matrix-multiplication/

Understanding the Cross Product (betterexplained.com)

https://betterexplained.com/articles/cross-product/

Understanding the Dot Product (betterexplained.com)

https://betterexplained.com/articles/vector-calculus-understanding-the-dot-product/

Linear Algebra for Machine Learning (U. of Buffalo CSE574)

http://www.cedar.buffalo.edu/~srihari/CSE574/Chap1/LinearAlgebra.pdf

Linear algebra cheat sheet for deep learning (medium.com)

https://medium.com/towards-data-science/linear-algebra-cheat-sheet-for-deep-learning-cd67aba4526c

Linear Algebra Review and Reference (Stanford CS229)

http://cs229.stanford.edu/section/cs229-linalg.pdf

機率

Understanding Bayes Theorem With Ratios (betterexplained.com)

https://betterexplained.com/articles/understanding-bayes-theorem-with-ratios/

Review of Probability Theory (Stanford CS229)

http://cs229.stanford.edu/section/cs229-prob.pdf

Probability Theory Review for Machine Learning (Stanford CS229)

https://see.stanford.edu/materials/aimlcs229/cs229-prob.pdf

Probability Theory (U. of Buffalo CSE574)

http://www.cedar.buffalo.edu/~srihari/CSE574/Chap1/Probability-Theory.pdf

Probability Theory for Machine Learning (U. of Toronto CSC411)

http://www.cs.toronto.edu/~urtasun/courses/CSC411_Fall16/tutorial1.pdf

微積分

How To Understand Derivatives: The Quotient Rule, Exponents, and Logarithms (betterexplained.com)

https://betterexplained.com/articles/how-to-understand-derivatives-the-quotient-rule-exponents-and-logarithms/

How To Understand Derivatives: The Product, Power & Chain Rules(betterexplained.com)

https://betterexplained.com/articles/derivatives-product-power-chain/

Vector Calculus: Understanding the Gradient (betterexplained.com)

https://betterexplained.com/articles/vector-calculus-understanding-the-gradient/

Differential Calculus (Stanford CS224n)

http://web.stanford.edu/class/cs224n/lecture_notes/cs224n-2017-review-differential-calculus.pdf

Calculus Overview (readthedocs.io)

http://ml-cheatsheet.readthedocs.io/en/latest/calculus.html

相關文章