Machine learning


Machine learning gives computers the ability to learn without being explicitly programmed. 
It is the ability for computer programs to analyze data, extract information automatically, and learn from it. 
So, basically, implementing machine learning means creating algorithms which can learn and make  
predictions on data. 

Some examples of machine learning: 
- Amazon recommendations based on the customer’s browsing and purchasing behavior. 
- Google's search engine, that ranks the websites by relevancy. 
- Self-driving cars. 
- Email spam filters. 

All of the systems above learn and improve themselves as more and more data is provided: The more you search and purchase on Amazon, the better recommendations it gives. The more emails you mark as spam, the better the system filters new emails. The more situations the self-driving car navigates, the better it drives. 

This is very similar to how we humans learn. A typical example is the problem of classification. For instance, the email spam filter needs to classify the spam and not spam emails. Note, that this is quite user-dependent. If we know that a specific user is marking all the travel emails as spam, we are going to classify the new emails more effectively. More relevant data leads to better predictions.


Types of Machine Learning

Machine learning algorithms can be divided into three broad categories:
Supervised learning: The computer is presented with example inputs and their desired outputs, and the goal is to learn a general rule that maps inputs to outputs. An example is an email spam filter.

Unsupervised learning: No labels are given to the learning algorithm, leaving it on its own to find structure in its input (discovering hidden patterns in data). For example, imagine having data about all cars and their buyers. The system can find patterns and identify that, for example, people in the suburbs prefer SUVs with petrol engines, but people who live near to downtown, prefer smaller electrical cars. Knowing this can help the system predict who will buy which car.

Reinforcement learning: A computer program interacts with a dynamic environment in which it must perform a certain goal (such as driving a vehicle or playing a game against an opponent). The program is provided feedback in terms of rewards and punishments as it navigates its problem space.

Another categorization of machine learning tasks arises when considering the desired output.
In classification, (typically in supervised learning) inputs are divided into two or more classes. Spam filtering is an example of classification, where the inputs are emails and the classes are "spam" and "not spam".

In regression, also a supervised problem, we predict continuously-valued outputs. For example, predicting house prices or stock prices.

In clustering, a set of inputs is to be divided into groups. Unlike in classification, the groups are not known beforehand, making this typically an unsupervised task. An example is customer segmentation.

Density estimation finds the distribution of inputs in some space. For example, having diabetes test results of a specific number of people, we can estimate the distribution for the whole population.

Dimensionality reduction simplifies inputs by mapping them into a lower-dimensional space. Topic modeling is a related problem where a program is given a list of human language documents and is tasked to find out which documents cover similar topics.


Neural Networks

The goal of artificial neural network machine learning algorithms is to mimic the way the human brain organizes and understands information in order to arrive at various predictions.

Neural networks, with their remarkable ability to derive meaning from complicated or imprecise data, can be used to extract patterns and detect trends that are too complex to be noticed by either humans or other computer techniques.

Artificial neural networks, like real brains, are formed from connected "neurons", all capable of carrying out a data-related task, such as recognizing something, matching a piece of information to another piece, and answering a question about the relationship between them.
Each neuron is capable of passing on the results of its work to a neighboring neuron, which can then process it further.
Typically, neurons are organized in layers. Different layers may perform different kinds of transformations on their inputs. Signals travel from the first (input), to the last (output) layer, possibly after traversing the layers multiple times.
This is what a typical simple neural network looks like:



Because the network is capable of changing and adapting based on the data that passes through it, the connections between these neurons are fine-tuned until the network yields highly accurate predictions. It can be thought of as "learning", in much the same way as our brains do.

Neural networks have been used on a variety of tasks, including computer vision, speech recognition, machine translation, playing board and video games, medical diagnosis, and in many other domains.

Comments

Post a Comment

Popular posts from this blog

Exp : 1 & 2 : Working with HTML and CSS

DOS Attack code for python

DV and LS Routing Algorithm Implementation in ns2