- What is machine learning?
- Different types of learning.
Machine learning (ML) is study of computer algorithms that can build different analytical model from data. Machine learning is subset of artificial intelligence that builds mathematical analytic model based on data feed to learning model. Machine learning has a hunger for lots of data and build mathematical relationship between data.
Before going deep into ML we should discuss conventional/classical programming approach. In classical programming we would have lots of data and we know how system should work so programmer hard code rules to act on data that produce desired output/answer.
Let’s consider we need to write a program that will calculate simple interest for a banking sector. Bank would have these information such as customer detail, principal amount taken by customer, time period and rate of interest. We know rules to be applied to data so that we can find output/answer i.e. Simple Interest [S.I. = (PTR) / 100] where P=Principal Amount, T=Time and R=Rate. Programmer would hard code above rules to calculate simple interest.
Machine learning is the reorientation of above diagram i.e. we feed lots of data, know answers and learning model will try to find out rules acted on data to produce answer. To do machine learning, we need three things:
- Input data: – For above principle amount, time and rate would be input data.
- Example of expected answer/output: – Simple interest amount will be expected answer.
- A way to measure whether the learning algorithm is doing well or not: – It is necessary to find the difference between algorithm outputs with actual output. Difference will be sent as feedback signal to learning process to adjust algorithms to work. This adjustment step is called learning.
Machine learning transform input data into meaningful output with experienced earned from learning process i.e. exposing to known data of inputs and outputs.
In above example scenario, when known input data principle amount, rate and time are feed along with known output i.e. simple interest amount then machine tries to represent above example with mathematical expression (rules) to get known answers.
To be clear let’s take another scenario.
Let us consider contains some coordinates in (x,y) system having x-axis and y-axis. There are multiple coordinate representation with black and white points. We need to develop an algorithm such that the input coordinates of point output likely to be white or black.
In this case,
- Input data: – coordinates of our point
- Expected output:- black or white color representation
- A way to measure whether our algorithm is doing well could be percentage of points that are correctly classified.
A linear line can clearly and cleanly separates white points from black points. From many transformation this data transformation could be form we need.
In above new transformation / coordinate system, points lying in left from x-axis are white i.e. x<0 and right part are black i.e. x>0. We tried to search different possible transformation coordinate change and used as feedback the percentage of points being correctly classified to learning. It was simpler problem and we were able to classify with hand but complex problem are hard to solve by human. Machine learning can solve complex computational problem easily.
Types of learning
There are different types of learning but we will cover only three of them.
In supervised leaning approach we train the machine using data which are well labeled. A supervised learning algorithm learns from well labeled training data, and helps to predict output for unknown or unseen data. In supervised learning input and output variable are feed into machine.
Algorithms such as support vector machine (SVM), artificial neural network, linear regression, logistics regression, random forest, decision tree, classification tree, etc. are used.
Supervised learning is simpler method and is highly accurate and trustworthy method.
In unsupervised learning approach we train the machine without supervision i.e. unknown data. Unsupervised learning handles unlabeled data. Machine works on own to solve and discover information.
Algorithms such as hierarchical clustering, k-means clustering, local outlier factor, autoencoders, hebbian learning, generative adversarial networks, etc. are used
Unsupervised is computationally complex and it doesn’t use output data.
It helps to find all kinds of unknown pattern in data.
In reinforcement learning approach machine learns from previous output result i.e. it learns with reward basis. ML programmer design reward mechanism.
Machine use trial and error method and revise the learning process with the reward got from previous learning process.
Algorithms such as Deep Q Network, asynchronous advantage actor-critic, Q-Learning with Normalized Advantage function, etc. are used.
Most of the computer games with AI components use reinforcement learning. Have you thought when player is fighting with boss in action games boss plays as how player character interact and evolve with game engine.
In complex problem scenario machine learning are best option as machine tries automatic search for better representation. ML algorithms aren’t finding new transformations but they are searching through a predefined set of operations in hypothesis space. So ML can be defined technically as: it is the process of searching for useful representation of data within predefined thousands of possibilities guided by feedback signal.