How to learn machine learning and deep learning? Detailed compilation of introductory materials for machine learning and deep learning

When you got this document, you must have been lingering in your mind such a question, "How to learn machine learning/deep learning? (How to get started, and how to master it?)". There is actually no standard answer to this question. Some people may be suitable for bottom-up learning, that is, first start with theory and mathematics, then implement algorithms, and finally solve practical problems in life through some projects; some People may be suitable for top-down learning, that is, after figuring out what machine learning is and why you learn machine learning, first determine a systematic program that uses machine learning to solve practical problems, and then find a suitable tool. Then do exercises on various data sets to continuously strengthen their practical ability and consolidate the understanding of algorithms. And this document hopes to sort out a clue for you from the numerous learning materials, but even if it is such a starting point, judging from the final result, it is still a bit more complicated, and perhaps a streamlined one will be sorted out later. Version, but in fact, links to some very good introductory guides are also listed in this document, you will find good things if you look carefully. Finally, I want to borrow Quora’s answer to the question "I'm very interested in deep learning. How can I get hired?" as the opening remark of this learning suggestion: "Deep learning (Neural nets)/Machine learning is an ART . ART can never be mastered unless it is practiced. So instead of just learning about them, start exploring them by implementing one. there are outnumbered tutorials on net. choose either lib based implementation such as convnet or torch7 or caffe etc. or try implementing fully from scratch( this way u understand internal structures and linkages of algo better) .Start off with small dataset instead of aiming on high .Start off by minimal architecture.U will learn a lot this way u gain confidence. then you can project yourself to the companies by posting link of ur github repository of machine /deep learning implementations. this will help u in the long run… “—Good Luck

Phase 1. Getting started with machine learning

This is the most basic and most important stage. To borrow a few words summarized by Professor Lin Xuantian of National Taiwan University, at this stage we must focus on thinking and understanding several questions: 1. What is machine learning? What is machine learning Machine learning is to learn from data (data) to obtain a certain aspect of performance (performance measure) improvement.

2. When can machines learn (what can machine learning do for us)? When can machines learn, when to consider using machine learning, usually the following three prerequisites need to be met: 1) There is an underlying pattern to be learned. 2) This mode cannot/difficult to achieve by program (no programmable definition). (when human cannot program the system manually, when human cannot define the solution easily, when needing rapid decisions that humans cannot do, when needing to be user-oriented in a massive scale) It may be difficult to write the identification rules in detail. y=f(x)y=f(x), xx is the input sample, and yy is the predicted value of the output. This f()f() is not known, but it needs a machine to learn. 3) There is enough data in this mode.

3. Why can machines learn? Why can machines learn

Assuming that the training data sample and the unknown test sample come from the same distribution (this is particularly important, most existing machine learning algorithms start from this point, as if transfer learning is not), and the hypothesis hh of the hypothesis space is limited, When the training sample N is large enough, all the hypotheses in the hypothesis space will follow the PAC criterion (probably approximately correct), ensure that Ein(h)≈Eout(h)Ein(h)≈Eout(h), and every hypothesis function is OK It satisfies the property of approximate equality, so an algorithm can be used to find a hypothesis of Ein(g)≈0Ein(g)≈0 in these hypothesis spaces. Similarly, PAC also guarantees Eout(g)≈0Eout(g)≈0. There is an unknown objective function f, and the task of machine learning is to find a hypothesis function g so that the hypothesis g is very close to the objective function f.

4. How to make machine learning? How can machines learn consider here is the algorithm model used for machine learning.

5. How to make the machine learn better? How can machines learn better Choose appropriate models, adjust model parameters, prevent over-fitting, cross-validation, feature engineering... specific analysis of specific problems

Recommended courses

1. Coursera-Machine Learninghttps://Professor Wu Enda's open course on machine learning on Coursera is a very good introductory course for machine learning. I believe many students know it, so I won't say more. However, it is worth mentioning that in addition to the matlab version provided by the official website, some people have implemented it in python. For students who want to understand python, this is a good practice opportunity: https://github.com/icrtiou/coursera -ML

2. CS229-Machine Learning http://open.163.com/movie/2008/1/M/C/M6SGF6VB4_M6SGHFBMC.html?recomend=2 is also an open class taught by Professor Wu Enda, which is more difficult than the courses on Coursera Some, suitable for a certain degree of elevation. The following link is the download of the course notes: http://cs229.stanford.edu/materials.html

3. Intro to Machine Learning https://–ud120 Udacity has a free, ten-week machine learning course that focuses on theoretical and practical applications. For those interested in deep learning, this will be a comprehensive preparatory course.

4. Coursera-Machine Learning Foundations http://pan.baidu.com/s/1hsjtaWc This is the course that Professor Lin Xuantian mentioned at the beginning on Coursera, but now it has been removed from the Internet, so I gave it to Baidu The link to the cloud disk can be downloaded and watched directly. I personally think that compared with the first two courses, the lecture will be more detailed on the basis, and the whole course in Chinese sounds relatively relaxed, which is suitable for students who want to lay a solid foundation.

Recommended books

1. Li Hang-"Statistical Learning Methods" 2. Zhou Zhihua-"Machine Learning" two books needless to say, I believe most people interested in this field already have one by hand :) Personally think the key is How to use these two books, first post a suggestion from Professor Zhou Zhihua: http://cs.nju.edu.cn/zhouzh/zhouzh.files/publication/MLbook2016.htm?url_type=39&object_type=webpage&pos=1&from =groupmessage&isappinstalled=1 Then my personal opinion is not to read these two books in isolation, it is best to read them together with other resources such as open classes, blogs, etc., and the most important point, we must pay attention to reading while practicing , For example, when you see a certain model, go to the Internet to download some relevant data sets and codes to learn. This may not be so easy to do, because the difficulty of practice will be higher, and it often means more time investment. In many cases, you may just try it a little bit and give up when encountering some difficulties. My experience this year There are many such situations in learning. But if you want to have a deeper understanding of models and algorithms, and want to make something of your own, practical exercises are absolutely indispensable.

3. For other introductory and in-depth books, please refer to this link: http://The book "Pattern Recognition And Machine Learning" is commented "It has a strong engineering atmosphere and can be used in conjunction with the Machine Learning video tutorial 1 of Professor Andrew Ng of Stanford University. Get up to learn, the effect doubles."

Recommended review papers

1. "The Discipline of Machine Learning" http://~tom/pubs/MachineLearning.pdf What Tom Mitchell wrote to the principal for the establishment of the machine learning department at CMU.

2. "A Few Useful Things to Know about Machine Learning" http://homes.cs.washington.edu/~pedrod/papers/cacm12.pdf Professor Pedro Domingos's principles, maybe many concepts are not understood at the beginning. Be sure to read it again after the open class.

Recommended programming library

1. scikit-learn http://scikit-learn.org/stable/ This is a good library for real machine learning based on python, which mainly includes common algorithms and specific routines for classification, regression, clustering, and dimensionality reduction , And model selection, preprocessing, and other key processes that affect the performance of machine learning models.

2. DMLChttp://dmlc.ml/ This is an open source distributed machine learning project, including flexible and efficient deep learning libraries such as MxNet, Minerva, and large-scale, distributed general-purpose Gradient Boosting such as Xgboost The library, it is worth mentioning that, due to its performance and efficiency advantages, Xgboost has been a big killer in various data mining competitions (such as kaggle) since its inception. The following figure shows the comparison between Xgboost and the other two boosting methods commonly used packages:

Performance comparison between xgboost and two other commonly used packages

Recommended blog

1. Master Machine Learning 5 only way http://mp.weixin.qq.com/s?__biz=MzI3MTA0MTk1MA==&mid=2651987978&idx=3&sn=6c5e1ae866dd47105cb84417e59502ac&chksm=f12154fbc656dded6edc649fab530efc25f686f027db57f0dc76e24dfa1c6142f1f3bb5ba3e5&mpshare=1&scene=1&srcid=1018HDoQNrHdRpA5A8zyhF3Q#rd traditional machine learning methods We advocate learning from the bottom up, starting with theory and mathematics, then algorithm implementation, and finally let you solve real-world problems. The method of mastering machine learning advocated by the author is contrary to traditional methods, starting with the most valuable results. This idea is worth learning.

2. Incomplete summary of machine learning introductory resources http://ml.memect.com/article/machine-learning-guide.html#%E5%9F%BA%E6%9C%AC%E6%A6%82%E5% BF%B5 as the title, you can find more introductory resources from this link

3. The best introductory learning resource for machine learning http://blog.jobbole.com/56256/ This is actually the Chinese translation of "2"

4.Best Machine Learning Resources for Getting Started http://machinelearningmastery.com/best-machine-learning-resources-for-getting-started/ This is also a very good integration of introductory resources

5. Machine learning related learning URL record http://blog.csdn.net/brightming/article/details/50420608 There are many things, choose what you are interested in

6. Machine learning and artificial intelligence learning resource guide http://mindhacks.cn/2008/09/11/machine-learning-and-ai-resources/ In addition to this article itself, you can also pay more attention to the author of the article ( Liu Weipeng)’s other blogs, there are a lot of methodological things that are great

7. What is an experience from entry to proficiency http://blog.csdn.net/kkk584520/article/details/51136439 As the title, more interesting insights can also be directly known

8. Zouxy09's column http://blog.csdn.net/zouxy09/article/category/1333962 Zouxy09 is also a great blogger and has written many valuable articles

9. Let's talk about machine learning http://This article "Introduce all the content related to machine learning in the form of talk, including subjects (such as data mining, computer vision, etc.), algorithms (neural network, svm), etc." , Is a well-written introduction to machine learning

10. Machine learning series https:// This is a series of basic machine learning articles, it is best to follow them little by little throughout the learning process

SDEC 401-999KW Diesel Generator

Perkins 401-999Kw Diesel Generator,Perkins Shanghai Genset,Perkins Shanghai Power Generator,401-999Kw Diesel Generator

Shanghai Kosta Electric Co., Ltd. , https://www.ksdgenerator.com

Posted on