Post a 671coder message:
See you at: http://blog.csdn.net/liuqiyao_01/article/details/37904611
Preface
In fact there are many ways to learn about machine learning, and there are many resources such as books, open classes, etc. that can be used, and some of the relevant games and tools are also good helpers for you to understand this area. This article will focus on this topic, give some summary of the understanding, and for you from the programmer to machine learning Master of the Metamorphosis of the journey to provide some learning guidelines.
four levels of machine learning
The learning process can be divided into four stages according to ability. This is also a good way to help us categorize all of our learning resources.
Beginner Stage
Beginner Stage
Intermediate Stage
Advanced Stage
The reason I distinguish between beginner and novice is that I want to make it a general idea for a complete beginner (a programmer interested in this field) to have a broad understanding of machine learning at a beginner's level in order to decide whether to go further.
we will explore these four phases separately and recommend some resources that will help us better understand machine learning and improve related skills. This classification of the learning phase is only my personal advice, and perhaps there are some resources in the pre-and post-classification phases that are appropriate for the current phase.
I think it is very helpful to have a holistic understanding of machine learning, and I would like to hear your thoughts and tell me through the comments below!
Beginner Stage
Beginners refer to programmers who are interested in machine learning. They may have been in touch with books, wiki pages, or have had several machine learning courses, but they have not really learned about machine learning. They are frustrated in the learning process because the advice they get is often for intermediate or advanced stages.
Introductory book: Read some of the introductory books on data mining and machine learning for programmers, such as machine learning: practical case analysis, collective intelligence programming, data Mining: Practical machine learning tools and technologies, which are good introductory books, and recommend an article to discuss this topic further: The best introductory Learning Resource for machine learning
Related Overview Video: You can also see some popular science-type machine learning lectures. For example: "Interview Tom Mitchel", "Peter Norvig Big Data speech on Facebook"
Machine Learning Lesson 101: I've summed up some ideas about getting started, the machine learning course for Beginners 101, and if you like, you can take a look.
Beginner Stage
Beginners are those who have already learned a lot about machine learning, have read a few professional books or have taken a complete course study, and have a great interest in this thing to do more in-depth understanding, To solve the problems they face by further study.
complete a course: Complete learning of a machine-learning course, such as a Stanford University machine learning program. Take more course notes, complete the course assignments as much as possible, and ask questions.
read some books: This is not a textbook, But for the above list of programmers for beginners to prepare books.
Master a tool: Learn to use an analytical tool or class library, For example, Python's machine learning package Scikit-learn, Java's machine learning package Weka, R language, or something like that. Specifically, learn how to use the algorithms you have learned in a course or book to see how they deal with the actual effects of the problem.
Write code: Implement some simple algorithms, such as Perceptron, K neighbors, Linear regression. Try to write some small programs to illustrate your understanding of these algorithms.
Learn about Tutorials: complete with a tutorial to create a folder for your small projects, including datasets, scripting code, and so on, so you can always review and gain something.
Intermediate Stage
In the beginner stage, I have read some professional books and completed some professional courses, these people already know how to use machine learning related tools, and have already written a lot of code for implementing machine learning algorithms and completing some tutorials. The intermediate stage is actually a self-breaking process that allows you to create your own project to explore new skills and gain more knowledge in community interactions.
The objective of the intermediate phase is to learn how to implement and use accurate, appropriate, and robust machine learning algorithms. They also spend a lot of time on data preprocessing, data cleansing, and summing-up, and think about what the data can solve.
Here are some information or suggestions for intermediate learners:
Build Your own small project: Design small programming projects or use machine learning algorithms to solve problems. It's like designing some tutorials to explore the technologies you're interested in. You can implement an algorithm yourself or provide some links to implement these algorithm class libraries.
data analysis: Used to explore and summarize from a data set. Know when to use the tools to get data for exploring and learning about technologies.
Read textbooks: Read and digest machine learning-related textbooks. This may have certain requirements for understanding the ability to mathematically describe related technologies, and it is necessary to understand how to describe problems and algorithms in a formula way.
Write your own tool: Write plug-ins and related packages for an open-source machine learning platform or class library. This is a great opportunity to learn how to implement robust algorithms that can be used in production environments. Apply your package to the project, submit the code to the community for code review, and if possible, try to publish your program to an open source platform and learn from the feedback.
Competition: A game related to machine learning, such as a machine learning conference or a platform such as Kaggle. Participate in discussions, ask questions, and learn how other contestants are solving the problem. Add these projects, methods, and code to your project library.
Advanced Stage
Advanced machine learning players are those who have already organized a large number of machine learning algorithms or are implementing their own algorithms independently. They may have participated in machine learning contests and perhaps written machine learning packages. They have read a lot of books, studied many related courses, have a better understanding of this field, and have a deep understanding of several key technologies of their own research.
These advanced users are usually responsible for the establishment, deployment and maintenance of machine learning systems in the production environment. They can keep up with the latest developments in the industry, discovering and understanding the nuances of each machine learning technology through their own or others ' first-line development experience.
Here are some information for the advanced stage learners:
Custom Development algorithm: Customize the development algorithm according to the business requirement, and realize the algorithm about a similar problem in the Conference and periodical paper.
Design your own algorithm: Design a new algorithm to solve the problems encountered in the work, the purpose of this is to find the best solution for the difficulties faced in the work, rather than to carry out the field of cutting-edge research.
Case Study: Read or even redesign machine learning contests or actual cases provided by other contestants. The papers or articles that have been talking about "how I do it" are always crammed with subtle tips on data preparation, engineering practices, and the use of technology.
Methodology: Summarize the process of dealing with the problem and systematize it, can be formally shared or just as a personal summary. They always have a set of their own problem-solving ideas and continue to refine and improve the process, trying to use better technology or best practices.
Academic research: Attend academic meetings, read research papers and monographs, and learn from experts in the field of machine learning. They will record the accumulated experience in their work, publish it to the relevant journal or their own blog, and then return to work to continue the study.
knowledge is constantly harvested, but learning is endless. You can stop at any time when you have problems in the journey of machine learning to solve the problem yourself, or to bypass the data to borrow the wisdom of the group, in fact, I hope that the detour to become a normal.
Such a learning phase is planned as a programmer's point of view, which can be used as a linear learning route from beginner to proficient in a technician. I am happy to receive critical suggestions for this article, which will make the article better. You can get more learning resources at specific learning stages, because the learning resources recommended for each stage are just my personal advice.
OK, now think about which stage of your study you are in? What do you do next?
Recently interested in data mining, why foreign courses are so good