Salut les copains.

Aujourd'hui, on va parler de régression logistique. Un modèle de ML que tout le monde connait.

Mais je vais faire une approche assez originale.

Ready?

🔽🔽Thread

#datascience #ia #MachineLearning
1/ Petit rappel : la régression logistique permet de faire de la classification entre 2 catégories.

C'est un modèle performant et TRES TRES utilisé à travers le monde.
2/ Exemple de cas d'usage :

> une banque donne un prêt (ou pas)

> le médecin détecte cette maladie (ou pas)

> le site ecommerce propose ce produit au client (ou pas)

> le client se désabonne du service (ou pas)
3/ On trouve la régression logistique absolument dans tous les domaines

Son efficacité a largement fait ses preuves.

C'est un des modèles les plus utilisés, encore maintenant.

Il comporte de nombreux avantages (besoin de peu de données, interprétabilité, rapidité ...)
4/ Et ce que je n'ai pas encore dit, c'est qu'il s'agit d'apprentissage supervisé

c'est à dire qu'il faut des données exemple pour construire le modèle

Ces données exemple sont labellisées avec l'une des deux catégories

Mais ca, vous le saviez déjà !
5/ Une remarque sémantique

Dans le nom du modèle, on parle de "régression", alors qu'il sert à faire de la "classification"

C'est pas un peu fourbe ça, car régression veut dire prédiction de valeur, et non classification !
6/ En fait, le modèle fait de la régression de "probabilité" d'appartenir à l'une des deux classes

Et en fonction de cette probabilité et d'un seuil fixé, (classiquement 50%), il sera classifié
7/ On parle aussi de "logistique"

Mais ça n'a rien à voir avec les entrepôts d'Amazon !

C'est juste qu'une fonction spéciale, appelée fonction logistique (ou fonction sigmoïde), qui est utilisée pour évaluer le modèle

C'est la fonction d'activation du modèle
8/ Comment marche le modèle de régression logistique en mode inférence

Le mode inférence, c'est le mode classification, après avoir appris à partir des données d'entraînement

C'est relativement simple !

Et c'est ce qui fait la force de ce modèle
9/ Illustrons :

En entrée, on a les n caractéristiques que l'on veut évaluer

Par exemple, dans le cas du prêt bancaire :
l'âge du client, son salaire, ses dettes, son statut marital, ...

Ce seront des valeurs numériques, normalisées (elles sont toutes sur une même échelle)
10/ Disons pour simplifier que les données d'entrée n'ont que 10 caractéristiques

En face de ces 10 nombres en entrée, le modèle utilise 10 coefficients

Ces coefficient ont été déterminés pendant la phase d'apprentissage.

Et il y aura un 11 coefficient qui est le biais
11/ Appelons les caractéristiques Clients, les xi

et les coefficients du modèle les wi

(i allant de 1 à 10)

N'oublions pas w0, qui est le biais du modèle
12/ Pour l'inférence, le modèle multiplie simplement chaque xi avec le wi du modèle correspondant

On obtient alors 10 nombres différents qui sont ensuite additionnés

Et on ajoute également le biais

Pour obtenir un seul nombre final, qui peut être positif ou négatif
13/ Ensuite le nombre obtenu est passé dans la fonction logistique, qui a cette tête là.

Elle est aussi appelée fonction "sigmoide"
14/ Pas de panique si vous ne connaissez pas cette fonction sigmoide

Le "e" qui apparaît au dénominateur, c'est la fonction exponentielle

Et si on regarde la variation de la fonction, elle tend
> vers 0 quand on va vers - infini
> vers 1 quand on va vers + infini
15/ Comme on a un résultat borné entre 0 et 1, on peut l'interpréter comme un pourcentage.

Et généralement, ce qui est fait:

- si le résultat est supérieur à 0.5, c'est la classe 1 qui est choisie
- sinon c'est l'autre catégorie
16/ Bon, là on a fait une revue assez globale de ce qu'est la régression logistique

Mais je vous avais promis une approche originale, vous vous en rappelez ?

je vous en parle dès maintenant
17/ Plutôt qu'une approche avec des équations un peu sèches, faisons plutôt une approche géométrique pour bien comprendre ce qu'il se passe

En passant, l'aide de la géométrie m'a beaucoup servi à comprendre les concepts compliqués de Datascience ...
18/ Pour pouvoir bien visualiser ce qui se passe, on va se contenter d'un modèle a 2 variables, pour le représenter dans le plan

Mais un modèle à 10, ou même 100 variables, voire beaucoup plus, cela sera exactement les mêmes principes
19/ Supposons qu'on a nos données comme ça, avec deux populations bien distinctes, que l'on représente suivant leur deux caractéristiques x1 et x2
20/ Ce que fait la régression logistique pendant la phase d'apprentissage, c'est simplement de déterminer la droite qui sépare le mieux les deux populations de points

On verra comment marche cette phase d'apprentissage dans un autre tweet
21/ Ensuite pendant la phase d'inférence, quand un nouveau point doit être évalué et classifié, on va juste calculer la distance qui le sépare de cette droite.

Sur le schéma, ce sont les distances d1 et d2
22/ Et plus cette distance qui sépare le point de la droite est grande (positive ou négative), plus les chances que le point soit dans une classe sont grandes

Inversement, plus la frontière est proche du point, et plus il y a d'incertitude
23/ Autrement dit, plus le point est proche de la droite, et moins cette probabilité sera tranchée

On sera dans une zone d'incertitude (probabilité proche de 0.5)

Et si le point est sur la droite, on sera en pleine incertitude
24/ Allons plus loin dans l'interprétation (et c'est là que cela devient marrant)

Vous vous rappelez des coefficients wi du modèle dont on a parlé un peu avant ?

Dans le cas de notre modèle à 2 variables, on aura donc w0, w1 et w2
25/ On peut donner un sens géométrique à ces coefficients

En fait ces coefficients définissent la droite qui sépare les deux populations de points

la droite est définie par l'équation

w1.x + w2.y + w0 = 0
26/ Simple remarque en passant

si on a un point avec des caractéristiques Xa et Ya telles que w1.Xa + w2.Ya + w0 = 0

alors le point tombe sur la droite

et la fonction sigmoide vaudra 0.5 = (1/(1+1)) car exp(0)=1

Pleine indétermination pour ce point
27/ Maintenant, prenons un point de coordonnées Xb et Yb qui n'appartient pas à cette droite.

Ce qui est magique c'est que la somme

w1.Xb + w2.Yb + w0

représente exactement la distance entre le point et la droite
28/ Attention je rappelle que la distance peut être positive ou négative, suivant la position du point par rapport à la droite
29/ Pour montrer cela, il faut se rappeler d'un petit peu de maths apprises au lycée.

Et pour commencer, si on a une droite d'équation w1.x + w2.y + w0 = 0

alors le vecteur n de coordonnées (w1,w2) est normal à cette droite
30/ La démonstration est simple, je vous la donnerai plus tard, c'est promis
31/ Et donc, quand on évalue la somme

w1.Xb + w2.Yb + w0

cela revient à faire le produit scalaire entre

> le vecteur normal (w1, w2) de la droite
> et tout vecteur entre un point de la droite et le point B.
32/ Cette quantité, cette somme dont on parle depuis tout à l'heure, c'est donc juste un produit scalaire entre deux vecteurs

l'un étant normal à la droite
l'autre étant dépendant du point en question

Cette quantité représente aussi la distance entre le point et la droite
33/ Encore une fois, souvenez vous de vos cours de maths au lycée, sur le produit scalaire entre deux vecteurs
34/ La, on l'a fait dans le cas d'un modèle à deux paramètres

mais c'est tout à fait généralisable à 10, 100, 300 ... paramètres

A la place d'une droite qui sépare les 2 populations, on parlera d'hyperplan
35/ Donc en synthèse, quand vous verrez une régression logistique, souvenez vous que :
36/ Les valeurs des coefficients du modèle wi déterminent l'équation de la droite (hyperplan) qui sépare le mieux les deux classes

w1.x + w2.y + w0 = 0
37/ Les valeurs des coefficients du modèle déterminent également le vecteur normal à cette droite

Coordonnées du vecteur normal : (w1, w2)
38/ Et l'évaluation w0 + w1.x1 + ... + wn.xn correspond à la distance entre le point et cette droite

C'est simplement un produit scalaire entre 2 vecteurs

Et suivant la valeur de cette distance, on sait dans quel camp se trouve le point, avec plus ou moins de certitude
39/ Cette interprétation géométrique de la régression logistique, je ne l'avais pas saisie tout de suite, quand je l'ai apprise

Je trouve qu'elle apporte beaucoup à la compréhension du mécanisme de régression logistique

J'espère qu'elle vous a plus autant qu'à moi !
40/ Dans un prochain tweet, on verra comment le modèle apprend ces paramètres (c'est à dire l'équation de la droite)

Merci pour votre lecture et à très vite !

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Objectif Data Science - avec Vincent

Objectif Data Science - avec Vincent Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @ObjectifDataSci

21 Apr
1. Hello les copains.

Aujourd'hui on va parler de réseaux de neurones, et en particulier de réseaux de neurones à convolutions.

On va se concentrer surtout sur les filtres à convolutions qui constituent les paramètres d'un #CNN

🔽🔽Thread

#datascience #machinelearning #ia
2. Ce tweet sera l'occasion de revoir les grands principes qu'il y a derrière un tel réseau de neurones.

C'est important de comprendre les rouages qu'il y a derrière tout cela.
3. Pour commencer, on peut dire que "l'hiver de l'IA" s'est terminé grâce aux progrès spectaculaires de cette dernière décennie permis grâce aux CNN.

C'est grâce à leur performance que le monde s'est de nouveau intéressé à ces technologies
Read 39 tweets
20 Apr
Hello,

pour vous y retrouver plus facilement, j'ai rangé ici les Tweets qui donnent accès aux différents threads publiés.

Au programme : tout plein de choses sur le #MachineLearning, la #data, la #datascience, l'#IA et la programmation #Python.

Merci pour vos Like ou vos RT !
La régression Logistique : une autre façon de bien comprendre comment cela fonctionne.

Read 5 tweets
20 Apr
1. Salut les copains

Aujourd'hui on va parler d'un modèle tellement important dans le Machine Learning - Les arbres binaires !

On va voir comment ils sont construits et on va voir également une interprétation géométrique

#datascience #ia #MachineLearning
2. Pour commencer, les arbres binaires sont vieux comme le Machine Learning

C'est un type de modèle qui a constamment évolué, et qui est à la base de modèles phare du moment

Comme les #RandomForest, les #GradientBoosting comme #AdaBoost, #CatBoost, #XGBoost, ...
3. Promis, on verra chacun de ces modèles dans le détail dans des messages dédiés
Read 37 tweets
19 Apr
Salut les copains

Je suis tout nouveau sur Twitter, et j'ai créé ce compte pour vous raconter un peu mes découvertes sur la Data Science.

Ca fait tout drôle ...

🔽🔽 Thread

#datascience #machinelearning #ia
1/ J'ai la quarantaine bien passée et j'ai une longue expérience dans l'IT.

Mon parcours en quelques mots : développeurs d'application d'Entreprises, chef de projet, DSI, puis ensuite une longue expérience de conseil en management ou j'ai aidé mes clients à gérer leurs projets.
2/ Dans cette expérience, pas trop de sujets concernant la Data Science.

Et puis voilà que dans ma boîte, il y a maintenant 5 ans, un petit pôle de data scientistes s'est créé.
Read 20 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!