machine learning

Machine Learning is a field that had grown out of the field of AI, or artificial intelligence. We want to build intelligent machines and it turns out that there are a few basic things that we could program a machine to do such as how to find the shortest path from A to B. But for the most part we just did not know how to write AI programs to do the more interesting things such as web search or photo tagging or email anti-spam. There was a realization that the only way to do these things was to have a machine learn to do it by itself. So, machine learning was developed as a new capability for computers and today it touches many segments of industry and basic science.


1. Database mining

large datasets from growth of automation/web. eg. web click data, medical records, biology, engineering

2. Applications can’t program by hand.

e.g. autonomous helicopter, handwriting recognition, most of natural language processing, computer vision.

3. Self-customizing programs

e.g. amazon, netflix product recommendations

4. Understanding human learning(brain, real AI)

There is a vast, unfulfilled demand for this skill set, and this is a great time to be learning about machine learning.


Supervised Machine Learning:


1. House price prediction:



In supervised learning, “right answers” is given with data sets. Now more data sets is to be generated.

Regression problem : predict continuous valued output(price)


Classification problem : predict discrete valued ouput (0 or 1)



There is two or infinite no. of features as a input to predict output.

Other examples of supervised learning, 1) you have a large inventory of identical items. You want to predict how many of these items will sell over the next 3 months. 2) You would like software to examine individual customer accounts, and for each account decide if it has been hacked/compromised. 1) is regression problem, items are in real numbers and real numbers are continuous.

2) is classification problem, hacked(Yes) not hacked(No)

Unsupervised Machine Learning:


Unsupervised learning is a type of machine learning algorithm used to draw inferences from datasets consisting of input data without labeled responses.
-> There is no different labels, all have same labels
Organize computing clusters, social network analysis, market segmentation, astronomical data analysis

Cocktail party problem algorithm:

[W,s,v] = svd((repmat(sum(x.*x,1), size(x,1),1).*x)*x`);



Machine Learning is a field of study that gives computers the ability to learn without being explicitly programmed. A modern definition for Machine Learning would be , “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.”

Example: playing checkers

E = the experience of playing many games of checkers
T = the task of playing checkers
P = the probability that the program will win the next game

Supervised Learning

In supervised learning, we are given a data set and already know what our correct output should look like, having the idea that there is a relationship between the input and the output.

Supervised learning problems are categorized into “regression” and “classification” problems. In a regression problem, we are trying to predict results within a continuous output, meaning that we are trying to map input variables to some continuous function. In a classification problem, we are instead trying to predict results in a discrete output. In other words, we are trying to map input variables into discrete categories.


Given data about the size of houses on the real estate market, try to predict their price. Price as a function of size is a continuous output, so this is a regression problem.

We could turn this example into a classification problem by instead making our output about whether the house “sells for more or less than the asking price.” Here we are classifying the houses based on price into two discrete categories.

Unsupervised Learning

Unsupervised learning, on the other hand, allows us to approach problems with little or no idea what our results should look like. We can derive structure from data where we don’t necessarily know the effect of the variables.

We can derive this structure by clustering the data based on relationships among the variables in the data.

With unsupervised learning there is no feedback based on the prediction results, i.e., there is no teacher to correct you. It’s not just about clustering. For example, associative memory is unsupervised learning.


Clustering: Take a collection of 1000 essays written on the US Economy, and find a way to automatically group these essays into a small number that are somehow similar or related by different variables, such as word frequency, sentence length, page count, and so on.

Associative: Suppose a doctor over years of experience forms associations in his mind between patient characteristics and illnesses that they have. If a new patient shows up then based on this patient’s characteristics such as symptoms, family medical history, physical attributes, mental outlook, etc the doctor associates possible illness or illnesses based on what the doctor has seen before with similar patients. This is not the same as rule based reasoning as in expert systems. In this case we would like to estimate a mapping function from patient characteristics into illnesses.