Apprentissage par renforcement.

Apprentissage par renforcement. - Algo - Programmation

Marsh Posté le 12-12-2011 à 20:01:56    

Bonjour
Voici le pseudo code donné dans Wikipedia et je comprend pas les lignes 10 11 12 et 14.  

Code :
  1. On initialise V(s) aléatoirement, qui est la valeur que l'agent attribuera à chaque état s.
  2.     On initialise la politique π à évaluer.
  3.     On répète (pour chaque épisode) :
  4.         On initialise s
  5.         On répète (à chaque pas de temps de l'épisode) :
  6.             a ← action donnée par π pour s
  7.             L'agent effectue l'action a; on observe la récompense r et l'état suivant s'
  8.             V(s) ← V(s) + α [r + γV(s') - V(s)]
  9.             s ← s'
  10.         Jusqu'à ce que s soit terminal


Source : http://fr.wikipedia.org/wiki/Appre [...] nforcement
Si vous pouviez m'aider.... Merci déjà.
 
Que signifie le verbe "observer", l'expression 'effectue l'action" , et puis la formule dessous, avec un alpha si je me trompe pas, et Y, qu'est-ce qui vien faire  là ? ....  
Enfin voilà.


Message édité par Profil supprimé le 12-12-2011 à 20:05:49
Reply

Marsh Posté le 12-12-2011 à 20:01:56   

Reply

Marsh Posté le 12-12-2011 à 20:51:32    

C'est indiqué dans l'article :
(où γ est un facteur de dévaluation compris entre 0 et 1 et permettant, selon sa valeur, de prendre en compte les récompenses plus ou moins loin dans le futur pour le choix des actions de l'agent).
Il s'agit de gamma, pas Y.
 
Voici mon interprétation des lignes 10 -> 14 :
a est exécuté, retourne r et fait passer à l'état intermédiaire s'
V(s), donc la valeur originellement aléatoire, se voit donné la valeur  
V(s) + α [r + γV(s') - V(s)] (alpha étant le pas)
Retour à s.
 
Pour l'utilisation de gamma, ils en parlent dans l'article mais c'est assez succint.

Reply

Marsh Posté le 13-12-2011 à 01:50:30    

Merci ! J'ai du mal quand même.

Reply

Marsh Posté le 13-12-2011 à 02:00:12    

Très honnêtement cet article de Wikipedia est trop succint pour être vraiment utile. Je suis loin d'être un spécialiste de l'apprentissage par renforcement, mais par contre le lien qu'ils donnent en bas de l'article semble bien plus complet. Après, il faut être anglophone :
http://webdocs.cs.ualberta.ca/~sut [...] -book.html

Reply

Marsh Posté le 13-12-2011 à 03:01:46    

Ouais, faut speaker l'english et c'est pas my case. :/

Reply

Marsh Posté le 15-12-2011 à 14:16:36    

Regardes du côté du Qlearning, c'est grosso-modo la même chose ;) J'avais développé en TP de Qlearning un petit jeu des allumettes pour faire apprendre (par renforcement) à l'ordinateur à jouer. En 1000 itérations, il avait vachement bien appris et il était dur à battre, le bougre :D Du reste, dans mon jeu, j'avais mis plusieurs IA : le PC joue au pif, le PC apprend un peu (qq itérations d'apprentissage), le PC est une brute (1000 itérations). C'était bien cette formule que j'avais utilisée. ;)
 
J'avais codé ça en Delphi, je pourrais t'envoyer le source si je le retrouve (et si ça t'intéresse)...
 
Edit : 2 bons articles mais en anglais :/
http://www.nbu.bg/cogs/events/2000 [...] torial.pdf
http://people.revoledu.com/kardi/t [...] orithm.htm
 
Edit 2 : tiens, 2 autres en français :  
http://www-desir.lip6.fr/~herpsonc [...] n_0108.pdf
http://www.grappa.univ-lille3.fr/~ [...] cement.pdf


Message édité par rufo le 15-12-2011 à 14:24:24

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 18-12-2011 à 11:53:03    

Merci rufo pour tout ça.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed