A Beginner's Guide to Machine Learning

Author: Leon

Link: https://www.zhihu.com/question/20691338/answer/102249162

Source: Zhihu

Copyright belongs to the author. For commercial reprints, please contact the author for authorization, and for non-commercial reprints, please indicate the source.


I have summed up a robot learning, robot learning materials. You can download it by clicking the following link:

http://mp.weixin.qq.com/s/bH0Ev7icqzqTwZ38a8c4MQ

I see people asking, Andrew Ng's video, and code stuff. Tidy it up again:

1. Books on machine learning: "Machine Learning in Action (Turing Programming Series 72)" [US] Peter Harrington, Li Rui, Li Peng, Qu Yadong, Wang Bin Book Review Introduction E-book download Kindle e-book

2. Video tutorial by Mr. Andrew Ng: Machine Learning: Stanford University Machine Learning Personal Notes Full Version (with all videos and subtitles) (Now Mr. Andrew Ng has not started a new class, this is all the videos and related materials downloaded by a classmate himself , you can download it yourself)

3. An early machine learning open class by Mr. Andrew Ng: Stanford University Open Class: Machine Learning Course

4. The code of Mr. Andrew Ng's machine learning class.

Python version: icrtiou/Coursera-ML-AndrewNg

Matlab版本:vugsus/coursera-machine-learning

In addition, given that deep learning is so hot now, and doing machine learning now cannot avoid understanding and applying deep learning, I will also add some deep learning content here .

1. Introductory math and programming foundations are the same as machine learning requirements.

2. I still recommend a wiki organized by Mr. Andrew Ng, UFLDL Tutorial - Ufldl . It is highly recommended that you spend two weeks honestly implementing the content of this wiki and related programs by yourself. Moreover, this wiki has a Chinese version, and you can click to view the Chinese version at the bottom of each page. (PS: I was also honored to participate in the translation work at that time, and did a little bit of work for the Chinese culture of the content.).

3. The most widely used deep learning is the convolutional neural network (CNN), so it is recommended that you take a look at this aspect. Just in the past few days, Mr. Fei Fei Li's CNN course has started again. If you are interested, you can go and see it. This website will be updated synchronously and has Chinese translation. 【Chinese subtitle】2017 Spring CS231n Stanford Deep Visual Recognition Course .

4. The inevitable choice for deep learning is to choose a platform. Tensorflow, Caffe, Torch, MxNet, etc. are all choices. If you are a novice, especially a novice based on the Windows platform, I still recommend Tensorflow. For specific content, please refer to this series of tutorials - Tensorflow Tutorial .

5. In the end, it is the frequent contact, the frequent contact, and the frequent contact.

6. In the end, if there is no project participation, the best way to test your learning results is to participate in the competition. Kaggle abroad, KDD CUP,…. The domestic Tianchi big data competition,...


In recent years, machine learning has definitely been the hottest topic and direction in the computer field. The author does not specialize in machine learning, but I often use some related algorithms in my daily work. Therefore, machine learning is only an introductory level. But I think it is precisely because I am just a beginner, so I can summarize how to get started from the perspective of our beginners, and I hope it will be of some help to the students who are still outside the door.

math

Many people flip through any machine learning book and start to back off when they see a mathematical formula. Start a search, ask "what math knowledge is needed for machine learning?" and the results will be "matrix analysis, probability theory, optimization design..." and there will be a large number of people recommending some such as "All of Statistics", "Convex" Optimation" and other foreign language teaching materials. At least that's what I was facing at the time. This situation is likely to develop in the following style in the future.

When you see the classic textbooks recommended above, you look at them like the Bible. With the idea that I have learned those lessons, I will read a book on machine learning, and you will download a lot of related materials. But over time you'll find that you haven't made any progress other than downloading them. You didn't read the entire book, you didn't excel at machine learning.

Does the entry level really need so much math reserve? not necessarily.

In the introductory stage, I feel that as long as you have the basic mathematics courses "Linear Algebra", "Advanced Numbers" and "Probability Theory and Mathematical Statistics" in the freshman and second year of ordinary engineering majors, you can get started.

So, don't be intimidated by the math in machine learning and don't know where to start.

As long as you have the basics of the above-mentioned courses, you can fully understand a large part of machine learning algorithms.

programming language

The best way to get started with machine learning is to learn theory and code together. Watch and practice classic code while watching the corresponding theoretical derivation. Therefore, in order to get started faster, I recommend that you have better knowledge of MATLAB or Python language.

Matlab and Python are definitely not recommended for high-end machine learning, but if you want to get started quickly with machine learning, these two languages ​​are definitely excellent choices.

first step

With the above foundation in place, you can start watching machine learning related content. I see a lot of people recommend elements of machine learning. I want to say, is it really appropriate that you want a person with zero foundation to read this book? ? ?

Therefore, what I recommend is Machine Learning in action, (the language of completion here is Python), which is in English. Of course, if you feel that English is a hurdle for you to get over, (although I suggest that all technical people must at least understand English) there is now a Chinese version called "Machine Learning Practice".

This book uses as few formulas as possible to go through the basic algorithms of machine learning, and it is very clear. More importantly, he combines formulas and codes. Therefore, your machine learning is not so abstract, you know how the formula in the algorithm translates into code.

So, the first step, you can read this book patiently. Anyway, at that time, I typed the code in the book myself. Although the code is downloaded, you can choose to just read the code and finish it. But I still recommend that you knock it once and run it yourself, so that you will get a different experience.

second step

**Learn the machine learning course of teacher Andrew Ng on Coursera. **This course has benefited many beginners of machine learning, not only because the course is comprehensive and the content is from the simple to the deep. What's more important is that this course has class assignments for each class. The assignments do not require you to write all the code, but you need to write the key code, and it will teach you how to debug the code.

When beginners learn this course, they are likely to be patient, in English, and have schedule requirements and homework. It doesn't matter, you can download the video (many online disks have downloaded videos), and then eat slowly. The homework is also, you may not be able to write it in one go, it doesn't matter, after a lot of attempts, go to Github to download some code written by others and have a look to find out where your problem is.

In short, you must be patient and go through this course once or even a few times.

third step

At this point, you already have a good understanding of many simple algorithms in machine learning, but you may not have a big picture yet. Therefore, I suggest that you take a look at these two Chinese textbooks. Zhou Zhihua's watermelon book "Machine Learning" and Li Hang's "Statistical Learning Method" , these two books were written by the author with a lot of thought, and they are also two rare masterpieces among many science and technology books in China.

English books, you can recommend "Patten Recognition and Machine Learning", "Elementsof Statistical Learning" (but this book is quite difficult, if you have enough patience, you can chew it slowly and repeatedly. I believe it will be different every time I have read it several times myself, but it is true that I have not read it completely every time, but at present I have encountered many problems, and I can still find a lot of answers when I go through this book, especially when I do sparse related work , the relevant content is explained very clearly.)

the fourth step

At this time, you can already say that you are about to get started with machine learning. After that, you have to develop a relevant learning route according to your needs.

For example, to do big data analysis, you have to learn computing frameworks such as spark and Hadoop;

In addition, graph models, deep learning... and so on, are all directions.

Natural language processing, image recognition, speech recognition, etc. are also some application directions, and a large amount of domain knowledge needs to be combined.

In the front part and the content of the first to third steps, if you can follow these steps, you can definitely get started. As for the machine learning proficient part, I can only say: Good Luck and Have Fun

Guess you like

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