Machine learning is not just HYPE.
It is much more, and currently is a technology that is being used more and more
In its most basic conception, it allows a generic algorithm to solve a problem
where the input information is not exactly as expected.
It gives a program the ability to interpret new information and understand its
DIFFERENT WAYS TO LEARN
The model is built
data. This data,
used for learning is
The computer works
out the relationship
between input -
There is no previous
information in this
The algorithm must
be able to extract
the data presented.
Interaction with a
feedback to the
The feedback takes
the form of
What is a Neural Network?
A neural network is a set of connected nodes (grouped in one or more layers).
Each node can take a set of inputs, applies weight to them and calculate an
These output values are the input for the next layer of nodes.
What we call “nodes” are in reality large matrices being kept in memory.
A layer is a collection of matrices.
DIFFERENT MODELS OF
The algorithm has no memory,
there is no effectivity to
respond to patterns over time.
The algorithm saves a set of the
internal calculation, and this is
re-used the next time as part
of the input.
It has memory. It can produce a
result based not only on
current data but also on
previously computed data.
MACHINE LEARNING TASKS
The output is a classification (i.e.
Spam or Not Spam).
This is an example of Supervised
learning, the classes are all
Reduces the dimensions of the input
data, in order to simplify a
problem, and to filter out outliers
and random variables (Variables
that are not functional to the
statistical solution of the problem).
The output is a continuous
value, a probability value
(0 to 1) for each input
Naturally, the sum of all
amount to 1.
Grouping of information.
Similar to Classification,
but on an Unsupervised
network. Information is
grouped in classes,
unknown at the start of
Sure, easy GIS lookup, give me a few hours!
When a user takes a photo, the APP should
check whether they are in a National Park …
… and check whether the photo is of a bird.
I will need a research team and five years.
• Edge detection.
• Image transformations
(depth, size, shape, etc.)
• Accessing camera feeds.
• Filtering images (applying all
types of filters)
It has implementations for
c++, Java, Python, Android
Also there is a component
called Emgu, which is a port
for .NET applications.
Open Source python
ecosystem of software for
mathematics, science and
Google Deep Learning library.
It provides method for
handling Data input /
output, construct a ML
model (with many different
options) and adding all kinds
of configurable layers.
Python wrapper around
Tensorflow. Exposes a
simplified library allowing
easier scripting and
modeling of Neural
Networks, handling data
Powerful scripting Language.
Supports multithreading, 64
Anaconda provides work
environment isolation and
package management for
Multiple environments can be
defined, each one with a
different Python version and
Java desktop application that
enables monitoring training of
the Neural Networks in real
Learning Type : Supervised Learning
Clear classification, known beforehand. The only result expected is a
classification whithin a restricted universe (Just three classes). There are
no other classes allowed.
Learning Task : Regression
Having a probability value allows for thresholding of the final result (fine
tunning). The final user could decide to adjust the value for reducing either
“false positives” or “true negatives”.
Images of both sides of One Peso and Two Pesos current Arengentine coins
(Most ordinary, not special editions).
All images where converted to 128x128 size and also to 24 Bits Per Pixel
(this is important, it will determine the dimensions of the matrices in the
So, ten classes (Two for each denomination, side A and B), with a total of
Each image is rotated every 15 degrees, and each resultant image is
augmented in brightness 4 times (So each image, results in 96 images).
Final data set, 43296 images. 30 % of this set is used for validation.
Neural Network Model
Convolutional Neural Network Architecture
• 1st Layer: Convolutional, Max Pooling, Relu
• 2nd Layer: Convolutional, Max Pooling, Relu
• 3rd Layer: Convolutional, Max Pooling, Relu
• Layer Flattening
• Fully Connected Layer
• Fully Connected Layer (With Number of Nodes = Number of Classes)
Circle detection is done
The image to compare to
the trained model has to
be as similar as those used
to train the model in the