機器學習已經發展了很久,它的歷史可以追溯到1959年,但是如今此領域的發展速度可以說是空前的。在最近的幾篇文章中,我討論了人工智慧領域為何會在現在以及不久的將來持續蓬勃發展。如今很多對機器學習感興趣的同學都普遍表示入門很難。
在準備博士課題的期間,我嘗試在網路上搜尋與機器學習和自然語言處理相關的優秀資源。當我找了一個有趣的教程或者視訊,從這個教程或者視訊出發我又可以找到三四個更多的教程或視訊,最終就會出現的畫面就是我還沒有開始認真研究第一個找到的教程,瀏覽器已經開啟了 20 個標籤等待我去瀏覽了。(注: Tab Bundler 可以幫助讓我們的標籤更有條理)。
在找到了超過 25 個與機器學習相關的速查表後,我寫了篇文章, 在裡面整理了所有優秀的速查表。
為了給後面學習的童鞋鋪路,我將我找到的最好的一些教程內容整理成了一份列表。這份列表並沒有包含所有網上能找到的與機器學習相關的教程,否則這份列表將會過於臃腫。我的目標就是將我在機器學習和自然語言處理領域各個方面找到的我認為最好的教程整理出來。
在教程中,為了能夠更好的讓讀者理解其中的概念,我將避免羅列書中每章的詳細內容,而是總結一些概念性的介紹內容。為什麼不直接去買本書?當你想要對某些特定的主題或者不同方面進行了初步瞭解時,我相信這些教程對你可能幫助更大。
本文中我將分四個主題進行整理:機器學習、自然語言處理、Python 和數學。在每個主題中我將包含一個例子和多個資源。當然我不可能完全覆蓋所有的主題啦。
在將來,我也將會整理一系列類似的資源列表,包括書籍,視訊和程式碼專案等。因為我目前也的確正在編譯這些資源。
如果你發現我在這裡遺漏了好的教程資源,請聯絡告訴我。為了避免資源重複羅列,我在每個主題下只列出了5、6個教程。下面的每個連結都應該連結了和其他連結不同的資源,也會通過不同的方式(例如幻燈片程式碼段)或者不同的角度呈現出這些內容。
機器學習
- Machine Learning is Fun! (medium.com/@ageitgey)
- Machine Learning Crash Course: Part I, Part II, Part III (Machine Learning at Berkeley)
- An Introduction to Machine Learning Theory and Its Applications: A Visual Tutorial with Examples(toptal.com)
- A Gentle Guide to Machine Learning (monkeylearn.com)
- Which machine learning algorithm should I use? (sas.com)
啟用函式和損失函式
- Sigmoid neurons (neuralnetworksanddeeplearning.com)
- What is the role of the activation function in a neural network? (quora.com)
- Comprehensive list of activation functions in neural networks with pros/cons (stats.stackexchange.com)
- Activation functions and it’s types-Which is better? (medium.com)
- Making Sense of Logarithmic Loss (exegetic.biz)
- Loss Functions (Stanford CS231n)
- L1 vs. L2 Loss function (rishy.github.io)
- The cross-entropy cost function (neuralnetworksanddeeplearning.com)
偏差
- Role of Bias in Neural Networks (stackoverflow.com)
- Bias Nodes in Neural Networks (makeyourownneuralnetwork.blogspot.com)
- What is bias in artificial neural network? (quora.com)
感知器
- Perceptrons (neuralnetworksanddeeplearning.com)
- The Perception (natureofcode.com)
- Single-layer Neural Networks (Perceptrons) (dcu.ie)
- From Perceptrons to Deep Networks (toptal.com)
迴歸
- Introduction to linear regression analysis (duke.edu)
- Linear Regression (ufldl.stanford.edu)
- Linear Regression (readthedocs.io)
- Logistic Regression (readthedocs.io)
- Simple Linear Regression Tutorial for Machine Learning (machinelearningmastery.com)
- Logistic Regression Tutorial for Machine Learning (machinelearningmastery.com)
- Softmax Regression (ufldl.stanford.edu)
梯度下降
- Learning with gradient descent (neuralnetworksanddeeplearning.com)
- Gradient Descent (iamtrask.github.io)
- How to understand Gradient Descent algorithm (kdnuggets.com)
- An overview of gradient descent optimization algorithms (sebastianruder.com)
- Optimization: Stochastic Gradient Descent (Stanford CS231n)
生成學習
- Generative Learning Algorithms (Stanford CS229)
- A practical explanation of a Naive Bayes classifier (monkeylearn.com)
支援向量機
- An introduction to Support Vector Machines (SVM) (monkeylearn.com)
- Support Vector Machines (Stanford CS229)
- Linear classification: Support Vector Machine, Softmax (Stanford 231n)
反向傳播
- Yes you should understand backprop (medium.com/@karpathy)
- Can you give a visual explanation for the back propagation algorithm for neural networks?(github.com/rasbt)
- How the backpropagation algorithm works (neuralnetworksanddeeplearning.com)
- Backpropagation Through Time and Vanishing Gradients (wildml.com)
- A Gentle Introduction to Backpropagation Through Time (machinelearningmastery.com)
- Backpropagation, Intuitions (Stanford CS231n)
深度學習
- Deep Learning in a Nutshell (nikhilbuduma.com)
- A Tutorial on Deep Learning (Quoc V. Le)
- What is Deep Learning? (machinelearningmastery.com)
- What’s the Difference Between Artificial Intelligence, Machine Learning, and Deep Learning? (nvidia.com)
優化和降維
- Seven Techniques for Data Dimensionality Reduction (knime.org)
- Principal components analysis (Stanford CS229)
- Dropout: A simple way to improve neural networks (Hinton @ NIPS 2012)
- How to train your Deep Neural Network (rishy.github.io)
長短期記憶(LSTM)
- A Gentle Introduction to Long Short-Term Memory Networks by the Experts (machinelearningmastery.com)
- Understanding LSTM Networks (colah.github.io)
- Exploring LSTMs (echen.me)
- Anyone Can Learn To Code an LSTM-RNN in Python (iamtrask.github.io)
卷積神經網路(CNNs)
- Introducing convolutional networks (neuralnetworksanddeeplearning.com)
- Deep Learning and Convolutional Neural Networks (medium.com/@ageitgey)
- Conv Nets: A Modular Perspective (colah.github.io)
- Understanding Convolutions (colah.github.io)
迴圈神經網路(RNNs)
Recurrent Neural Networks Tutorial (wildml.com)
Attention and Augmented Recurrent Neural Networks (distill.pub)
The Unreasonable Effectiveness of Recurrent Neural Networks (karpathy.github.io)
A Deep Dive into Recurrent Neural Nets (nikhilbuduma.com)
增強學習
- Simple Beginner’s guide to Reinforcement Learning & its implementation (analyticsvidhya.com)
- A Tutorial for Reinforcement Learning (mst.edu)
- Learning Reinforcement Learning (wildml.com)
- Deep Reinforcement Learning: Pong from Pixels (karpathy.github.io)
生成對抗網路(GANs)
- What’s a Generative Adversarial Network? (nvidia.com)
- Abusing Generative Adversarial Networks to Make 8-bit Pixel Art (medium.com/@ageitgey)
- An introduction to Generative Adversarial Networks (with code in TensorFlow) (aylien.com)
- Generative Adversarial Networks for Beginners (oreilly.com)
多工學習
- An Overview of Multi-Task Learning in Deep Neural Networks (sebastianruder.com)
自然語言處理(NLP)
- A Primer on Neural Network Models for Natural Language Processing (Yoav Goldberg)
- The Definitive Guide to Natural Language Processing (monkeylearn.com)
- Introduction to Natural Language Processing (algorithmia.com)
- Natural Language Processing Tutorial (vikparuchuri.com)
- Natural Language Processing (almost) from Scratch (arxiv.org)
深度學習與NLP
- Deep Learning applied to NLP (arxiv.org)
- Deep Learning for NLP (without Magic) (Richard Socher)
- Understanding Convolutional Neural Networks for NLP (wildml.com)
- Deep Learning, NLP, and Representations (colah.github.io)
- Embed, encode, attend, predict: The new deep learning formula for state-of-the-art NLP models(explosion.ai)
- Understanding Natural Language with Deep Neural Networks Using Torch (nvidia.com)
- Deep Learning for NLP with Pytorch (pytorich.org)
詞向量
- Bag of Words Meets Bags of Popcorn (kaggle.com)
- On word embeddings Part I, Part II, Part III (sebastianruder.com)
- The amazing power of word vectors (acolyer.org)
- word2vec Parameter Learning Explained (arxiv.org)
- Word2Vec Tutorial — The Skip-Gram Model, Negative Sampling (mccormickml.com)
編碼器-解碼器
- Attention and Memory in Deep Learning and NLP (wildml.com)
- Sequence to Sequence Models (tensorflow.org)
- Sequence to Sequence Learning with Neural Networks (NIPS 2014)
- Machine Learning is Fun Part 5: Language Translation with Deep Learning and the Magic of Sequences(medium.com/@ageitgey)
- How to use an Encoder-Decoder LSTM to Echo Sequences of Random Integers(machinelearningmastery.com)
- tf-seq2seq (google.github.io)
Python
- 7 Steps to Mastering Machine Learning With Python (kdnuggets.com)
- An example machine learning notebook (nbviewer.jupyter.org)
例子
- How To Implement The Perceptron Algorithm From Scratch In Python (machinelearningmastery.com)
- Implementing a Neural Network from Scratch in Python (wildml.com)
- A Neural Network in 11 lines of Python (iamtrask.github.io)
- Implementing Your Own k-Nearest Neighbour Algorithm Using Python (kdnuggets.com)
- Demonstration of Memory with a Long Short-Term Memory Network in Python(machinelearningmastery.com)
- How to Learn to Echo Random Integers with Long Short-Term Memory Recurrent Neural Networks(machinelearningmastery.com)
- How to Learn to Add Numbers with seq2seq Recurrent Neural Networks (machinelearningmastery.com)
Numpy和Scipy
- Scipy Lecture Notes (scipy-lectures.org)
- Python Numpy Tutorial (Stanford CS231n)
- An introduction to Numpy and Scipy (UCSB CHE210D)
- A Crash Course in Python for Scientists (nbviewer.jupyter.org)
scikit-learn
- PyCon scikit-learn Tutorial Index (nbviewer.jupyter.org)
- scikit-learn Classification Algorithms (github.com/mmmayo13)
- scikit-learn Tutorials (scikit-learn.org)
- Abridged scikit-learn Tutorials (github.com/mmmayo13)
Tensorflow
- Tensorflow Tutorials (tensorflow.org)
- Introduction to TensorFlow — CPU vs GPU (medium.com/@erikhallstrm)
- TensorFlow: A primer (metaflow.fr)
- RNNs in Tensorflow (wildml.com)
- Implementing a CNN for Text Classification in TensorFlow (wildml.com)
- How to Run Text Summarization with TensorFlow (surmenok.com)
PyTorch
- PyTorch Tutorials (pytorch.org)
- A Gentle Intro to PyTorch (gaurav.im)
- Tutorial: Deep Learning in PyTorch (iamtrask.github.io)
- PyTorch Examples (github.com/jcjohnson)
- PyTorch Tutorial (github.com/MorvanZhou)
- PyTorch Tutorial for Deep Learning Researchers (github.com/yunjey)
Math
- Math for Machine Learning (ucsc.edu)
- Math for Machine Learning (UMIACS CMSC422)
線性代數
- An Intuitive Guide to Linear Algebra (betterexplained.com)
- A Programmer’s Intuition for Matrix Multiplication (betterexplained.com)
- Understanding the Cross Product (betterexplained.com)
- Understanding the Dot Product (betterexplained.com)
- Linear Algebra for Machine Learning (U. of Buffalo CSE574)
- Linear algebra cheat sheet for deep learning (medium.com)
- Linear Algebra Review and Reference (Stanford CS229)
概率論
- Understanding Bayes Theorem With Ratios (betterexplained.com)
- Review of Probability Theory (Stanford CS229)
- Probability Theory Review for Machine Learning (Stanford CS229)
- Probability Theory (U. of Buffalo CSE574)
- Probability Theory for Machine Learning (U. of Toronto CSC411)
微積分
- How To Understand Derivatives: The Quotient Rule, Exponents, and Logarithms (betterexplained.com)
- How To Understand Derivatives: The Product, Power & Chain Rules (betterexplained.com)
- Vector Calculus: Understanding the Gradient (betterexplained.com)
- Differential Calculus (Stanford CS224n)
- Calculus Overview (readthedocs.io)
打賞支援我翻譯更多好文章,謝謝!
打賞譯者
打賞支援我翻譯更多好文章,謝謝!