大数据文摘出品
编译:瓜瓜、Aileen
这篇文章包含了我目前为止找到的最好的教程内容。这不是一张罗列了所有网上跟机器学习相关教程的清单——不然就太冗长太重复了。我这里并没有包括那些质量一般的内容。我的目标是把能找到的最好的教程与机器学习和自然语言处理的延伸主题们连接到一起。
我这里指的“教程”,是指那些为了简洁地传授一个概念而写的介绍性内容。我尽量避免了教科书里的章节,因为它们涵盖了更广的内容,或者是研究论文,通常对于传授概念来说并不是很有帮助。如果是那样的话,为何不直接买书呢?当你想要学习一个基本主题或者是想要获得更多观点的时候,教程往往很有用。
我把这篇文章分为了四个部分:机器学习,自然语言处理,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
相关报道:
https://medium.com/machine-learning-in-practice/over-200-of-the-best-machine-learning-nlp-and-python-tutorials-2018-edition-dd8cf53cb7dc
【本文是51CTO专栏机构大数据文摘的原创文章,微信公众号“大数据文摘( id: BigDataDigest)”】