1 Introduction

Why to have a Machine Learning

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.

What is Machine Learning

Even among machine learning practitioners there isn’t a well accepted definition of what is and what
isn’t machine learning.

  • Someone defined machine learning as the field of study that gives computers the ability to learn without being explicitly programmed.
  • A computer program is said to learn from experience E, with respect to some task T, and some performance measure P, if its performance on T as measured by P improves with experience E.

And if you actually tried to develop a machine learning system, how to make those best practices type decisions about the way in which you build your system.

Supervised Learning

  • Supervised learning refers to the fact that we gave the algorithm a data set in which the “right answers” were given.
  • To define with a bit more terminology this is also called a regression problem and by regression problem I mean we’re trying to predict a continuous value output.
  • Support Vector Machine,
    that will allow a computer to deal with an infinite number of features.

Unsupervised Learning

  • Given this data set, an Unsupervised Learning algorithm might decide that the data lives in two different clusters.
    Supervised Learning algorithm may break these data into these two separate clusters. So this is called a clustering algorithm.
  • Because we’re not giving the algorithm the right answer for the examples in my data set, this is Unsupervised Learning.
  • Clustering is just one type of Unsupervised Learning.
  • Octave, is free open source software, and using a tool like Octave or Matlab, many learning algorithms become just a few lines of code to implement.

Learn much faster if you use Octave as your programming environment, and if you use Octave as your
learning tool and as your prototyping tool, it’ll let you learn and prototype learning algorithms much more quickly.
And in fact what many people will do to in the large Silicon Valley companies is in fact, use an algorithm like Octave to first prototype the learning algorithm, and only after you’ve gotten it
to work, then you migrate it to C++ or Java or whatever.