Thursday, January 8, 2015

Machine Learning: An Intro

Machine Learning (ML) is an area in Artificial Intelligence (AI) that deals with replicating learning processes used by humans in the form of algorithms. Ever since Alan Turing introduced the Turing Test in 1950, a whole new sector of reseeach emerged on creating artificial intelligence. But moving onto ML, there are many sub-kinds/sub-topics within ML.
  
But what is a Learning Problem? A Learning problem can be formalized as improving the agent experience E over task T with a performance measure P. For example, to learn to play chess is a learning problem with the task (T) of playing chess. The goal for a learning is to come up with the best hypotheses (some kind of algorithm or a simple function) that when used, can perform the task T.

Now that we know what a learning problem is, let's dive into the types of Machine Learning. Most kinds of learning can be divided into 3 sub-groups: Supervised Learning, Unsupervised Learning, Reinforcement Learning. Supervised Learning uses labeled and structured data sets for training whereas unsupervised learning does not. Labeled data sets have input and output variables defined. Reinforcement learning does not use any training data sets at all. 

Supervised Learning 

 Even within supervised learning, there are two kinds of learning: Inductive and Analytical learning.

Inductive Learning:
- Needs large sets of training data
- Does not require prior background knowledge or rules (often called domain theory)
                The following rules can make a domain theory:
                                                            Cup <= Stable, Liftable, Open vessel
                                                             Stable <= BottomIsFlat
- Basically, statistical inference to fit the training data
- Example: Simple regression, Decision Tree Learning, Neural Networks, Genetic Algorithms

Analytical Learning:
- Does not need large sets of training data
- Required domain theory, i.e. background knowledge of rules for the environment
- Logical deduction to fit the training data and the background knowledge
- Ezample: Example Based Learning


 
Unsupervised Learning

Unsupervised Learning doesn't use labeled data sets for training the task performing hypothesis. The most famous example for this group is Clustering.   
 
Reinforcement Learning

Reinforcement Learning does not use any training data set. Instead it used the reward-penalty concept in psychology. Given there is an agent in a certain states with certain number of actions available for him to perform, which action should it choose? The agent should choose a sequence of actions that maximize the cumulative reward at the end.