Machine Learning: Diving Deeper

1_ApsDFQHU9uG6q6pSChVfhg.jpeg

What it is? Why does it Matter? How does it work?

What It Is?

Machine Learning is the learning in which a machine can learn on its own without being explicitly programmed. It is an application of Al that provide the system with the ability to automatically learn and improve from experience. Here we can generate a program by integrating the input and output of that program. One of the simple definitions of Machine Learning is “Machine Learning is said to learn from experience w.r.t some class of task T and a performance measure P if learners performance at the task in the class as measured by P improves with experiences.”

Sometimes Artificial Intelligence and Machine Learning are considered as same but they are somehow different from each other.
Difference b/w AI & Ml:
AI:
1- Al stands for Artificial intelligence, where intelligence is defined acquisition of knowledge. Intelligence is alsodefined as the ability to acquire and apply knowledge.
2- The aim is to increase the chance of success and not accuracy.
3- It works like a computer program that does smart work
4- The goal is to simulate natural intelligence to solve complex problems.
5- Al is decision making.
ML:
1- ML stands for Machine Learning which is defined as the acquisition of knowledge or skill.
2- The aim is to increase accuracy, but it does not care about success.
3- It is a simple concept machine that takes data and learns from data.
4- The goal is to learn from data on certain tasks to maximize the performance of machines on this task.
5- ML allows systems to learn new things from data.

Terminologies of Machine Learning:
Model: A model is a specific representation learned from data by applying some machine learning algorithm. A model is also called a hypothesis.
Feature: A feature is an individual measurable property of our data. A set of numeric features can be conveniently described by a feature vector. Feature vectors are fed as input to the model. For example, in order to predict a fruit, there may be features like colour, smell, taste, etc.
Note: Choosing informative, discriminating and independent features is a crucial step for effective algorithms. We generally employ a feature extractor to extract the relevant features from the raw data.
Target (Label): A target variable or label is the value to be predicted by our model. For the fruit example discussed in the features section, the label with each set of input would be the name of the fruit like apple, orange, banana, etc.
Training: The idea is to give a set of inputs(features) and its expected outputs(labels), so after training, we will have a model (hypothesis) that will then map new data to one of the categories trained on.
Prediction: Once our model is ready, it can be fed a set of inputs to which it will provide a predicted output(label).

The figure shows clearly the above concepts:

Two kinds of Machine Learning Algorithms

You can think of machine learning algorithms as falling into one of two main categories — supervised learning and unsupervised learning. The difference is simple but really important.

Supervised Learning

Let’s say you are a real estate agent. Your business is growing, so you hire a bunch of new trainee agents to help you out. But there’s a problem — you can glance at a house and have a pretty good idea of what a house is worth, but your trainees don’t have your experience so they don’t know how to price their houses.
To help your trainees (and maybe free yourself up for a vacation), you decide to write a little app that can estimate the value of a house in your area based on its size, neighbourhood, etc, and what similar houses have sold for.
So you write down every time someone sells a house in your city for 3 months. For each house, you write down a bunch of details — number of bedrooms, size in square feet, neighbourhood, etc. But most importantly, you write down the final sale price:

0_F9hQw315IKuCRhUQ.png

This is our “training data.”

Using that training data, we want to create a program that can estimate how much any other house in your area is worth:

0_09vwm2pcscEsML4E.png

We want to use the training data to predict the prices of other houses.

This is called supervised learning. You knew how much each house sold for, so in other words, you knew the answer to the problem and could work backwards from there to figure out the logic.

To build your app, you feed your training data about each house into your machine learning algorithm. The algorithm is trying to figure out what kind of math needs to be done to make the numbers work out.
This kind of like having the answer key to a math test with all the arithmetic symbols erased:

0_RmFK-LaEv6eITfwy.png

Oh no! A devious student erased the arithmetic symbols from the teacher’s answer key!

From this, can you figure out what kind of math problems was on the test? You know you are supposed to “do something” with the numbers on the left to get each answer on the right.
In supervised learning, you are letting the computer work out that relationship for you. And once you know what math was required to solve this specific set of problems, you could answer any other problem of the same type!

Unsupervised Learning

Let’s go back to our original example with the real estate agent. What if you didn’t know the sale price for each house? Even if all you know is the size, location, etc of each house, it turns out you can still do some really cool stuff. This is called unsupervised learning.

This is kind of like someone giving you a list of numbers on a sheet of paper and saying “I don’t really know what these numbers mean but maybe you can figure out if there is a pattern or grouping or something — good luck!”

So what could do with this data? For starters, you could have an algorithm that automatically identified different market segments in your data. Maybe you’d find out that home buyers in the neighbourhood near the local college really like small houses with lots of bedrooms, but homebuyers in the suburbs prefer 3-bedroom houses with lots of square footage. Knowing about these different kinds of customers could help direct your marketing efforts.

Another cool thing you could do is automatically identify any outlier houses that were way different from everything else. Maybe those outlier houses are giant mansions and you can focus your best salespeople on those areas because they have bigger commissions.

Supervised learning is what we’ll focus on for the rest of this post, but that’s not because unsupervised learning is any less useful or interesting. In fact, unsupervised learning is becoming increasingly important as the algorithms get better because they can be used without having to label the data with the correct answer.

Side note: There are lots of other types of machine learning algorithms. But this is a pretty good place to start.

Why Machine Learning Matters?

With the rise in big data, machine learning has become a key technique for solving problems in areas, such as:

  • Computational finance: For credit scoring and algorithmic trading.
  • Image processing and Computer vision: For face recognition, motion detection, and object detection.
  • Computational biology: For tumour detection, drug discovery, and DNA sequencing.
  • Energy production: For price and load forecasting.
  • Automotive, aerospace, and manufacturing: For predictive maintenance.

More Data, More Questions, Better Answers:

Machine learning algorithms find natural patterns in data that generate insight and help you make better decisions and predictions. They are used every day to make critical decisions in medical diagnosis, stock trading, energy load forecasting, and more.

For example, media sites rely on machine learning to sift through millions of options to give you song or movie recommendations. Retailers use it to gain insight into their customers’ purchasing behaviour.

When Should You Use Machine Learning?

Consider using machine learning when you have a complex task or problem involving a large amount of data and lots of variables, but no existing formula or equation. For example, machine learning is a good option if you need to handle situations like these:

How Does it works?

Case Study:

  • Malfunctioning gearboxes have been the cause for CH-46 US Navy helicopters to crash.
  • Although gearbox malfunctions can be diagnosed by a mechanic prior to a helicopter’s takeoff, what if a malfunction occurs while in-flight when it is impossible for a human to detect?
  • Machine Learning was shown to be useful in this domain and thus to have the potential of saving human lives!

Consider the following common situation:

  • You are in your car, speeding away when you suddenly hear a “funny” noise.
  • To prevent an accident, you slow down, and either stop the car or bring it to the nearest garage.
  • The in-flight helicopter gearbox fault monitoring system was designed following the same idea. The difference, however, is that many gearbox malfunctions cannot be heard by humans and must be monitored by a machine.

So, Where’s the Learning?

  • Imagine that, instead of driving your good old battered car, you were asked to drive this truck:
  • Would you know a “funny” noise from a “normal” one?
  • Well, probably not, since you’ve never driven a truck before!
  • While you drove your car during all these years, you effectively learned what your car sounds like and this is why you were able to identify that “funny” noise.

What did the Computer Learn?

  • In the helicopter gearbox monitoring problem, the assumption is that functioning and malfunctioning gearboxes emit different noises. Thus, the strings of numbers that represent these noises have different characteristics.
  • The exact characteristics of these different categories, however, are unknown and/or are too difficult to describe.
  • Therefore, they cannot be programmed, but rather, they need to be learned by the computer.
  • There are many ways in which a computer can learn how to distinguish between two patterns (e.g., decision trees, neural networks, bayesian networks, etc).

Why Learn?

Machine learning is programming computers to optimize a performance criterion using example data or past experience.

Learning is used when:

  • Human expertise does not exist (navigating on Mars),
  • Humans are unable to explain their expertise (speech recognition)
  • Solution changes in time (routing on a computer network)
  • A solution needs to be adapted to particular cases (user biometrics)

Growth of Machine Learning:

Machine learning is the preferred approach to:

  • Speech recognition, Natural language processing
  • Computer vision
  • Medical outcomes analysis
  • Robot control
  • Computational biology

These types of trends are accelerating:

  • Improved machine learning algorithms
  • Improved data capture, networking, faster computers
  • Software too complex to write by hand
  • New sensors / IO devices
  • Demand for self-customization to the user, environment.

Conclusion:

In my mind, the biggest problem with machine learning right now is that it mostly lives in the world of academia and commercial research groups. There isn’t a lot of easy to understand material out there for people who would like to get a broad understanding without actually becoming experts. But it’s getting a little better every day.

If you want to go deeper, Andrew Ng’s free Machine Learning class on Coursera is pretty amazing as a next step. I highly recommend it. It should be accessible to anyone who has a Computer Science degree and who remembers a very minimal amount of math.

Also, you can play around with tons of machine learning algorithms by downloading and installing SciKit-Learn. It’s a python framework that has “black box” versions of all the standard algorithms.


Only registered users can post comments. Please, login or signup.

Start blogging about your favorite technologies and get more readers

Join other developers and claim your FAUN account now!

Avatar

Muhammad Attique Anwar

Student

@attique_anwar
Co-Lead AWS Community Pakistan | Former AWS Educate Student Ambassador | AWS Enthusiast | Cloud Evangelist | ML Enthusiast | Public Speaker | Community Builder
Stats
20

Influence

791

Total Hits

1

Posts

Discussed tools