The best introductory Learning Resource for machine learning

Source: Internet
Author: User
Tags theano

Programming Libraries Programming Library Resources

I am an advocate of the concept of "learning to be adventurous and try." This is the way I learn programming, I believe many people also learn to program design. First understand your ability limits, then expand your ability. If you know how to program, you can draw on the experience of programming quickly to learn more about machine learning. Before you implement a real-world product system, you must follow some rules and learn the relevant mathematical knowledge.

Find a library and read the documentation carefully, and start trying to implement something according to the tutorial. Listed below are some of the best in the open source machine learning Library. I don't think every one of them is suitable for your system, but they are good materials for you to learn, explore and experiment.

You can start learning from a library written in a language you know, and then learn about other powerful libraries. If you are a good programmer, you will know how to move from one language to another in a simple and reasonable way. The logic of the language is the same, but the syntax and API are slightly different.

    • R Project for statistical Computing: This is a development environment that employs a scripting language similar to Lisp. In this library, all the statistics-related features you want are available in the R language, including some complex icons. The code in the Machine learning directory in CRAN (which you can think of as a third-party package from a machine brother) is written by a leading figure in the statistical technology approach and other relevant fields. If you want to experiment, or quickly expand your knowledge, R language must be studied. But it may not be your first stop in learning.
    • WEKA: This is a data mining work platform that provides users with a number of APIs, command lines, and graphical user interfaces that can be mined throughout the entire process. You can prepare data, visualize, create classifications, perform regression analysis, build clustering models, and perform other algorithms with third-party plug-ins. In addition to Weka, Mahout is a good Java framework for machine learning in Hadoop that you can learn by yourself. If you are a novice in machine learning and big data learning, stick to learning Weka and learn a library wholeheartedly.
    • Scikit Learn: This is a machine learning library written in Python, based on NumPy and scipy. If you are a Python or ruby language programmer, this is for you. The library is user-friendly and powerful, with detailed documentation. If you want to try another library, you can choose orange.
    • Octave: If you are familiar with MATLAB, or you are looking to change the NumPy programmer, you can consider Octave. This is a numerical computing environment, like MATLAB, with octave you can easily solve linear and nonlinear problems, such as the underlying problems of machine learning algorithms. If you have an engineering background, then you can start with this.
    • BIGML: Maybe you don't want to do the programming work. You can completely use Weka tools without code. You do more in-depth work by using BIGMLS services. BIGML provides a machine learning interface through a Web page, so you can build a model from a browser.

Pick out a platform and use it when you actually learn machine learning. Do not talk on paper, to practice!

Video Courses Videos Course

Many people start to learn from the machine through video resources. I saw a lot of video resources related to machine learning on YouTube and Videolectures. The problem with this is that you may just watch the video and not actually do it. My suggestion is that when you watch the video, you should take more notes, and then you will discard your notes in time. At the same time, I suggest you put the learned things into practice.

Frankly speaking, I don't see video resources that are particularly suitable for beginners. Video resources require you to master a certain number of linear algebra, probability theory and other knowledge. Andrew Ng's lectures at Stanford are probably the best for beginners, and here are some of the video resources I recommend.

    • Stanford Machines Learning Stanford's Machine learning program: You can watch it on the Coursera, which is explained by Andrew Ng. As soon as you register, you can watch all the course videos at any time, download handouts and notes from Stanford CS229 course. This course includes homework and small tests, which mainly explain the knowledge of linear algebra, using the Octave library.
    • Caltech learning from data at the California Institute of Technology: You can take this course on edx, which is explained by Yaser Abu-mostafa. All course videos and materials are available on the California Institute of Technology website. Similar to the Stanford curriculum, you can schedule your studies to complete your homework and small essays according to your own situation. It is similar to Stanford's subject matter, focusing on more details and math knowledge. For beginners, homework can be difficult.
    • Machine learning categories on videolectures.net Web site: This is a very confusing resource pool. You can find resources that are more interesting and learn in depth. Don't dwell on videos that aren't right for you, or you can take notes about what you're interested in. I'm going to go through some problems and find new topics to learn. Also, on this site you can find out what it is like to be a master in this field.
    • "Getting in Shape for the Sport of Data Science" – Taught by Jeremy Howard: This is a dialogue with machine learning competitors who are some of the R language users in practice. This is a very valuable resource because very few people will discuss the whole process of studying a problem and how to do it. I used to fantasize about finding a TV show on the internet, documenting the whole process of machine learning competitions. This is the experience I started learning machine learning!
Overview Papers Review paper

If you are not used to reading research papers, you will find that the language of the paper is very obscure. A paper is like a fragment of a textbook, but the paper will introduce an experiment or other frontier knowledge in the field. However, if you're going to start learning machine learning from a reading paper, you can still find some interesting articles.

    • The discipline of machine learning: This is a white paper authored by Tom Mitchell, which defines the rules for machine learning. Mitchell the idea in persuading the president of CMU to build an independent machine learning department for a century-old problem.
    • A Few useful things to Know on machine learning: This is a good paper, because it is based on detailed algorithms, but also put forward some very important issues, such as: The selection of features generalization, model simplification and so on.

I'm just listing two important papers, because reading a paper can get you into trouble.

Beginner machine Learning books to learn a beginner's book

There are many books on machine learning, but there are few that are tailored for beginners. What kind of talent is a beginner? The most likely scenario is that you come from another completely different field, such as computer science, programming, or statistics, to the field of machine learning. Well, most books require you to have a certain degree of linear algebra and the basis of probability theory.

However, there are some books that encourage programmers to learn machine learning by explaining the fewest algorithms that can be used to allow programmers to experiment with tools and libraries of programming functions. The most representative of the book is: "Programming collective Intelligence", "Machine learning for Hackers", "Hackersand Data mining:practical Machine learning Tools and techniques (Python version, r version, and Java edition). If you feel confused, you can choose one of them to start learning.

    • Programming Collective intelligence:building Smart WEB 2.0 Applications: This book is written for programmers. The book briefly introduces the relevant theories, focusing on the procedure as an example, introduces the practical problems and solutions in the Web. You can buy this book, read it, and do some exercises.
    • Machines Learning for Hackers (Chinese: Machine Learning: Practical case Analysis): I suggest you read this book after reading "programming collective Intelligence". This book also provides many practical exercises, but involves more data analysis and uses the R language. I personally like this book!
    • Machine Learning:an Algorithmic Perspective: This book is an advanced version ofProgramming collective Intelligence. They have the same purpose (let programmers begin to understand machine learning), but this book includes some mathematical knowledge, examples and Phython program fragments. If you are interested, I suggest you read this book after reading "programming collective Intelligence".
    • Data mining: Practical machine learning tools and technologies (English version, 3rd edition): I began to learn about machine learning from this book, which was the book of 2000 or the first edition. I was a Java programmer, and the book and the Weka Library provided a good environment for my learning and practice. I realized my algorithm through this platform and some plugins, and really started the process of machine learning and data mining. I strongly recommend this book, and this learning process.
    • Machine Learning (Chinese: Computer Science Series: Machines Learning): This is a very old book, including some rules and a lot of references. This is a textbook that provides explanations for each algorithm.

Some people think that the classic machine learning textbook is great. I also agree that those books are very good indeed. But I think these books may not be appropriate for beginners.

Further Reading Continue reading

In writing this article, I carefully considered the relevant issues, but also refer to other people recommended information to ensure that I did not omit any important reference. In order to ensure the integrity of the article, the following is also listed in some popular online, available for beginners to use the material.

    • A list of Data science and machine learning Resources: This is a carefully collated listing. You can take some time to click on the link and read the author's suggestions carefully. Worth a read!
    • What is some good resources for learning on learning why: The first answer to this question is surprising. Every time I read this article, I will take notes and insert new bookmarks. The most inspiring part of the answer is a list of machine learning courses, along with the corresponding course notes and quiz sites.
    • Overwhelmed by machine Learning:is there a ML101 book: This is a problem on the StackOverflow. A range of machine learning recommended books are available. The first answer that Jeff Moser provides is useful, including links to course videos and lectures.

    • Related theories, books, papers, courses, blogs:
      • [Book] Yoshua Bengio, Ian Goodfellow, Aaron Courville. Deep learning. 2015.
      • [Book] Michael Nielsen. Neural Networks and deep learning. 2015.
      • [Course] convolutional neural Networks for Visual recognition. 2015
      • [Course] Deep Learning for Natural Language processing. 2015.
      • [Blog] Hacker ' s Guide to Neural Networks.
      • [Book] Notes on convolutional Neural Networks
      • [Book] A Guide to convolution arithmetic for deep learning
    • Related libraries, tools
      • Theano (Python)
      • Libraries based on Theano:lasagne, Keras, Pylearn2
      • Caffe (c + +, with Python wrapper)
      • TensorFlow (Python, C + +)
      • Torch (Lua)
      • Convnetjs (Javascript)
      • Deeplearning4j (Java)
      • Matconvnet (Matlab)
      • Spark Machine Learning Library (Java,scala,python)
      • LIBSVM A Library for support Vector machines (C/c++,java and Otherlanguages)
    • Related open source projects, demo
      • Facial KeyPoint Detection
      • Deep Dream
      • Eyescream
      • Deep Q-network (Atari game player)
      • Caffe to Theano model Conversion (use Caffe pretrained model in lasagne)
      • R-cnn
      • Fast R-CNN

The best introductory Learning Resource for machine learning

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.