Machine Learning self-study guide

Source: Internet
Author: User

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.

    1. Beginner Stage
    2. Beginner Stage
    3. Intermediate stage
    4. 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.

What beginners need is a perceptual understanding rather than a purely code, textbook, curriculum. The first thing they need to know about machine learning is what it is, why, and how to do it to lay the groundwork for the next stage of learning.

    • 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's Big data speech on Facebook"
    • Talk to people: communicate with veteran in the field of machine learning, ask them how they get started, what resources are worth recommending, and what makes them so fanatical about machine learning.
    • 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

Novice refers to those who have a certain understanding of machine learning, they have read a number of professional books or have received a complete course study, and have a great interest in this thing to do more in-depth understanding, want to through further study to solve the problems they face.

Here are some information or suggestions for beginners:

    • Complete a course: Complete a machine learning course, such as a machine learning course at Stanford University. Take more course notes, complete the course assignments as much as possible, and ask questions.
    • Read some books: This is not a textbook, but a book for beginners of programmers listed above.
    • Mastering a tool: Learn to use an analysis tool or class library, such as Python's machine learning package Scikit-learn, Java's machine learning package Weka, R language, or something similar. 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 a code: hands-on implementation of some simple algorithms, such as Perceptron, K-nearest neighbor, 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.

from:http://machinelearningmastery.com/self-study-guide-to-machine-learning/

http://blog.jobbole.com/58937/

by Jason Brownlee Bole Online-Zhibinzeng

Machine Learning self-study guide

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.