A computer program is said to learn from experience E for some task T, and some performance measures P if its performance on T, as measured by P, improves with experience E.
The main goal of machine learning is to develop techniques that automatically allow programs/algorithms to improve their performance through experience.
The most specific setting for this problem is classification –
We want our program to be able to distinguish between two classes: the class of things we are interested in and another one (background).
We train a classifier by showing it examples from both sets and finding out which features the best help separate the sets.
This process can be supervised or unsupervised
Supervised: We already have the training examples; Algorithms can see the correct answers.
Unsupervised: Training examples are unlabelled – we don’t know what they mean; Algorithm tries to learn underlying patterns.
Machine learning projects makes it possible to automatically train such classifiers and offers a general solution to supervised and unsupervised learning problems.
Advantage of Machine Learning
The main advantage of machine learning is that we don’t need to design anything new when we build our system:
We only specify how the desired behaviour should look (in terms of input/output) and leave all other decisions up to the algorithm.
This enables us to build systems where we cannot use handcrafted solutions or when human intervention would be cost-prohibitive.
Machine learning is categorized by the task it performs
Supervised learning: Predict an output value based on a set of input values and labels
Unsupervised learning: Find patterns in given data
Reinforcement learning: Find optimal behavior through trial and error
Typical tasks in machine learning include
Models that estimate what we would expect to see from a random sample from some underlying distribution
Analyse how deterministic values change over time Classification: Determinisms whether an observation belongs to one or more classes
Grouping objects according to similarity.
Association rule mining:
Discover interesting relationships between variables.
Dimensionality reduction / Feature selection Relevance prediction:
The ultimate goal of machine learning is to give computers the ability to learn without being explicitly programmed.
This would allow us to build much more flexible systems to adapt, for example, our personal needs.
It has been shown that specific tasks, such as image classification or speech recognition, can be learned efficiently using large training data sets and modern classifiers.
The performance of these modern classifiers on these kinds of tasks now rivals human accuracy.
Google’s AlphaGo program defeated professional Go players in October 2015 by learning from historical matches.
It isn’t easy to extract enough knowledge from a few samples, and we don’t always have the luxury of using substantial training sets. You can refer to remotedba.com
A new approach, Deep learning (DL), has been developed to learn features directly from unlabelled data, such as raw audio data or an image without preprocessing.
DL allows us to use complex hierarchical models with multiple nonlinear transformations between lower and higher-level features instead of simple linear models found in traditional machine learning approaches.
Using this kind of model requires large datasets and many computational resources –
This makes convolution neural networks (CNN), which use less computationally intensive algorithms, the best choice for specific real-world applications such as object recognition on images or video data.
Different Machine Learning Algorithm
There are many different types of machine learning algorithms, but most of them can be seen as combinations of the following basic building blocks:
Representation learning/feature extraction:
The methods/tools used to find optimal representations for our observations (features) include different preprocessing techniques such as normalization, pruning, etc.
A supervised learning algorithm takes labelled training examples and produces a classifier (function) that maps input examples to the correct output label.
An unsupervised learning algorithm either clusters unlabeled data or tries to predict labels based on other information such as similarities etc.
A form of machine learning where an agent learns how to maximize a numerical reward signal through trial and error.
Example to Check
The following demonstrator shows what you can do with DL today (with Keras/Tensorflow ) + advanced modern CNN-based models!
I used the CIFAR10 small images dataset for my experiments, containing 50,000 32×32 colored pixel values for different 10 categories – there are 6000 images in each category.
It has been shown that this kind of data is relatively easy to learn – but hard to train if you want to get high classification accuracy – typical for real-world data!
Many different kinds of layers can be seen. Still, typical ones include fully connected layers, convolutional layers (which allow us to extract higher level features from the input), and normalization/pooling functions (which serve as nonlinear preprocessors) following each convolutional layer.
Output is typically fed into several fully connected (dense) layers, which predict the final task labels.