- Definition of Machine Learning
- Why use Machine Learning
- Machine Learning Use Cases
- Types of learning algorithms
I am learning about Machine Learning via the course offered by Coursera named: Machine Learning by Stanford University. This post covers Week 1 materials.
What I learnt:
Definitions of Machine Learning:
Older, informal ML definition: “the field of study that gives computers the ability to learn without being explicitly programmed.” - Arthur Samuel (1959)
Modern ML definition: “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.” - Tom Mitchell (1999)
- E.g. Email anti spam:
- Experience E: Watching you label emails as spam or not spam
- Classifying emails is the task T. In fact, this definition defines a task T performance measure P and some experience E.
- the fraction of emails correctly classified, that might be a performance measure P.
- And so on the task of systems performance, on the performance measure P will improve after the experience E.
- E.g. 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.
Many scientists think the best way to make progress on this is through learning algorithms called neural networks, which mimic how the human brain works.
The AI dream of building machines as intelligent as humans: Many people believe best way to do that is to mimic how humans learn.
Why is Machine Learning so prevalent?
- Grew out of AI
- Build intelligent machines
- You can program a machine how to do something
- For the most part, hard-wiring AI is too difficult
- Best way is to have a way for machines to learn things themselves
- A mechanism for learning - if a machine can learn from input then it does the hard work for you
- You can program a machine how to do something
Machine Learning use cases (examples):
- Web search:
- Web search engines like Google or Bing, a learning algorithm implemented by Google or Microsoft has learned how to rank web pages during our web searches.
- Photo tagging:
- Facebook or Apple’s photo tagging application recognizes your friends’ photos
- Email anti-spam:
- Your email’s spam filter saves you from having to wade through tons of spam email
- Database mining:
Growth of the web and growth of automation means that we have much larger data sets than ever before.- Web click data, aka clickstream data:
- We can use machine learning algorithms to mine this data to understand & serve users better
- Huge segment of silicon valley
- Medical records:
- With automation, we now have electronic medical records, so if we can turn medical records into medical knowledge, then we understand diseases better.
- Computational biology:
- With automation, biologists are collecting lots of data about gene sequences, DNA sequences, and so on, and machines running algorithms are giving us a much better understanding of the human genome.
- In engineering:
- Data from sensors, log reports, photos etc
- Web click data, aka clickstream data:
- Applications that we cannot program by hand:
- Autonomous helicopter:
- We just did not know how to write a computer program to make this autonomous helicopter fly by itself. The only thing that worked was having a computer learn by itself how to fly an autonomous helicopter.
- Handwriting recognition:
- For a piece of mail across the countries, when you write an envelope, a learning algorithm that has learned how to read your handwriting can automatically route this envelope on its way, and so it costs us a few cents to send it thousands of miles.
- Natural language processing (NLP)
- AI pertaining to language
- Computer vision
- AI pertaining vision
- Autonomous helicopter:
- Self-customizing programs:
- Every time you go to Amazon or Netflix or iTunes Genius, and it recommends the movies or products and music to you.
- Understand human learning and the brain:
- If we can build systems that mimic (or try to mimic) how the brain works, this may push our own understanding of the associated neurobiology
Several types of learning algorithms:
- Supervised learning
- Teach the computer how to do something, then let it use its new found knowledge to do it
- Unsupervised learning
- Let the computer learn how to do something, and use this to determine structure and patterns in data
- Reinforcement learning
- Recommender systems
In general, any machine learning problem can be assigned to one of two broad classifications:
Supervised learning and Unsupervised learning.