freeCodeCamp/guide/english/machine-learning/index.md

4.5 KiB

title
Machine Learning

Machine Learning

Arthur Samuel, a pioneer in artificial intelligence, defined Machine Learning in 1959 as "the field of study that gives computers the ability to learn without being explicitly programmed."

A more formal definition of Machine Learning is provided by Prof Tom Mitchell of CMU:

"A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P if its performance at tasks in T, as measured by P, improves with experience E."

Consider the example of a Machine Learning algorithm that plays chess. In this example, E refers to the experience of playing chess, T is the task of playing chess, and P denotes the probability that the program will win the next game of chess.

Machine learning is exactly like how a human being learns. For example if a human wants to learn how to play poker, it will firstly learn the rules. Then it will try to get experience by playing the game. This experience is nothing but a huge data set for a machine by using which it can make intelligent decisions reagrding the proposed problem.

In general, machine learning problems can be classified into supervised learning, and unsupervised learning. In supervised learning, you have the input and the labeled output, and you suspect that a relationship exists between the input and the labeled output. When you know neither what the labeled output is nor if a relationship exists, unsupervised learning will help you find structure in your data if there is one.

We've covered two main categories of machine learning, but there are four broad categories of machine learning:

  1. Supervised learning
  2. Unsupervised learning
  3. Semi-supervised Learning
  4. Reinforcement Learning

Supervised learning

Supervised learning is the machine learning task of inferring a function from supervised training data. The training data consist of a set of training examples. In supervised learning, each example is a pair consisting of an input object (typically a vector) and a desired output value (also called the supervisory signal). Further, the supervised learning can be taken as 2 paradigm, classification and regression.

Basic flowchart/steps for supervised learning

  1. Collect training set.
  2. Divide training set into input object (features) and output object (classes or value)
  3. Decide what you will be applying, regression or classifier
  4. Decide which algorithm will you be applying, SVM, deep net, etc
  5. Run the algorithm on training set and use the model for predictions

Courses:

  1. Intro to Machine Learning
  2. Machine Learning - Taught by: Andrew Ng
  3. Data Science and Machine Learning with Python - Hands On!
  4. Machine Learning
  5. The Analytics Edge - Taught by: MIT

Video Resources:

  1. Siraj Raval's Youtube channel
  2. Sentdex's Youtube channel

More Information:

  1. Machine Learning on Wikipedia
  2. Machine Learning Demystified:Youtube
  3. If you want a brief introduction of machine learning, and you prefer videos, try this machine learning introduction video
  4. If you want to know how to proceed with learning machine learning, take a look at this video 5.Supervised Learning on Data camp

Lab

Building Smart Apps with Azure Machine Learning Studio