From basic concepts to mathematical formulas, this is a 520-page machine learning notebook (with pictures and text)

640?wx_fmt=gif&wxfrom=5&wx_lazy=1

Introduction: Recently, Jim Liang from SAP (the world's largest business software company) published a 520-page learning tutorial (English version) written by himself, which introduces the machine learning in detail and clearly. Related concepts, mathematical knowledge and various classical algorithms. The full PDF can be downloaded from the link published by the author at the end of the article.


In the introduction, Jim Liang  wrote:


Artificial intelligence is a field that has been in the limelight in the past two years, and it is also a new field with disruptive possibilities in the future. Many people try to learn about machine learning. However, once past the initial overview stage, many people start to back off and give up quickly.


Why is this happening?


Extremely high learning curve


  • First and foremost is mathematics, involving statistics, calculus, probability, linear algebra, etc. Although everyone has studied advanced mathematics, if you still remember the details inside, you are a genius. It is more likely that most people have forgotten about advanced mathematics, and are disgusted or even afraid of the large number of formulas in various algorithms.

  • Secondly, because machine learning itself is a comprehensive discipline, and it is a rapidly developing discipline, the knowledge points are scattered and lack of systematicness.

  • There are many machine learning/deep learning books, articles, and tutorials on the market, but there are not many tutorials that can be expressed in a clear way and explained step by step. A large number of tutorials do not take into account the basics of learners, which makes beginners feel frustrated. and confused.


Graphical Machine Learning


It is precisely because I have a personal experience of the pain in the process of machine learning, I hope to make a tutorial to explain it in an easy-to-understand way and lower the learning threshold for everyone. I spent months on this, often late into the night, organizing my study notes into this tutorial.


In terms of structure, the entire tutorial consists of two parts:


640?wx_fmt=png


Part 1 introduces basic concepts, including:


  • The process of machine learning

  • data processing

  • modeling

  • Evaluation metrics (such as MSE, ROC curve)

  • Model deployment

  • overfitting

  • regularization etc.


In the first part, the author first introduces the common application of machine learning today: from autonomous driving, voice assistants to robots. Some of these ideas have also been known to many readers, such as: why machine learning is popular at this time (big data, computing power, better algorithms); the relationship between machine learning, artificial intelligence, and deep learning, etc.


In addition to these basic concepts, this tutorial also shows the development process of the machine learning model graphically (as shown in the figure below), even readers who do not know much about it can learn something through this process display.


640?wx_fmt=png

640?wx_fmt=png

▲ Steps to build a machine learning solution


In other subsections of Part1, the author presents the data, modeling, and model deployment in detail with similar images.


In Part2, the author introduces commonly used algorithms, including:


  • Linear regression

  • logistic regression

  • Neural Networks

  • SVM

  • Knn

  • K-Means

  • decision tree

  • random forest

  • AdaBoost

  • Naive Bayes

  • gradient descent

  • Principal component analysis


This section contains a large number of mathematical formulas, but the author has tried his best to annotate each of them, thus fully and clearly expressing many mathematical concepts.


For example, in the "Neural Networks" section, the author organized 59 pages of notes (from 311 to 369). The author starts with the neuron architecture in the human brain, and introduces the artificial neural network (ANN) and the working principle of artificial neurons. This note pays a lot of attention to the conceptual explanation of the image, and it is very intuitive to understand.


For example, the conceptual explanation in the figure below vividly illustrates the similarities in how biological neurons and artificial neurons work.


640?wx_fmt=png

▲Comparison of the dendritic input-axonal output pattern of biological neurons and the input and output pattern of artificial neurons.


640?wx_fmt=png

▲ Explanation of overfitting


640?wx_fmt=png

▲The basic structure of artificial neurons


When it comes to mathematical formulas, the author will have detailed notes next to them, as shown in the following figure:


640?wx_fmt=png


There is also a comprehensive list of side-by-side options (such as activation functions, common neural network architectures, etc.):


640?wx_fmt=png

▲Commonly used activation functions


Then there will be a separate introduction to each activation function:


640?wx_fmt=png

▲Sigmoid activation function


640?wx_fmt=png

▲ Forward propagation example of classifying handwritten digits with a neural network (softmax activation function).


For more complex concepts in neural networks (such as derivation, backpropagation), a few pictures can explain it clearly:


640?wx_fmt=png


Regarding the complete training process of the neural network, the author presents it in the form of a brief flow chart + calculation details:


640?wx_fmt=png

▲The complete process of back propagation algorithm


640?wx_fmt=png

▲Calculation details of the forward propagation part


As mentioned earlier, in addition to the introduction of "neural network", this part also includes the introduction of concepts such as random forest and gradient descent. Readers can view the original tutorial.


Summarize


After reading this tutorial, I feel that this is an all-encompassing study note, which is suitable not only for non-professionals to understand the basic concepts of machine learning, but also for students with professional backgrounds to further study.


Writing tutorials is to keep learning for yourself, and sharing tutorials is to help more people learn. As the author said, "Learning by doing/teaching, writing this tutorial is mainly to force myself to continue to learn. In addition, I also want to share it with others, hoping to help more people who want to learn Machine Learning and reduce everyone's learning pain. "


Notes by Jim Liang

Source: Heart of the Machine (ID: almosthuman2014)

Tutorial document download address (Baidu Cloud):

https://pan.baidu.com/s/1tNXYQNadAsDGfPvuuj7_Tw


Recommended reading


The Japanese grandpa insisted on painting with Excel for 17 years. I may have used a fake Excel...

180-page PPT, explaining artificial intelligence technology and industrial development

Finally someone explained cloud computing, big data and artificial intelligence!

The data tells you: Compared with the lack of "core", China's current problem is more deadly!



Q:  What other valuable learning materials do you know about machine learning?

Welcome to leave a message to share with you

Feel good, please share this article with your friends

For reprint/submission, please contact: [email protected]

For more exciting articles, please click "Historical Articles" in the background of the official account to view

640?wx_fmt=jpeg

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325865317&siteId=291194637