Le Machine Learning, l’IA, le DeepLearning, les Statistiques, le Data Mining… bref, tous ces mots sont les buzz words du moment mais que se cache-t-il derrière ?
A travers des exemples concrets, on parcourra les différentes approches du Machine Learning, les grandes familles d’algorithmes (n’ayez crainte : sans rentrer dans le cœur de leurs implémentations), puis les outils et les frameworks à la disposition des Data Scientists… et pour finir, on essayera de prédire l’avenir !
Salon Data - Nantes - 19 Septembre 2017
https://salondata.fr/2017/07/12/0930-1030-ml/
4. Types of Data
WHAT IS A DATA?
• Datum : an item of factual information derived from measurement or research
• Data : a collection of facts from which conclusions may be drawn (plural of
Datum)
1
Structured Data Semi Structured Data Unstructured Data
LOG
7. MACHINE LEARNING
A computer program is said to learn from experience E with respect to some task T and
some performance measure P, if its performance on T, as measured by P, improves
with experience E.
1
Tom Mitchell – 1998
Experience Task Performance
8. QUIZZ
1
Suppose your email program watches which emails you do or do not mark as spam, and
based on that learns how to better filter spam.
Identify the task T, the performance measure P and the experience E
• Classifying emails as spam or not spam.
• Watching you label emails as spam or not spam.
• The number (or fraction) of emails correctly classified as spam/not spam.
9. MACHINE LEARNING : WHEN ?
Human expertise does not exist Humans are unable to explain their expertise
Navigating on Mars
Solution changes in time Solution needs to be adapted
to particular cases
Navigating on Mars Speech Recognition
Routing on a computer network User Biometrics
1
10. WHAT IS A FEATURE ?
Features are elements or dimensions of your dataset.
1
11. WHAT IS A MODEL ?
Definition : a mathematical representation of relationships in a dataset.
1
12. MACHINE LEARNING ALGORITHMS
• Learning Algorithm : infer the
model parameters from the data
• Inference Algorithm : infer
prediction from a model
1
14. SUPERVISED LEARNING
DEFINITION
• The correct class of the training data are known.
• All data are labeled
• The algorithm learn to predict the output from the input data.
TWO MAIN GOALS :
2
Predictive Informative
Make prediction for a new sample
described by its attributes
Help to understand the relationship
between the inputs and the output.
15. SUPERVISED LEARNING
2
# Bedrooms = A Size = B Zip code = C … Price = Y
3 2104 31500 400 000
3 1600 87220 330 000
3 2400 45760 369 000
… …
4 3000 76540 540 000
INPUTS OUTPUT
Feature A
𝑌" = ℎ(𝐴, 𝐵, 𝐶, … . )
Model Hypothesis
Supervised
Learning
Goal: Minimize error between Y et 𝑌"
Labeled Dataset
17. Classification problem
• Predict class from observations
• Symbolic output
SUPERVISED LEARNING
2
Regression problem
• Predict value from observations
• Numerical output
18. SUPERVISED LEARNING - EXAMPLES
Spam Email Detection Biomedical domain :
differentiation of diseases
Speech recognition Time series prediction
Handwritten character
recognition
Object recognition in
computer vision
prediction electricity load,
network usage, stock market prices
2
19. UNSUPERVISED LEARNING
DEFINITION
• The correct class of the training data are NOT known.
• All data is unlabeled
• The algorithms learn to inherent structure from the input data.
Unsupervised learning problems can be further grouped into :
2
Clustering Association Dimension reduction Anomaly Detection
21. UNSUPERVISED LEARNING - EXAMPLES
Customer Segmentation Face Image Recognition Recommendation system
2
22. REINFORCEMENT LEARNING
Principles:
• Close to human learning
• Algorithm learns a policy of how to act in a given environment
• Every Action has some impact in the environment, and the environment provides
rewards that guides the learning algorithm
Goal:
• Maximize the expected sum of future rewards
2
Environment:
• Stochastic (Tetris)
• Adversarial (Chess)
• Partially unknown (Bicycle)
• Partially observable (Robot)
33. EVOLUTIONARIES
Genetic Algorithms
Applying the idea of genomes and DNA in the evolutionary process to data
Origins
Evolutionary biology
_____________________________
Master Algorithms
Genetic Programming
_____________________________
Problems
Structure Discovery
4
35. EvolutionariesConnectionistsBayesiansSymbolists
THE 5 TRIBES
OF MACHINE LEARNING
Systematically
reduce uncertainty
Simulate evolutionEmulate the brain
Fill the gaps in
existing knowledge
Source Image : Blog PWC Pedro Domingo-The Master Algorithm
4
Analogizers
Notice similarities
between old and new
Each tribe represents a different school of thought within the machine learning space.
They are often combined to attack problems from different angles.
42. What’s next ?
Most of the knowledge in the world in the future is going to be
extracted by machines and will reside in machines
Yann LeCun – Director of AI Research, Facebook
Notas do Editor
statistiques : ensemble de méthodes permettant de décrire et d’analyser des observations (ou des données)
data mining permet de découvrir des structures dans de vastes ensembles de données (patterns).
Le machine learning : science de la prédiction
donne la possibilité à des machines d’apprendre sans être explicitement programmées pour.
L’intelligence artificielle définit des comportements et des raisonnements.
Deep Learning is a subfield of machine learning where concepts are learned hierarchically. The simplest concepts emerge first, followed by more complicated concepts that build on the simpler ones. Usually, this leads to a simple layered hierarchy of concepts.
En étude du comportement du consommateur internaute, le clickstream représente l'analyse des chemins empruntés par lui sur un site Internet
Generalisation
Models get complicated
Models aren’t magic
Supervised learning is a way of teaching an algorithm how to do its job when you already have a set of data for which you know “the answer.”
Predictive: Make prediction for a new sample described by its attributes
Informative: Help to understand the relationship between the inputs and the output.
Classification
A sub-category of Supervised Learning, Classification is the process of taking some sort of input and assigning a label to it. Classification systems are usually used when predictions are of a discrete, or “yes or no” nature. Example: Mapping a picture of someone to a male or female classification.
Regression
Another sub-category of supervised learning used when the value being predicted differs to a “yes or no” label as it falls somewhere on a continuous spectrum. Regression systems could be used, for example, to answer questions of “How much?” or “How many?”.
Unsupervised learning is how an algorithm or system analyzes data that isn’t labeled with an answer, then identifies patterns or correlations.
Clustering: group observations into « meaningful » groups
Association: An association rule learning problem is where you want to discover rules that describe large portions of your data, such as people that buy X also tend to buy Y.
Dimension reduction
Anomaly detection
Train 60% => fit the parameter
Val 20% for CV => tune the parameter
Test 20% => evaluate the performance
Deduction is going from general rules to specific facts
Induction is the opposite
From specific facts to general rules
Symbolists : people who believes in discovering new knowledge by filling in the gaps in the knowledge
- Origins : Logic, philosophy
Use symbols, rules and logic to represent knowledge and draw logical inference
Pb : Knowledge composition
Inverse dedeuction / Rules & Decision Trees
Bayesians :
Origins : Statistics
Assess the likelihood of occurrence for probabilistic inference
Pb : Uncertainty
Probabilistic Inference – Naives Bayes or Markov
Analogizers : have influence from a lot of different fields (the most important is psychology)
Apache Singa : https://singa.incubator.apache.org/en/docs.html
Caffee (C++, developped originally for machine vision projects, CUDA acceleration support
CNTK (Computational Network Toolkit) => more optimal speech recognition
Mxnet => open source et chois par AWS
TensorFlow & Theano : très similaire / syntaxe proche de numpy
Torch : utilisé par Facebook AI research (developped in LUA)