I am nothing, no one, nobody, no more

Get out of life alive le blog de SnippyHolloW.

Archive pour octobre 2008

Ceux qui lisent Bishop ont peut-être remarqué qu’il encense les "Bayesian methods" depuis quelques papiers. Entrée en matière complètement pédante et étant juste un moyen de donner un lien d’autorité pour justifier un tant soit peu ce qui va suivre. Au passage, le lecteur non-fatigué, non-saoûl et intelligent de Nofrag aura remarqué que Bayesian prend un "b majuscule" contrairement à bayésien, c’est parce qu’en Anglais les adjectifs tirés des noms propres prennent une majuscule, pas comme en Français. Encore un peu de confiture sur votre tartine ?

Je me disais, avant ce baratin inutile, que ça pourrait être sympa de vulgariser ce qui est une de mes grandes révélations de l’année dans la masse de choses que j’apprend actuellement.

Partons de l’exemple de la robotique. Faire un robot qui fait pleins de choses utiles et/ou marrantes c’est simple dans la simulation, déjà un peu moins simple en expérimentation en labo (environnement controlé) ou à la coupe de France de robotique et carrément la mort en environnement réel. Pourquoi ça ? Déjà quand on écrit son propre simulateur pour sa propre expérience on a un gros biais. Ensuite quand on a des capteurs et des actionneurs bien dimensionnés par rapport à un environnement controlé (luminosité, vent, obstacles, image, bruit, poussière …), on peut assez facilement travailler avec ces données. Même si parfois il faut filtrer un bruit ou faire une analyse d’image pas évidente, ça reste du connu et maitrisé depuis longtemps. En situation réelle, il y a toujours qqch qui est comme il ne devrait PAS être. C’est le fameux gouffre théorie / pratique. Mais à quoi est-ce dû ? Je pense (en m’en étant convaincu et non persuadé) que c’est à cause d’un manque de connaissances. On a MODÉLISÉ un environnement possible et un comportement associé mais on perd forcément des paramètres variables réels en passant au modèle. C’est ces trucs à la con qui vont essayer par toutes les forces de la loi de Murphy et du "Théoriquement en pratique ça marche" de faire capoter votre expérimentation. En gros on en vient à faire un robot qui considère que son modèle mathématique est exact que c’est le monde physique qui a tort. Bah ui, patate ! [Je cite un jeune cousin]

Alors comment on fait pour traiter la feuille morte qui est passée devant la caméra dont on se sert pour faire de la vision sur notre robot ? Ou le chaos de la route imprévu lors du DARPA challenge ? On admet qu’on ne sait pas tout sur le monde réel et essaye de travailler quand même sans modifier le monde réel pour qu’il ressemble à un labo ? En simplifiant, pour raisonner avec des choses incertaines de nos jours on a les logiques floues et les méhodes bayésiennes. Les logiques floues c’est "il pleuvra certainement demain" et chacun y va de son formalisme et de sa méthode. Les méthodes bayésiennes c’est "il pleuvra avec la probabilité 0.8 demain" avec un formalisme qui commence à être solide et éprouvé. C’est numérique et ça c’est cool car les CPU, eux, ils savent bien traiter les nombres. Si on décide que l’on va inférer avec la méta-méthode bayésienne, on procède environ comme ça :

La structure du schéma est empruntée à Pierre Bessière dans son (très bon) Probabilistic Reasoning and Decision Making in Sensory Motor Systems. Note : P(A|B) c’est la probabilité d’avoir l’évènement A sachant que l’évènement B est arrivé. P(A et B) = P(A B) = P(A).P(B|A) prend donc tout son sens : la probabilité d’avoir les évènements A et B en même
temps c’est la probabilité d’avoir l’évènement A multiplié par la probabilité d’avoir l’évènement B en sachant qu’on a eu l’évènement A.

C’est donc simple : on n’as pas d’information totale, on raisonne avec des probabilités au lieu de logiques du 1er ou 2nd ordre pures. En fait on est même plus puissant dans un certain sens car on est capable de faire le Modus Ponens (si A est vrai et que A => B alors B est vrai) et le Modus Tollens (si B est faux et si A => B alors A est faux) avec notre représentation probabiliste. C’est juste pour MP : P(B=vrai | A=vrai) = 1 et pour MT : P(non(A=vrai) | non(B=vrai)) = 1 ou, si vous préférez et en vrai/faux binaire, P(A=faux | B=faux) = 1, essayez !

Mais on peut aller beaucoup plus loin grâce aux probas : P(B|A) = 1 nous apprend que P(A|B) sup ou égal à P(A) : si B est vrai, la probabilité que A soit vrai est supérieure à si on ne savait rien sur B. Ceux qui veulent se creuser un peu les méninges remplacent partout ci-dessus (ça marche à partir de MP / MT) A par "n est divisible par 9" et B par "n est divisible par 3". Ils apercevront alors la force du raisonnement via les probabilités, qui permet de faire une inférence qui est inaccessible à la logique pure : si on sait qu’un nombre est divisible par 3, il a plus de chances d’être divisible par 9 que si on se sait rien du tout. De même P(B|A) = 1 entraine que P(non(B) | non(A)) inf ou égal à P(non(B)) …

Voila, la programmation bayésienne c’est se baser sur le théorème de Bayes pour raisonner, inférer mais également en amont prévoir de traiter l’incomplétude par les probabilités. J’ai mis deux exemples plus appliqués dans un extrait de mon rapport de stage. J’espère avoir été (un peu) clair.

Là de suite je suis très fatigué et vous laisse donc un peu en plan mais n’hésitez pas à poser des questions sur ce pavé. Et si vous voulez en savoir plus, il y a google et bayesian-programming.org

Très rarement militant

Jeudi 2 octobre 2008

Je suis très rarement militant mais là j’ai été assez interpellé par un mail de ma prof de physique de maths spé dont une partie est :
____________________________
Si vous n’êtes pas déjà au courant,

le projet de réforme de l’enseignement secondaire prévoit de supprimer l’enseignement obligatoire des sciences physiques et des sciences naturelles en seconde à partir de la rentrée 2009 …!

Signez la pétition de l’UdP (union des physiciens) et faites circuler l’information sans attendre.

adresse: http://udppc.asso.fr/paris2007/petition/
____________________________

Je ne sais pas pour vous et je ne prétends pas détenir la vérité mais je vais tout de même vous donner mon avis. On ne "peut pas", dans la société d’aujourd’hui, participer à la vie politique (au sens large, la vie de la cité) de manière un tantinet juste sans avoir un minimum de bagage scientifique : en particulier en sciences physiques et sciences naturelles. <<Je>> trouve déjà que le minimum nécessaire est du niveau de la Terminale S. Putain d’élitiste, scientologue, ta gueule Biblix, allez y : c’était la phrase pour se faire lyncher. Je ne vais pas tenir une argumentation générale, on n’en finirait plus ! Mais comme la technologie est dans notre quotidien, je prendrais l’exemple de l’énergie nucléaire : il faut vraiment prendre le problème de la production d’énergie électrique dans son ensemble (je ne juge pas ici des moyens employés par la France pour se fournir en Uranium) et comprendre qu’actuellement c’est la meilleure (ou moins pire) des solutions. Charpak lui-même nous le disait en conférence, mais ça n’empèche que je me suis forgé mon propre avis sur la question. Les différents médias manipulent bien trop facilement l’oponion-publique-des-moins-instruits. Wikipedia oblige au moins à l’esprit critique, à recouper l’information et vérifier les courses [ref. needed]. Encore faut-il pouvoir la comprendre.

Dans un tout autre registre, je suis aussi très rarement reporter et n’ai pas d’appareil photo comparable aux votres mais : est-ce que ça vous intéresse un petit reportage photo de l’Oktoberfest du week-end dernier ?