SlideShare una empresa de Scribd logo
1 de 39
Descargar para leer sin conexión
MACHINE	
  LEARNING	
  
INTRODUCTION	
  À	
  MLLIB	
  
Hayssam	
  Saleh	
  
ANALYTICS	
  
¢  La	
  découverte	
  de	
  pa5erns	
  dans	
  les	
  données	
  
¢  S’appuie	
  sur	
  l’analyse	
  et	
  l’agréga=on	
  de	
  datasets	
  
conséquents	
  
¢  Pour	
  extraire	
  des	
  faits	
  du	
  passé	
  
¢  Prédire	
  des	
  tendances	
  
¢  En	
  u=lisant	
  le	
  machine	
  learning	
  
CAS	
  D’UTILISATION	
  
¢  Recommanda=on	
  
¢  Classifica=on	
  de	
  contenu	
  en	
  groupes	
  prédéfinis	
  
¢  Regroupement	
  de	
  contenus	
  similaires	
  
¢  Iden=fica=on	
  de	
  topics	
  clefs	
  
¢  Détec=on	
  de	
  fraude	
  et	
  d’anomalies	
  
¢  Ranking	
  
DE	
  LA	
  DONNÉE	
  À	
  LA	
  CONNAISSANCE	
  
¢  De	
  la	
  donnée	
  à	
  	
  
¢  la	
  connaissance	
  
—  Dois-­‐je	
  accorder	
  ce	
  crédit	
  à	
  ce	
  client	
  sur	
  la	
  base	
  de	
  ses	
  
bilans	
  ?	
  
—  Ce	
  film	
  est-­‐il	
  un	
  film	
  d’humour	
  ?	
  
—  Ce	
  mail	
  est-­‐il	
  un	
  spam	
  ?	
  
Données	
   Hypothèses	
  
ML	
  
Connaissance	
  
TYPES	
  D’APPRENTISSAGE	
  
¢  Appren=ssage	
  Supervisé	
  
—  Classifica=on	
  
¢  Le	
  résultat	
  est	
  un	
  valeur	
  parmi	
  N	
  sans	
  ordre	
  quelconque	
  et	
  dans	
  un	
  
ensemble	
  prédéfini	
  
¢  Exemple	
  :	
  Ce	
  film	
  est-­‐il	
  un	
  film	
  d’horreur	
  ou	
  un	
  film	
  d’ac=ons	
  ou	
  un	
  
film	
  roman=que	
  
¢  Prédire	
  le	
  label	
  de	
  nouvelles	
  données	
  à	
  par=r	
  des	
  labels	
  des	
  données	
  
existantes	
  
—  Régression	
  
¢  Le	
  résultat	
  est	
  une	
  valeur	
  dans	
  un	
  ensemble	
  de	
  valeurs	
  con=nues	
  
¢  Exemple	
  :	
  Quel	
  est	
  le	
  prix	
  prévisionnel	
  de	
  cet	
  appartement	
  dans	
  les	
  6	
  
prochains	
  mois	
  ?	
  
¢  Appren=ssage	
  non	
  supervisé	
  
—  Clustering	
  	
  
¢  Les	
  données	
  en	
  entrée	
  de	
  l’algorithme	
  d’appren=ssage	
  ne	
  sont	
  pas	
  
labellisées	
  
¢  Grouper	
  les	
  données	
  en	
  fonc=on	
  de	
  leur	
  similarité	
  
APPRENTISSAGE	
  SUPERVISÉ	
  
¢  Prédire	
  les	
  labels	
  de	
  données	
  futures	
  à	
  par=r	
  de	
  labels	
  
de	
  données	
  existantes	
  
Salaire	
   Statut	
   Propriétaire	
   OK/KO	
  
100	
   Célibataire	
   Oui	
   OK	
  
120	
   Marié	
   Non	
   OK	
  
100	
   Divorcé	
   Non	
   KO	
  
80	
   Célibataire	
   Non	
   KO	
  
70	
   Marié	
   Non	
   KO	
  
100	
   Célibataire	
   Oui	
   OK	
  
x	
   y	
  
Con=nue	
   Catégorie	
   Binaire	
   Label	
  
x1	
   x2	
   x3	
  
DÉMARCHE	
  
Echan=llon	
  labélisé	
  
Sous-­‐Echan=llon	
  
labélisé	
  
Sous-­‐Echan=llon	
  dont	
  
le	
  label	
  a	
  été	
  occulté	
  
Algorithme	
  
d’appren=ssage	
  
Modèle	
  
Performance	
  
¢  Le	
  modèle	
  génère	
  les	
  prédic=ons	
  
¢  Le	
  modèle	
  est	
  corrigé	
  lorsque	
  les	
  prédic=ons	
  sont	
  erronées	
  
¢  Le	
  modèle	
  est	
  considéré	
  sa=sfaisant	
  lorsque	
  le	
  niveau	
  de	
  précision	
  est	
  considéré	
  comme	
  
étant	
  sa=sfaisant	
  
80%	
   20%	
  
Training	
  set	
   Test	
  set	
  
ARBRE	
  DE	
  DÉCISION	
  
LE	
  MEILLEUR	
  ARBRE	
  DE	
  DÉCISION	
  
OK	
   3	
  
KO	
   3	
  
Impureté	
  =	
  0,5	
  
Statut	
  
Statut	
  ?	
   Marié	
   Célibataire	
  /	
  Divorcé	
  
OK	
   1	
   2	
  
KO	
   1	
   2	
  
Gini	
  (marié)	
  =	
  1-­‐	
  ((1/2)2	
  +	
  (1/2)2)	
  =	
  0,5	
  
Gini(Cél/Div)	
  =	
  1-­‐((2/4)2	
  +	
  (2/4)2)	
  =	
  0,5	
  
Impureté	
  	
  =	
  ((1+1)/6)	
  *	
  Gini(marié)	
  +	
  ((2+2)/6)	
  *	
  Gini(Cél/Div)	
  =	
  0,5	
  
1	
  
1	
  
2	
  
2	
  
Marié	
   Célibataire	
  /	
  Divorcé	
  
U=lisa=on	
  de	
  l’index	
  Gini	
  
OK	
  
KO	
  
OK	
  
KO	
  
LE	
  MEILLEUR	
  ARBRE	
  DE	
  DÉCISION	
  
Propriétaire	
  ?	
   Oui	
   Non	
  
OK	
   2	
   1	
  
KO	
   0	
   3	
  
Gini	
  (Oui)	
  =	
  1-­‐	
  ((2/2)2	
  +	
  (0/2)2)	
  =	
  0	
  
Gini(Non)	
  =	
  1-­‐((1/4)2	
  +	
  (3/4)2)	
  =	
  0,375	
  
Impureté	
  	
  =	
  ((2+0)/6)	
  *	
  Gini(Oui)	
  +	
  ((1+3)/6)	
  *	
  Gini(Non)	
  =	
  0,25	
  
Marge	
  d’erreur	
   1	
  -­‐	
  max(2/2,	
  0/2)	
  =	
  0	
   1	
  –	
  max(1/4,	
  3/4)	
  =	
  0,25	
  
OK	
   3	
  
KO	
   3	
  
Impureté	
  =	
  0,5	
  
Propriétaire	
  
2	
  
0	
  
1	
  
3	
  
Oui	
   Non	
  
U=lisa=on	
  de	
  l’index	
  Gini	
  
LE	
  MEILLEUR	
  ARBRE	
  DE	
  DÉCISION	
  	
  
Propriétaire	
  ?	
   Oui	
   Non	
  
OK	
   2	
   1	
  
KO	
   0	
   3	
  
Entropie(Oui)	
  =	
  -­‐(2/2)log2	
  (2/2)	
  –	
  (0/2)log2(0/2)	
  =	
  0	
  
Entropie(Non)	
  =	
  -­‐(1/4)log2(1/4)	
  –	
  (3/4)log2(3/4)	
  =	
  0,5	
  +	
  0,31	
  =	
  0,81	
  
Gain=	
  ((2+0)/6)	
  *	
  Entropie(Oui)	
  +	
  ((1+3)/6)	
  *	
  Entropie(Non)	
  =	
  0,4	
  
Marge	
  d’erreur	
   1	
  -­‐	
  max(2/2,	
  0/2)	
  =	
  0	
   1	
  –	
  max(1/4,	
  3/4)	
  =	
  0,25	
  
OK	
   3	
  
KO	
   3	
  
Impureté	
  =	
  0,5	
  
Propriétaire	
  
2	
  
0	
  
1	
  
3	
  
Oui	
   Non	
  
U=lisa=on	
  de	
  l’entropie	
  
ARBRE	
  DE	
  DÉCISION	
  
¢  Comment	
  est	
  construit	
  l’arbre	
  de	
  décision	
  
—  Recherche	
  de	
  la	
  meilleure	
  condi=on	
  de	
  segmenta=on	
  
¢  En	
  s’appuyant	
  sur	
  l’impureté	
  
—  Qu’est	
  ce	
  que	
  la	
  mesure	
  d’impureté	
  
¢  Mesure	
  la	
  qualité	
  de	
  la	
  sépara=on	
  
¢  La	
  segmenta=on	
  s’arrête	
  lorsque	
  :	
  
—  Tous	
  les	
  échan=llons	
  d’un	
  nœud	
  appar=ennent	
  à	
  la	
  même	
  classe	
  
—  Il	
  n’y	
  a	
  plus	
  de	
  nouveaux	
  a5ributs	
  
¢  Classifica=on	
  à	
  la	
  majorité	
  
—  Il	
  n’y	
  a	
  plus	
  d’échan=llons	
  à	
  classer	
  	
  
¢  Quelle	
  technique	
  Gini	
  ou	
  Entropie	
  ?	
  
—  La	
  li5érature	
  :	
  
¢  Gini	
  pour	
  les	
  a5ributs	
  con=nus,	
  l’entropie	
  pour	
  les	
  catégories	
  
¢  L’entropie	
  moins	
  performante	
  ?	
  
—  Mon	
  avis	
  :	
  
¢  Essayer	
  les	
  deux	
  et	
  choisir	
  celle	
  qui	
  fonc=onne	
  le	
  mieux.	
  
CLASSIFICATION	
  NAÏVE	
  BAYÉSIENNE	
  
¢  Théorème	
  de	
  Bayes	
  
—  p(y|x)	
  =	
  	
  
	
  p(x|y)	
  p(y)	
  
—  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  p(x)	
  
¢  p(y|x)	
  	
  
—  Probabilité	
  que	
  x	
  soit	
  de	
  la	
  classe	
  y	
  
¢  p(x|y)	
  
—  Quelle	
  est	
  dans	
  l’échan=llon	
  labellisé,	
  la	
  probabilité	
  que	
  x	
  soit	
  dans	
  la	
  classe	
  y	
  
¢  p(y)	
  
¢ Quelle	
  est	
  dans	
  l’échan=llon	
  labellisé,	
  la	
  probabilité	
  d’occurrence	
  de	
  la	
  classe	
  y	
  
¢  p(x)	
  =	
  	
  
¢ quelle	
  est	
  dans	
  l’échan=llon	
  labellisé,	
  la	
  probabilité	
  d’occurrence	
  de	
  x	
  
CLASSIFICATION	
  NAÏVE	
  BAYÉSIENNE	
  
Statut	
   OK/KO	
  
Célibataire	
   OK	
  
Marié	
   OK	
  
Divorcé	
   KO	
  
Célibataire	
   KO	
  
Marié	
   KO	
  
Célibataire	
   OK	
  
P(OK|Célibataire)	
  =	
  	
  p(Célibataire|OK)	
  p(OK)	
  
	
   	
  	
  	
  	
  	
  	
  p(Célibataire)	
  
P(OK|oui)	
  =	
  	
  2/3	
  *	
  3/6	
  	
  
=	
  0,67	
  
	
   	
  	
  	
  	
  	
  3/6	
  
CLASSIFICATION	
  NAÏVE	
  BAYÉSIENNE	
  
Client	
   Salaire	
   Statut	
   Propriétaire	
   OK/KO	
  
C1	
   100	
  =	
  2	
   Célibataire	
   Oui	
   OK	
  
C2	
   120	
  =	
  2	
   Marié	
   Non	
   OK	
  
C3	
   100	
  =	
  2	
   Divorcé	
   Non	
   KO	
  
C4	
   80	
  =	
  1	
   Célibataire	
   Non	
   KO	
  
C5	
   70	
  =	
  1	
   Marié	
   Non	
   KO	
  
C6	
   100	
  =	
  2	
   Célibataire	
   Oui	
   OK	
  
C7	
   90	
  =	
  1	
   Marié	
   Non	
  
p(x|y)	
  =	
  p(x1|y)	
  p(x2|y)	
  p(x3|y)	
  
p(C7|OK)	
  =	
  p(1|OK)	
  p(Marié|OK)	
  p(Non|OK)	
  =	
  0	
  *	
  	
  0.5	
  *	
  0.25	
  	
  
RÉGRESSION	
  LOGISTIQUE	
  
¢  Consiste	
  à	
  donner	
  un	
  poids	
  à	
  chaque	
  prédicteur.	
  	
  
¢  Pour	
  obtenir	
  un	
  rapport	
  de	
  chances.	
  
ln	
  
P(y	
  =	
  1	
  |	
  x)	
  
P(y	
  =	
  0	
  |	
  x)	
  
=	
   a0	
  +	
  a1	
  x1	
  +	
  a2	
  x2	
  +	
  a3	
  x3	
  
ln	
  
pi(x)	
  
1	
  –	
  pi(x)	
  
=	
   a0	
  +	
  a1	
  x1	
  +	
  a2	
  x2	
  +	
  a3	
  x3	
  
pi(x)	
  =	
  	
  
e(a0	
  +	
  a1	
  x1	
  +	
  a2	
  x2	
  +	
  a3	
  x3)	
  
1	
  -­‐	
  e(a0	
  +	
  a1	
  x1	
  +	
  a2	
  x2	
  +	
  a3	
  x3)	
  
e(a0	
  +	
  a1	
  x1	
  +	
  a2	
  x2	
  +	
  a3	
  x3)	
  
RÉGRESSION	
  LOGISTIQUE	
  
Client	
   Salaire	
   Statut	
   Propriétaire	
   OK/KO	
   C(X)	
  	
   PI	
  (Score)	
  
C1	
   100	
   Célibataire	
   Oui	
   OK	
   1,99	
   0,87	
  
C2	
   120	
   Marié	
   Non	
   OK	
   1,3	
   0,55	
  
C3	
   100	
   Divorcé	
   Non	
   KO	
   -­‐2,7	
   0,12	
  
C4	
   80	
   Célibataire	
   Non	
   KO	
   -­‐1,5	
   0,01	
  
C5	
   70	
   Marié	
   Non	
   KO	
   -­‐0,38	
   0,42	
  
C6	
   100	
   Célibataire	
   Oui	
   OK	
   -­‐0,49	
   0,21	
  
RÉGRESSION	
  LOGISTIQUE	
  –	
  LA	
  COURBE	
  ROC	
  
Client	
   Salaire	
   Statut	
   Propriét
aire	
  
OK/KO	
   C(X)	
  	
   PI	
  (Score)	
   TVP	
   TFP	
  
C1	
   100	
   Célib.	
   Oui	
   OK	
   1,99	
   0,87	
   1/3	
  =	
  0,33	
   0/3	
  =	
  0	
  
C2	
   120	
   Marié	
   Non	
   OK	
   1,3	
   0,55	
   2/3	
  =	
  0,66	
   0/3	
  =	
  0	
  
C5	
   70	
   Marié	
   Non	
   KO	
   -­‐0,38	
   0,42	
   2/3	
  =	
  0,66	
   1/3	
  =	
  0,33	
  
C6	
   100	
   Célib.	
   Oui	
   OK	
   -­‐0,49	
   0,21	
   3/3	
  =	
  1	
   1/3	
  =	
  0,	
  33	
  
C3	
   100	
   Divorc
é	
  
Non	
   KO	
   -­‐2,7	
   0,12	
   3/3	
  =	
  1	
   2/3	
  =	
  0,66	
  
C4	
   80	
   Célib.	
   Non	
   KO	
   -­‐1,5	
   0,01	
   3/3	
  =	
  1	
   3/3	
  =	
  1	
  
AUC	
  >	
  0.9	
  
AUC	
  
AUC	
  =	
  0.5	
   Pas	
  de	
  discrimina=on	
  
0.7	
  <	
  AUC	
  <	
  0.8	
   Discrimina=on	
  acceptable	
  
0.8	
  <	
  AUC	
  <	
  0.9	
   Discrimina=on	
  excellente	
  
AUC	
  >=	
  0.9	
   Discrimina=on	
  excellente	
  
0,33	
  
0,66	
  
1	
  
0,33	
   0,66	
   1	
  
TVP	
  
TFP	
  
RÉGRESSION	
  LOGISTIQUE	
  –	
  COURBE	
  RAPPEL	
  -­‐	
  PRÉCISION	
  
Client	
   Salair
e	
  
Statut	
   Propriét
aire	
  
OK/KO	
   C(X)	
  	
   PI	
  (Score)	
   Rappel	
   Précision	
  
C1	
   100	
   Célib.	
   Oui	
   OK	
   1,99	
   0,87	
   1/3	
  =	
  0,33	
   1/1	
  =	
  1	
  
C2	
   120	
   Marié	
   Non	
   OK	
   1,3	
   0,55	
   2/3	
  =	
  0,66	
   2/2	
  =	
  1	
  
C5	
   70	
   Marié	
   Non	
   KO	
   -­‐0,38	
   0,42	
   2/3	
  =	
  0,66	
   2/3	
  =	
  0.66	
  
C6	
   100	
   Célib.	
   Oui	
   OK	
   -­‐0,49	
   0,21	
   3/3	
  =	
  1	
   3	
  /	
  4	
  =	
  0.75	
  
C3	
   100	
   Divorcé	
   Non	
   KO	
   -­‐2,7	
   0,12	
   3/3	
  =	
  1	
   3	
  /	
  5	
  =	
  0.6	
  
C4	
   80	
   Célib.	
   Non	
   KO	
   -­‐1,5	
   0,01	
   3/3	
  =	
  1	
   3	
  /	
  6	
  =	
  	
  0.5	
  
0,33	
  
0,66	
  
1	
  
0,33	
   0,66	
   1	
  
Précision	
  
Rappel	
  
¢  PR	
  versus	
  ROC	
  
—  PR	
  plus	
  adaptée	
  lorsque	
  les	
  classes	
  
sont	
  très	
  déséquilibrées	
  ?	
  
MACHINE	
  À	
  VECTEUR	
  DE	
  SUPPORT	
  
m	
  
f(x)	
  =	
  y	
  =	
  	
  a0	
  +	
  a1	
  x1	
  +	
  a2	
  x2	
  +	
  a3	
  x3	
  
RÉGRESSION	
  LINÉAIRE	
  
¢  Classifica=on	
  
—  La	
  classe	
  est	
  une	
  variable	
  discrète	
  
¢  La	
  régression	
  
—  La	
  classe	
  est	
  une	
  valeur	
  con=nue	
  
¢  Dans	
  les	
  deux	
  cas	
  nous	
  sommes	
  toujours	
  dans	
  l’appren=ssage	
  
supervisé.	
  
¢  Exemple	
  
—  Quelle	
  sera	
  la	
  fréquenta=on	
  du	
  Stade	
  de	
  France	
  lors	
  de	
  la	
  prochaine	
  
coupe	
  d’Europe	
  
APPRENTISSAGE	
  NON	
  SUPERVISÉ	
  
CLUSTERING	
  –	
  PLUS	
  PROCHES	
  VOISINS	
  
¢  Les	
  données	
  en	
  entrée	
  ne	
  sont	
  pas	
  labélisées	
  
¢  Le	
  clustering	
  
—  va	
  perme5re	
  de	
  regrouper	
  les	
  données	
  similaires	
  en	
  cluster	
  
¢  Objec=fs	
  
—  Réduire	
  la	
  distance	
  entre	
  deux	
  points	
  du	
  clusters	
  
—  Méthode	
  de	
  distance	
  u=lisée	
  :	
  Distance	
  euclidienne	
  
UQlisateur	
   Age	
   Enfants	
  
U1	
   38	
   2	
  
U2	
   25	
   0	
  
U3	
   45	
   3	
  
U4	
   28	
   0	
  
Distance	
  entre	
  U1	
  et	
  U2	
  =	
  racine2(	
  (38-­‐25)2	
  +	
  (2-­‐0)2)	
  =	
  13	
  
Distance	
  entre	
  U1	
  et	
  U3	
  =	
  7	
  	
  
APPRENTISSAGE	
  NON	
  SUPERVISÉ	
  
CLUSTERING	
  –	
  PLUS	
  PROCHES	
  VOISINS	
  
CLUSTERING	
  :	
  APPRENTISSAGE	
  NON	
  SUPERVISÉ	
  
Feature/Item	
   P1	
   P2	
   P3	
   P4	
  
CPU	
   3.2	
   2.7	
   1.4	
   2.9	
  
SSD	
   1	
   1	
   0	
   0	
  
Disque	
   1To	
   512G	
   512G	
   1To	
  
RAM	
   32Go	
   16Go	
   8Go	
   64G	
  
¢  Objec=f	
  
—  Calculer	
  la	
  distance	
  entre	
  les	
  items	
  en	
  pondérant	
  les	
  valeurs	
  des	
  features	
  
—  Distance	
  entre	
  deux	
  documents	
  permet	
  d’iden=fier	
  des	
  plagiats	
  par	
  exemple	
  
COLLABORATIVE	
  FILTERING	
  
ALTERNATING	
  LEAST	
  SQUARES	
  
SW1	
   SW2	
   V1	
   V2	
  
U1	
   4	
   4	
  
U2	
   5	
   5	
  
U3	
   1	
  
U1000	
   4	
   1	
  
¢  Objec=f	
  
—  Bâ=r	
  une	
  matrice	
  de	
  rang	
  inférieur	
  qui	
  perme5e	
  de	
  faire	
  de	
  
la	
  recommanda=on	
  	
  
COLLABORATIVE	
  FILTERING	
  
ALTERNATING	
  LEAST	
  SQUARES	
  
COLLABORATIVE	
  FILTERING	
  ALS	
  
Référence	
  :	
  Amplab	
  
DÉMARCHE	
  
¢  Choix	
  des	
  données	
  
—  Le	
  choix	
  des	
  données	
  de	
  training	
  et	
  de	
  tests	
  s’appuie	
  sur	
  la	
  
connaissance	
  mé=er	
  
¢  Choix	
  des	
  critères	
  
—  Le	
  choix	
  des	
  critères	
  implique	
  également	
  de	
  la	
  connaissance	
  mé=er	
  
¢  Choix	
  des	
  algorithmes	
  
—  Classifica=on	
  ?	
  Régression	
  ?	
  
—  Label	
  ou	
  non	
  ou	
  mixte	
  ?	
  
—  Propor=on	
  de	
  classes	
  fortement	
  asymétriques	
  
—  L’objec=f	
  est	
  de	
  prédire	
  une	
  probabilité	
  ?	
  topN	
  ?	
  
¢  Tuning	
  des	
  paramètres	
  des	
  algorithmes	
  en	
  testant	
  
¢  Tout	
  automa=ser	
  pour	
  avoir	
  un	
  historique	
  précis	
  des	
  
résultats	
  obtenus	
  
SYNTHÈSE	
  
¢  Appren=ssage	
  supervisé	
  
—  Classifica=on	
  
¢  Arbre	
  de	
  décision	
  
¢  Classifica=on	
  Bayésienne	
  naïve	
  
¢  Régression	
  logis=que	
  
¢  Support	
  à	
  vecteur	
  de	
  machine	
  
—  Régression	
  
¢  Régression	
  linéaire	
  
—  Collabora=ve	
  Filtering	
  
¢  Alterna=ng	
  Least	
  Squares	
  
¢  Appren=ssage	
  non	
  supervisé	
  
—  Clustering	
  
¢  K-­‐plus	
  proches	
  voisins	
  

Más contenido relacionado

Destacado

Les modèles NoSQL
Les modèles NoSQLLes modèles NoSQL
Les modèles NoSQLebiznext
 
De Maven à SBT ScalaIO 2013
De Maven à SBT ScalaIO 2013De Maven à SBT ScalaIO 2013
De Maven à SBT ScalaIO 2013Stephane Manciot
 
Scala io2013 : Our journey from UML/MDD to Scala macros
Scala io2013 : Our journey from UML/MDD to Scala macrosScala io2013 : Our journey from UML/MDD to Scala macros
Scala io2013 : Our journey from UML/MDD to Scala macrosebiznext
 
Machine learning, deep learning et search : à quand ces innovations dans nos ...
Machine learning, deep learning et search : à quand ces innovations dans nos ...Machine learning, deep learning et search : à quand ces innovations dans nos ...
Machine learning, deep learning et search : à quand ces innovations dans nos ...Antidot
 
Mix it2014 - Machine Learning et Régulation Numérique
Mix it2014 - Machine Learning et Régulation NumériqueMix it2014 - Machine Learning et Régulation Numérique
Mix it2014 - Machine Learning et Régulation NumériqueDidier Girard
 
Machine learning pour tous
Machine learning pour tousMachine learning pour tous
Machine learning pour tousDamien Seguy
 
Data science a machine learning tour (french)
Data science a machine learning tour (french)Data science a machine learning tour (french)
Data science a machine learning tour (french)Franck Bardol
 
EBIZNEXT-RIAK
EBIZNEXT-RIAKEBIZNEXT-RIAK
EBIZNEXT-RIAKebiznext
 
AzureML TechTalk
AzureML TechTalkAzureML TechTalk
AzureML TechTalkUdaya Kumar
 
Fundamentals of Managing the Data Center Life Cycle for Owners
Fundamentals of Managing the Data Center Life Cycle for OwnersFundamentals of Managing the Data Center Life Cycle for Owners
Fundamentals of Managing the Data Center Life Cycle for OwnersSchneider Electric
 
Data Mining and Machine Learning
Data Mining and Machine LearningData Mining and Machine Learning
Data Mining and Machine LearningJakub Ruzicka
 
Modélisation de la dynamique d’occupation du sol par réseaux de neurones
Modélisation de la dynamique d’occupation du sol par réseaux de neuronesModélisation de la dynamique d’occupation du sol par réseaux de neurones
Modélisation de la dynamique d’occupation du sol par réseaux de neuronestuxette
 

Destacado (15)

Les modèles NoSQL
Les modèles NoSQLLes modèles NoSQL
Les modèles NoSQL
 
De Maven à SBT ScalaIO 2013
De Maven à SBT ScalaIO 2013De Maven à SBT ScalaIO 2013
De Maven à SBT ScalaIO 2013
 
Scala io2013 : Our journey from UML/MDD to Scala macros
Scala io2013 : Our journey from UML/MDD to Scala macrosScala io2013 : Our journey from UML/MDD to Scala macros
Scala io2013 : Our journey from UML/MDD to Scala macros
 
XebiConFr15 - Les algorithmes du machine learning
XebiConFr15 - Les algorithmes du machine learningXebiConFr15 - Les algorithmes du machine learning
XebiConFr15 - Les algorithmes du machine learning
 
Machine learning, deep learning et search : à quand ces innovations dans nos ...
Machine learning, deep learning et search : à quand ces innovations dans nos ...Machine learning, deep learning et search : à quand ces innovations dans nos ...
Machine learning, deep learning et search : à quand ces innovations dans nos ...
 
Mix it2014 - Machine Learning et Régulation Numérique
Mix it2014 - Machine Learning et Régulation NumériqueMix it2014 - Machine Learning et Régulation Numérique
Mix it2014 - Machine Learning et Régulation Numérique
 
Apache Spark の紹介(前半:Sparkのキホン)
Apache Spark の紹介(前半:Sparkのキホン)Apache Spark の紹介(前半:Sparkのキホン)
Apache Spark の紹介(前半:Sparkのキホン)
 
Machine learning pour tous
Machine learning pour tousMachine learning pour tous
Machine learning pour tous
 
Data science a machine learning tour (french)
Data science a machine learning tour (french)Data science a machine learning tour (french)
Data science a machine learning tour (french)
 
EBIZNEXT-RIAK
EBIZNEXT-RIAKEBIZNEXT-RIAK
EBIZNEXT-RIAK
 
AzureML TechTalk
AzureML TechTalkAzureML TechTalk
AzureML TechTalk
 
JahiaOne - Performance Tuning
JahiaOne - Performance TuningJahiaOne - Performance Tuning
JahiaOne - Performance Tuning
 
Fundamentals of Managing the Data Center Life Cycle for Owners
Fundamentals of Managing the Data Center Life Cycle for OwnersFundamentals of Managing the Data Center Life Cycle for Owners
Fundamentals of Managing the Data Center Life Cycle for Owners
 
Data Mining and Machine Learning
Data Mining and Machine LearningData Mining and Machine Learning
Data Mining and Machine Learning
 
Modélisation de la dynamique d’occupation du sol par réseaux de neurones
Modélisation de la dynamique d’occupation du sol par réseaux de neuronesModélisation de la dynamique d’occupation du sol par réseaux de neurones
Modélisation de la dynamique d’occupation du sol par réseaux de neurones
 

Último

analyse husseindey AMIROUCHE Abdeslem.pptx
analyse husseindey AMIROUCHE Abdeslem.pptxanalyse husseindey AMIROUCHE Abdeslem.pptx
analyse husseindey AMIROUCHE Abdeslem.pptxHadJer61
 
Bidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from TransformersBidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from Transformersbahija babzine
 
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel AttalELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attalcontact Elabe
 
To_understand_transformers_together presentation
To_understand_transformers_together presentationTo_understand_transformers_together presentation
To_understand_transformers_together presentationbahija babzine
 
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...France Travail
 
Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023France Travail
 

Último (6)

analyse husseindey AMIROUCHE Abdeslem.pptx
analyse husseindey AMIROUCHE Abdeslem.pptxanalyse husseindey AMIROUCHE Abdeslem.pptx
analyse husseindey AMIROUCHE Abdeslem.pptx
 
Bidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from TransformersBidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from Transformers
 
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel AttalELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
 
To_understand_transformers_together presentation
To_understand_transformers_together presentationTo_understand_transformers_together presentation
To_understand_transformers_together presentation
 
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
 
Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023
 

Machine Learning - Spark / MLlib

  • 1. MACHINE  LEARNING   INTRODUCTION  À  MLLIB   Hayssam  Saleh  
  • 2. ANALYTICS   ¢  La  découverte  de  pa5erns  dans  les  données   ¢  S’appuie  sur  l’analyse  et  l’agréga=on  de  datasets   conséquents   ¢  Pour  extraire  des  faits  du  passé   ¢  Prédire  des  tendances   ¢  En  u=lisant  le  machine  learning  
  • 3. CAS  D’UTILISATION   ¢  Recommanda=on   ¢  Classifica=on  de  contenu  en  groupes  prédéfinis   ¢  Regroupement  de  contenus  similaires   ¢  Iden=fica=on  de  topics  clefs   ¢  Détec=on  de  fraude  et  d’anomalies   ¢  Ranking  
  • 4. DE  LA  DONNÉE  À  LA  CONNAISSANCE   ¢  De  la  donnée  à     ¢  la  connaissance   —  Dois-­‐je  accorder  ce  crédit  à  ce  client  sur  la  base  de  ses   bilans  ?   —  Ce  film  est-­‐il  un  film  d’humour  ?   —  Ce  mail  est-­‐il  un  spam  ?   Données   Hypothèses   ML   Connaissance  
  • 5. TYPES  D’APPRENTISSAGE   ¢  Appren=ssage  Supervisé   —  Classifica=on   ¢  Le  résultat  est  un  valeur  parmi  N  sans  ordre  quelconque  et  dans  un   ensemble  prédéfini   ¢  Exemple  :  Ce  film  est-­‐il  un  film  d’horreur  ou  un  film  d’ac=ons  ou  un   film  roman=que   ¢  Prédire  le  label  de  nouvelles  données  à  par=r  des  labels  des  données   existantes   —  Régression   ¢  Le  résultat  est  une  valeur  dans  un  ensemble  de  valeurs  con=nues   ¢  Exemple  :  Quel  est  le  prix  prévisionnel  de  cet  appartement  dans  les  6   prochains  mois  ?   ¢  Appren=ssage  non  supervisé   —  Clustering     ¢  Les  données  en  entrée  de  l’algorithme  d’appren=ssage  ne  sont  pas   labellisées   ¢  Grouper  les  données  en  fonc=on  de  leur  similarité  
  • 6. APPRENTISSAGE  SUPERVISÉ   ¢  Prédire  les  labels  de  données  futures  à  par=r  de  labels   de  données  existantes   Salaire   Statut   Propriétaire   OK/KO   100   Célibataire   Oui   OK   120   Marié   Non   OK   100   Divorcé   Non   KO   80   Célibataire   Non   KO   70   Marié   Non   KO   100   Célibataire   Oui   OK   x   y   Con=nue   Catégorie   Binaire   Label   x1   x2   x3  
  • 7. DÉMARCHE   Echan=llon  labélisé   Sous-­‐Echan=llon   labélisé   Sous-­‐Echan=llon  dont   le  label  a  été  occulté   Algorithme   d’appren=ssage   Modèle   Performance   ¢  Le  modèle  génère  les  prédic=ons   ¢  Le  modèle  est  corrigé  lorsque  les  prédic=ons  sont  erronées   ¢  Le  modèle  est  considéré  sa=sfaisant  lorsque  le  niveau  de  précision  est  considéré  comme   étant  sa=sfaisant   80%   20%   Training  set   Test  set  
  • 9.
  • 10. LE  MEILLEUR  ARBRE  DE  DÉCISION   OK   3   KO   3   Impureté  =  0,5   Statut   Statut  ?   Marié   Célibataire  /  Divorcé   OK   1   2   KO   1   2   Gini  (marié)  =  1-­‐  ((1/2)2  +  (1/2)2)  =  0,5   Gini(Cél/Div)  =  1-­‐((2/4)2  +  (2/4)2)  =  0,5   Impureté    =  ((1+1)/6)  *  Gini(marié)  +  ((2+2)/6)  *  Gini(Cél/Div)  =  0,5   1   1   2   2   Marié   Célibataire  /  Divorcé   U=lisa=on  de  l’index  Gini   OK   KO   OK   KO  
  • 11. LE  MEILLEUR  ARBRE  DE  DÉCISION   Propriétaire  ?   Oui   Non   OK   2   1   KO   0   3   Gini  (Oui)  =  1-­‐  ((2/2)2  +  (0/2)2)  =  0   Gini(Non)  =  1-­‐((1/4)2  +  (3/4)2)  =  0,375   Impureté    =  ((2+0)/6)  *  Gini(Oui)  +  ((1+3)/6)  *  Gini(Non)  =  0,25   Marge  d’erreur   1  -­‐  max(2/2,  0/2)  =  0   1  –  max(1/4,  3/4)  =  0,25   OK   3   KO   3   Impureté  =  0,5   Propriétaire   2   0   1   3   Oui   Non   U=lisa=on  de  l’index  Gini  
  • 12. LE  MEILLEUR  ARBRE  DE  DÉCISION     Propriétaire  ?   Oui   Non   OK   2   1   KO   0   3   Entropie(Oui)  =  -­‐(2/2)log2  (2/2)  –  (0/2)log2(0/2)  =  0   Entropie(Non)  =  -­‐(1/4)log2(1/4)  –  (3/4)log2(3/4)  =  0,5  +  0,31  =  0,81   Gain=  ((2+0)/6)  *  Entropie(Oui)  +  ((1+3)/6)  *  Entropie(Non)  =  0,4   Marge  d’erreur   1  -­‐  max(2/2,  0/2)  =  0   1  –  max(1/4,  3/4)  =  0,25   OK   3   KO   3   Impureté  =  0,5   Propriétaire   2   0   1   3   Oui   Non   U=lisa=on  de  l’entropie  
  • 13. ARBRE  DE  DÉCISION   ¢  Comment  est  construit  l’arbre  de  décision   —  Recherche  de  la  meilleure  condi=on  de  segmenta=on   ¢  En  s’appuyant  sur  l’impureté   —  Qu’est  ce  que  la  mesure  d’impureté   ¢  Mesure  la  qualité  de  la  sépara=on   ¢  La  segmenta=on  s’arrête  lorsque  :   —  Tous  les  échan=llons  d’un  nœud  appar=ennent  à  la  même  classe   —  Il  n’y  a  plus  de  nouveaux  a5ributs   ¢  Classifica=on  à  la  majorité   —  Il  n’y  a  plus  d’échan=llons  à  classer     ¢  Quelle  technique  Gini  ou  Entropie  ?   —  La  li5érature  :   ¢  Gini  pour  les  a5ributs  con=nus,  l’entropie  pour  les  catégories   ¢  L’entropie  moins  performante  ?   —  Mon  avis  :   ¢  Essayer  les  deux  et  choisir  celle  qui  fonc=onne  le  mieux.  
  • 14.
  • 15. CLASSIFICATION  NAÏVE  BAYÉSIENNE   ¢  Théorème  de  Bayes   —  p(y|x)  =      p(x|y)  p(y)   —                                                         p(x)   ¢  p(y|x)     —  Probabilité  que  x  soit  de  la  classe  y   ¢  p(x|y)   —  Quelle  est  dans  l’échan=llon  labellisé,  la  probabilité  que  x  soit  dans  la  classe  y   ¢  p(y)   ¢ Quelle  est  dans  l’échan=llon  labellisé,  la  probabilité  d’occurrence  de  la  classe  y   ¢  p(x)  =     ¢ quelle  est  dans  l’échan=llon  labellisé,  la  probabilité  d’occurrence  de  x  
  • 16.
  • 17. CLASSIFICATION  NAÏVE  BAYÉSIENNE   Statut   OK/KO   Célibataire   OK   Marié   OK   Divorcé   KO   Célibataire   KO   Marié   KO   Célibataire   OK   P(OK|Célibataire)  =    p(Célibataire|OK)  p(OK)                p(Célibataire)   P(OK|oui)  =    2/3  *  3/6     =  0,67              3/6  
  • 18. CLASSIFICATION  NAÏVE  BAYÉSIENNE   Client   Salaire   Statut   Propriétaire   OK/KO   C1   100  =  2   Célibataire   Oui   OK   C2   120  =  2   Marié   Non   OK   C3   100  =  2   Divorcé   Non   KO   C4   80  =  1   Célibataire   Non   KO   C5   70  =  1   Marié   Non   KO   C6   100  =  2   Célibataire   Oui   OK   C7   90  =  1   Marié   Non   p(x|y)  =  p(x1|y)  p(x2|y)  p(x3|y)   p(C7|OK)  =  p(1|OK)  p(Marié|OK)  p(Non|OK)  =  0  *    0.5  *  0.25    
  • 19.
  • 20. RÉGRESSION  LOGISTIQUE   ¢  Consiste  à  donner  un  poids  à  chaque  prédicteur.     ¢  Pour  obtenir  un  rapport  de  chances.   ln   P(y  =  1  |  x)   P(y  =  0  |  x)   =   a0  +  a1  x1  +  a2  x2  +  a3  x3   ln   pi(x)   1  –  pi(x)   =   a0  +  a1  x1  +  a2  x2  +  a3  x3   pi(x)  =     e(a0  +  a1  x1  +  a2  x2  +  a3  x3)   1  -­‐  e(a0  +  a1  x1  +  a2  x2  +  a3  x3)   e(a0  +  a1  x1  +  a2  x2  +  a3  x3)  
  • 21.
  • 22. RÉGRESSION  LOGISTIQUE   Client   Salaire   Statut   Propriétaire   OK/KO   C(X)     PI  (Score)   C1   100   Célibataire   Oui   OK   1,99   0,87   C2   120   Marié   Non   OK   1,3   0,55   C3   100   Divorcé   Non   KO   -­‐2,7   0,12   C4   80   Célibataire   Non   KO   -­‐1,5   0,01   C5   70   Marié   Non   KO   -­‐0,38   0,42   C6   100   Célibataire   Oui   OK   -­‐0,49   0,21  
  • 23. RÉGRESSION  LOGISTIQUE  –  LA  COURBE  ROC   Client   Salaire   Statut   Propriét aire   OK/KO   C(X)     PI  (Score)   TVP   TFP   C1   100   Célib.   Oui   OK   1,99   0,87   1/3  =  0,33   0/3  =  0   C2   120   Marié   Non   OK   1,3   0,55   2/3  =  0,66   0/3  =  0   C5   70   Marié   Non   KO   -­‐0,38   0,42   2/3  =  0,66   1/3  =  0,33   C6   100   Célib.   Oui   OK   -­‐0,49   0,21   3/3  =  1   1/3  =  0,  33   C3   100   Divorc é   Non   KO   -­‐2,7   0,12   3/3  =  1   2/3  =  0,66   C4   80   Célib.   Non   KO   -­‐1,5   0,01   3/3  =  1   3/3  =  1   AUC  >  0.9   AUC   AUC  =  0.5   Pas  de  discrimina=on   0.7  <  AUC  <  0.8   Discrimina=on  acceptable   0.8  <  AUC  <  0.9   Discrimina=on  excellente   AUC  >=  0.9   Discrimina=on  excellente   0,33   0,66   1   0,33   0,66   1   TVP   TFP  
  • 24. RÉGRESSION  LOGISTIQUE  –  COURBE  RAPPEL  -­‐  PRÉCISION   Client   Salair e   Statut   Propriét aire   OK/KO   C(X)     PI  (Score)   Rappel   Précision   C1   100   Célib.   Oui   OK   1,99   0,87   1/3  =  0,33   1/1  =  1   C2   120   Marié   Non   OK   1,3   0,55   2/3  =  0,66   2/2  =  1   C5   70   Marié   Non   KO   -­‐0,38   0,42   2/3  =  0,66   2/3  =  0.66   C6   100   Célib.   Oui   OK   -­‐0,49   0,21   3/3  =  1   3  /  4  =  0.75   C3   100   Divorcé   Non   KO   -­‐2,7   0,12   3/3  =  1   3  /  5  =  0.6   C4   80   Célib.   Non   KO   -­‐1,5   0,01   3/3  =  1   3  /  6  =    0.5   0,33   0,66   1   0,33   0,66   1   Précision   Rappel   ¢  PR  versus  ROC   —  PR  plus  adaptée  lorsque  les  classes   sont  très  déséquilibrées  ?  
  • 25.
  • 26. MACHINE  À  VECTEUR  DE  SUPPORT   m   f(x)  =  y  =    a0  +  a1  x1  +  a2  x2  +  a3  x3  
  • 27. RÉGRESSION  LINÉAIRE   ¢  Classifica=on   —  La  classe  est  une  variable  discrète   ¢  La  régression   —  La  classe  est  une  valeur  con=nue   ¢  Dans  les  deux  cas  nous  sommes  toujours  dans  l’appren=ssage   supervisé.   ¢  Exemple   —  Quelle  sera  la  fréquenta=on  du  Stade  de  France  lors  de  la  prochaine   coupe  d’Europe  
  • 28.
  • 29. APPRENTISSAGE  NON  SUPERVISÉ   CLUSTERING  –  PLUS  PROCHES  VOISINS   ¢  Les  données  en  entrée  ne  sont  pas  labélisées   ¢  Le  clustering   —  va  perme5re  de  regrouper  les  données  similaires  en  cluster   ¢  Objec=fs   —  Réduire  la  distance  entre  deux  points  du  clusters   —  Méthode  de  distance  u=lisée  :  Distance  euclidienne   UQlisateur   Age   Enfants   U1   38   2   U2   25   0   U3   45   3   U4   28   0   Distance  entre  U1  et  U2  =  racine2(  (38-­‐25)2  +  (2-­‐0)2)  =  13   Distance  entre  U1  et  U3  =  7    
  • 30. APPRENTISSAGE  NON  SUPERVISÉ   CLUSTERING  –  PLUS  PROCHES  VOISINS  
  • 31. CLUSTERING  :  APPRENTISSAGE  NON  SUPERVISÉ   Feature/Item   P1   P2   P3   P4   CPU   3.2   2.7   1.4   2.9   SSD   1   1   0   0   Disque   1To   512G   512G   1To   RAM   32Go   16Go   8Go   64G   ¢  Objec=f   —  Calculer  la  distance  entre  les  items  en  pondérant  les  valeurs  des  features   —  Distance  entre  deux  documents  permet  d’iden=fier  des  plagiats  par  exemple  
  • 32.
  • 33. COLLABORATIVE  FILTERING   ALTERNATING  LEAST  SQUARES   SW1   SW2   V1   V2   U1   4   4   U2   5   5   U3   1   U1000   4   1   ¢  Objec=f   —  Bâ=r  une  matrice  de  rang  inférieur  qui  perme5e  de  faire  de   la  recommanda=on    
  • 34.
  • 36. COLLABORATIVE  FILTERING  ALS   Référence  :  Amplab  
  • 37.
  • 38. DÉMARCHE   ¢  Choix  des  données   —  Le  choix  des  données  de  training  et  de  tests  s’appuie  sur  la   connaissance  mé=er   ¢  Choix  des  critères   —  Le  choix  des  critères  implique  également  de  la  connaissance  mé=er   ¢  Choix  des  algorithmes   —  Classifica=on  ?  Régression  ?   —  Label  ou  non  ou  mixte  ?   —  Propor=on  de  classes  fortement  asymétriques   —  L’objec=f  est  de  prédire  une  probabilité  ?  topN  ?   ¢  Tuning  des  paramètres  des  algorithmes  en  testant   ¢  Tout  automa=ser  pour  avoir  un  historique  précis  des   résultats  obtenus  
  • 39. SYNTHÈSE   ¢  Appren=ssage  supervisé   —  Classifica=on   ¢  Arbre  de  décision   ¢  Classifica=on  Bayésienne  naïve   ¢  Régression  logis=que   ¢  Support  à  vecteur  de  machine   —  Régression   ¢  Régression  linéaire   —  Collabora=ve  Filtering   ¢  Alterna=ng  Least  Squares   ¢  Appren=ssage  non  supervisé   —  Clustering   ¢  K-­‐plus  proches  voisins