Partage
  • Partager sur Facebook
  • Partager sur Twitter

Proba : factorisation d'une distribution jointe.

19 février 2019 à 22:52:36

Bonjour,

Est-ce que quelqu'un aurait des précisions sur ce que signifie la "factorisation d'une distribution jointe" ?

j'essais de comprendre l'inférence bayésienne, et cette question m'est venue en lisant la these suivante :

https://tel.archives-ouvertes.fr/tel-00267643/file/manuscript.pdf

page 23, le paragraphe suivant :

"Mf: Choix des facteurs. M est un modèle probabiliste représenté par une distribution jointe sur les variables de Mv et factorisée selon les indépendances de Mi. Chacun de ces facteurs est une distribution de probabilités conditionnelle locale qu’il faut spécifier. Certaines de ces distributions ne seront conditionnées que par Π: ce sont les distributions a priori."

-
Edité par adrien050356 19 février 2019 à 22:52:50

  • Partager sur Facebook
  • Partager sur Twitter
20 février 2019 à 8:41:42

il me semble qu'il te suffit d'aller un peu plus loin dans ton document pour trouver l'explication ... page 24 en fait !
formule de factorisation 1.14 et 1.15.
C'est une généralisation de la factorisation basique de probabilité de variables indépendantes  aux hypothèses d'indépendance conditionnelle pour un réseau bayésien vérifiant la condition de Markov ( chaque variable indépendante de ses non-descendantes)
A moins que ta demande de "précisions" aille au delà de la définition  qui est rappelée sinon si ce qui est dit là t'était étranger, je ne vois pas très bien comment on peut bien comprendre cette thèse... 

  • Partager sur Facebook
  • Partager sur Twitter
tout ce qui est simple est faux, tout ce qui est compliqué est inutilisable
20 février 2019 à 13:03:08

en effet, j'ai pas le niveau pour comprendre toute cette thèse. Il y a des notions de probabilité, et plus encore, qu'on a pas vue en école d'ingénieur. En revanche, j'ai tout de même envie de comprendre l'inférence bayésienne avec un certain formalisme, et des notions tel la factorisation d'une distribution jointe ne me semble pas inabordable.

-
Edité par adrien050356 20 février 2019 à 13:03:59

  • Partager sur Facebook
  • Partager sur Twitter
20 février 2019 à 19:47:46

Bonjour,

On trouve ce modèle M dans les réseaux de neurones. La factorisation d'une distribution jointe c'est un produit de plusieurs variables - en l'occurrence les variables observées (les données que l'on injecte dans le réseau pour obtenir une prédiction) et les paramètres du réseau. Le calcul local est très basique : f(x,p) = x1 * p1 + x2 * p2 + ... + xN * pN (x pour les données et p pour les paramètres locaux) ; à l'échelle du réseau, les calculs locaux sont distribués pas à pas. Par exemple, on pourrait avoir une formule de ce style : r(X,P) = f(f(f(X,P1)+f(X,P2),P3)+f(f(X,P4)+f(X,P5),P6),P7) ; X pour les données et P pour les paramètres du réseau.

Si tu veux des précisions n'hésites pas. Autrement je te conseille de regarder les vidéos de la chaîne Science4all - une grande série est disponible sur les IA et une nouvelle avec deux vidéos (pour l'instant) sur le Bayésianisme (en plus de son livre La Formule du Savoir).

-
Edité par yarflam 20 février 2019 à 19:53:44

  • Partager sur Facebook
  • Partager sur Twitter
20 février 2019 à 21:39:30

je te remerci pour ta réponse.

J'imagine que l'obtention de la forme factorisée de la distribution jointe est utile pour obtenir des probabilités conditionnelles ?

car si je suis la formule de la thèse précédente, page 24, on a :

P(X,Y,Z) = P(Z|Y,X)*P(Y|Z)*P(Z)

Ainsi, le terme de droite est sans doute calculable analytiquement, contrairement au terme de gauche ??

Et si X, Y et Z sont indépendantes, on obtient :

P(X,Y,Z) = P(Z)*P(Y)*P(X)

est-ce que je me trompe ? et est-ce que une distribution jointe et tout le temps factorisable indépendamment des dépendances ou non des variables ?

En revanche, concidérant ceci, je ne saisi pas le lien avec les réseaux de neuronnes dont tu parle.

Concernant la livre "la formule du savoir", j'hésite à l'acheter justement :)

  • Partager sur Facebook
  • Partager sur Twitter
21 février 2019 à 18:57:23

Le document nous indique que l'on peut factoriser pour apporter une notion de parent / enfants. L'exemple donnée page 24, modélise une liste chaînée d'éléments dont x1 est le premier parent. Mais également x2 car il est indépendant de x1, c'est pour cette raison que l'on simplifie P(x2|x1) par P(x2) -> x2 ici n'est pas directement liée à une probabilité conditionnelle, P(x2) est juste une variable probabiliste.

> Ainsi, le terme de droite est sans doute calculable analytiquement, contrairement au terme de gauche ??

En effet, le terme de droite P(Z) est indépendant alors que le terme P(Z|Y,X) est dépendant : on souhaite la "probabilité de Z sachant Y et X".

> Est-ce que je me trompe ? et est-ce que une distribution jointe et tout le temps factorisable indépendamment des dépendances ou non des variables ?

Ton exemple est correct. Tu peux effectivement trouver une distribution jointe dans tous les cas de figure.

> En revanche, considérant ceci, je ne saisi pas le lien avec les réseaux de neurones dont tu parle.

Désolé, j'ai voulu répondre par une application effective d'un réseau Bayésien - une façon de calculer une distribution jointe mais en réalité tu t'intéresses à la théorie ... donc tu peux l'oublier pour l'instant. :)

Le livre "La Formule du Savoir" est génial ! Il mêle des tas de sujets et toujours ramené à la formule de Bayes. Je ne suis pas déçu de l'achat perso. Après la théorie est vulgarisée au max par rapport à la thèse que tu as partagé ; du coup j'ai commencé à la lire ! :p merci pour le partage.

-
Edité par yarflam 21 février 2019 à 18:58:16

  • Partager sur Facebook
  • Partager sur Twitter
23 février 2019 à 14:14:22

Réseau bayésien et réseau de neurones sont différents. Ils ont pour objectif (grossièrement) de représenter une probabilité mais de manière totalement différente. Le réseau bayésien cherche des liens entre les variables pour factoriser la distribution jointe, et non toutes les distributions ne sont pas factorisables. J'ai pas d'exemple sous la main mais seules certaines le sont (à voir les notions de P-Maps et tout, très franchement en pratique tout le monde s'en fiche, ça n'intéresse que le chercheur). En revanche si on passe à un modèle un peu plus général (les markov random field) je crois qu'on peut tout représenter. A voir (je ne suis pas non plus un expert).

Pour les réseaux de neurones on va modéliser une fonction (la densité de probabilité donc, si on veut une distribution jointe). Les réseaux de neurones étant juste des supers estimateurs de fonction (disons des estimateurs sympathiques, avec des propriétés cools). Le moyen de les construire n'a juste aucun lien avec une factorisation de probabilité à quelque niveau que ce soit.

Après il y a surement des liens possibles en passant à un certains niveaux d'abstraction, mais c'est tout sauf clair aujourd'hui ( et les concepts étant tellement différents, ça n'augure rien de bon pour les relier :D). Et ça reste clairement deux domaines distincts.

Et pourquoi on factorise les probas. Bah pour faire simple, estimer une fonction de 100 dimensions c'est genre une grosse catastrophe, (une distribution jointe sur 100 variables), alors que sur moins c'est mieux. C'est le fléau de la dimension. Dans ton exemple avec X,Y,Z, c'est pas parlant parce qu'il y a l'exemple avec la proba de X sachant Y et Z (ce qui diminue grandement l'intérêt :D). Mais imagine que tu aies 100 variables et que tu puisses décomposer en juste des groupes de trois maximum. 

Pour comprendre le fléau de la dimension, c'est assez simple. Si tu veux estimer la proba d'une variable (dimension 1) qui ne prend que deux valeurs (0 et 1) bah tu prends toutes ses valeurs différentes et puis tu divises par le nombre totale (bon c'est fréquentiste comme point de vue mais si t'as vraiment envie, dis toi que je parle d'une multinomiale et que j'ai un a priori dirichlet et Hop je suis un gars bayésien trop gentil.). 

Maintenant si tu en as deux variables qui ne prennent que les valeurs 0 et 1 bah tu augmentes le nombre de possibilités (le nombre de valeur à surveille) t'en as 4 , 00, 01, 10, et 11. Et puis en fait c'est exponentiel avec le nombre de variables donc ça devient une catastrophe. Si tu veux des estimations aussi précise en dimension 100 qu'en dimension 1 il te faut pas juste 100 fois plus de variables mais plutôt quelque chose comme la puissance 100 fois plus de variables (donc s'il te fallait 2 données en dimension 1 par exemple, pour la même précision il t'en faut  quelque chose avec 30 zéros derrière). 

Là on se dit que factoriser les probas c'est peut être bien. 

-
Edité par MathOS1 23 février 2019 à 14:32:51

  • Partager sur Facebook
  • Partager sur Twitter
25 février 2019 à 14:56:57

Je vous remercie pour vos réponses, je commence à y voir claire. Au final, je me rends compte que le principe de base et pas si compliqué. En revanche, les limitations dû à la rapidité de calcul et la place en mémoire introduisent une complexité supplémentaire qui alourdissent les maths associées.

- J’ai cependant une question :

dans la thèse que j'ai partagé dans mon premier poste, page 23, équation 1.12, on obtient cette équation car les données récupérées, correspondant au lancés de pièce successifs, sont iid (i.e indépendantes et identiquement distribuées). Ainsi, P(données/theta) se "factorise au maximum".

Donc, appliqué la formule de Bayes avec toute les données d'un coup, après avoir fait tous les lancés de pièces, revient à appliquer la formule de Bayes de manière itérative, après chaque lancé de pièce.

Déjà, est-ce que ceci est correcte ?

Mais que ce passerais-t-il si les données n'étaient pas iid ? J’imagine que la factorisation ne serait pas aussi optimum dû au dimensions supplémentaires, mais au delà de cet (possiblement énorme) inconvénient  rien de fondamental ne change sur l'application de la formule de Bayes ?

- En fait, toute ces questions me viennent, car je souhaiterais implémenter la méthode Bayésienne pour un projet perso. En résumé, ce projet est le suivant :

J'ai un signal contenant 5 motifs différents et j'aimerais être capable d'identifier un des 5 motifs. Ainsi, lorsqu'un motif apparait, je pensais calculer un vecteur de données contenant V = [Esperence, Variance, ...] (Les données contenues dans ce vecteur sont encore à définir) et utiliser la formule de Bayes pour déduire si le motifs présent correspond à celui que je cherche à partir du vecteur de données V.

Je ne sais pas si ceci est une bonne approche, en revanche, dans l'immédiat je me demande comment procéder dans la mesure où mes données ne sont pas constitué d'une unique variable répétée N fois, mais d'un set de données toute différentes.

NOTE : Peut être que d'autres méthodes que la méthode Bayésienne serait à tester d'abord, mais c'est surtout l’intérêt pour cette méthode qui me pousse à essayer de l'implémenter :).

-
Edité par adrien050356 25 février 2019 à 15:16:03

  • Partager sur Facebook
  • Partager sur Twitter
25 février 2019 à 18:36:34

Ce que tu demandes à la fin n'est pas claire. Un signal? Qu'est ce que c'est concrètement? 

Et ton signal apparait en temps réel, tu regardes une fenêtre de ce signal? 

Enfin bon c'est pas clair. Et bayésien ça veut tout et rien dire. 

  • Partager sur Facebook
  • Partager sur Twitter
25 février 2019 à 19:31:22

un signal electrique provenant d'un micro, échantilloné à une fréquence Fe de 1000Hz, arrivant en temps réelle.

Je regarde une fenêtre de 0.5 seconds, soit 500 échantillons, et dès que 100 échantillons sont arrivés, la fenêtre est décallée de 100 échantillons.

Dans l'immédiat, ces chiffres ne sont que théoriques, mais ca donne une idée.

Et est-ce que à ton tour tu pourrais clarrifier "Et bayésien ça veut tout et rien dire." ?!

-
Edité par adrien050356 25 février 2019 à 19:32:38

  • Partager sur Facebook
  • Partager sur Twitter
26 février 2019 à 12:49:43

Je suis un peu mauvais en disant bayésien ça veut tout et rien dire. Mais si tu veux utiliser des réseaux bayésiens c'est complètement différent de LDAgaussienne par exemple, pourtant les deux sont "bayésiens".

Dans ton cas j'utiliserais une LDA (latent dirichlet analysis , prends la variante pour les signaux qui existe) si tu tiens tant que ça à faire du bayésien. Sinon des modèles classiques ça fera très bien l'affaire.

Avec des réseaux bayésiens, le traitement du signal ça me semble pas super optimale. 

  • Partager sur Facebook
  • Partager sur Twitter
26 février 2019 à 13:54:19

A vrai dire, les méthodes Bayésiennes m'intéressent, donc j’essaierais surement d'implémenter quelque chose pour développer une petite compétence la dedans.

Mais autrement, qu'entends tu par "des modèles classiques ça fera très bien l'affaire" ? car j'ai une connaissance assez limité des algo/méthodes qui existent en traitement du signal, donc si tu pense que quelque chose de plus efficace existe pour mon cas, alors je suis preneur.

-
Edité par adrien050356 26 février 2019 à 22:34:52

  • Partager sur Facebook
  • Partager sur Twitter