An introduction to Machine Learning


What is Machine learning?


Machine learning is a type of artificial intelligence that provides computers with the ability to learn without being explicitly programmed. It is the idea that there are generic algorithms that can tell you something interesting about a set of data without you having to write any custom code specific to the problem. Instead of writing code, you feed data to the generic algorithm and it builds its own logic based on the data .

Essentially, it is a method of teaching computers to make and improve predictions or behaviors based on some data. What is this "data"? Well, that depends entirely on the problem. It could be readings from a robot's sensors as it learns to walk, or the correct output of a program for certain input.

Another way to think about machine learning is that it is "pattern recognition" - the act of teaching a program to react to or recognize patterns. 

Facebook's News Feed uses machine learning to personalize each member's feed. If a member frequently stops scrolling in order to read or "like" a particular friend's posts, the News Feed will start to show more of that friend's activity earlier in the feed. Behind the scenes, the software is simply using statistical analysis and predictive analytics to identify patterns in the user's data and use to patterns to populate the News Feed. Should the member no longer stop to read, like or comment on the friend's posts, that new data will be included in the data set and the News Feed will adjust accordingly. 

Uses of Machine learning 


Spam detection

Credit card fraud detection

Digit Recognition

Speech understanding

Face detection

Product Recommendation

Medical Diagnosis

Stock Trading

Customer Segmentation

Shape Detection

Web Search and Recommendation Engines

Social Networks news feed and Advertisement

Space, Astronomy, and Robotics


Types of Machine learning tasks:


In this learning, we have a number of sample input/output pairs. But, we are unaware of relation or mathematical function or rule by which input and output are mapped. Using supervised learning, if we are given a large data set of input/output pairs, we can predict output value for new input value. Here, we divide our input/output set in two groups: Training set and test set. We have some model with error function which we try to minimize over training set and then we test whether our solution works for test set or not.

Example: Digit recognition where we train our system for each number from 0 to 9 using images.


‚ÄčIn this learning, we have only input data and no corresponding output variables. Here, we try to find some structure or relationship between different inputs. One of important unsupervised learning is clustering, where different cluster of inputs are created and any new input is placed in most appropriate cluster.

Another type of unsupervised learning is association, where we discover rules that associates input data. Example: a person who buy notebook, will tend to buy pen also.  

  • Reinforcement learning

in This learning , We allow our machine or system to learn by itself based on feedback from environment to maximize its rewards. For example, consider teaching a dog a new trick: you cannot tell it what to do, but you can reward/punish it if it does the right/wrong thing. It has to figure out what it did that made it get the reward/punishment, which is known as the credit assignment problem. 

Mainly there are two types:

1. Game playing: Machine train itself to minimize chances of losing and maximizing chance of winning by learning from its own and opponent’s move. Eg.  Playing chess.

2. Control problems: For control problems such as self-driving car, machine can be left in a simulated environment and eventually it will come up with good control policies.

[This article contains reference from various sources from internet. ]