This repository is a guide of learning Machine Learning for beginners. almost all of the contents is links to (online) resources.
Directing your self-learning about machine learning.
There are two approach to learn machine learning.
- You primarily learn theory of machine learning. After you understand basic machine learning theory, you build something.
- You don't effort to understand and build something you need many times. After that, you try to understand the theory of machine learning
In this guide, you learn the basic theory before you build something useful. But you don't have to understand the theory perfectly. If you understand roughly, it's time to build something.
There are some well-known online courses learning Machine Learning.
- Coursera: Stanford Machine Learning by Andrew Ng: This is basic machine learning course. It may be the most popular learning resource. This is perfect except using Octave.
- Udacity: Intro to machine learning
- Machine Learning Tutorials and Courses(hackr.io): other links of learning materials.
Online courses are useful free online resources. Recently, trying online courses is the best way to learn something.
I found a lot of online courses, when I search in Google. But you may learn "Coursera Stanford Machine learning" first.
Coming soon ...
The below is the list of Required knowledge. The most of online courses and e-books set required knowledge. If you want to learn about required knowledge or you don't meet requirements, please read requirements page.
- Programming
- Python (/R/C++/Matlab ...)
- Math
- Linear Algebra
- Calculus
- Statics
- Probability
- Bayesian
- Computer Science
- Algorithm
- Data Structure
I recommend you to use python and python-libraries, so I introduce you to install those in the environment page.
I also recommend you to use Anaconda and Jupyter. I wrote an example of using Jupyter notebook. Jupyter is powerful tool to learn or research.
If you learn the basic of machine learning, you have several choices.
- build your applications with using libraries and tools
- build something on clouds
- build your simple machine learning software from scratch
- participate some competitions and prove your machine learning skill
If you want to more understand the theory or you feel your understanding is not so perfect, building your simple machine learning software from scratch is helpful to your understanding. It is a good way to understand something that program this.
If you want to program something with some libraries, I recommend to try Open AI Gym(github).
I recommend you some machine learning libraries, next step. If you cannot use Jupyter notebook, you are needed to set up. Please read the environment section on this page or the environmental setting page
- Open AI Gym(github): This is a reinforcement learning library. An example of program made through Open AI Gym is Game AI. If you interested in old games like Atari, it is a great choice to play Open AI Gym.
Or you want to use other libraries or tools, please read The Guide of Libraries and tools.
coming soon ...
Program your first machine learning software to understand the mechanism of machine learning.
Kaggle: Kaggle is a hosting service of data science competition. Data science is one of the practice of machine learning. Please read the Kaggle guide page.
I welcome to Pull-Requests or Issues.
The guide will provides multilingual support but now supported languages are English and Japanese. If you want to learn in other languages, please send Pull-Request.
The guide is mainly edited by aimof. Licensed BSD 3-Clause License.