Introduction à PLearn



Au cours de cette démo pratique, vous allez écrire votre premier programme C++ dans PLearn.

(Ré)-installation de PLearn

Les instructions ci-desous vous permettront de compiler votre propre version de PLearn, sans pour autant être limité par les quotas en vigueur au DIRO:

Installation des fichiers de la démo

Implémentation du perceptron batch

Éditez le fichier Perceptron.cc (dans XXX/plearn), et complétez l'implémentation des méthodes train et computeOutput (voir Perceptron.h pour l'interface de la classe et la description de ces méthodes). Pour le pseudo-code, référez-vous à la page 23 des transparents du cours (attention, le vecteur y_i représente la partie input à laquelle on a rajouté un 1, et multipliée ensuite par par la valeur z_i correspondant à la classe (-1 ou 1)). Gardez également à l'esprit que les classes dans PLearn sont notées par 0 et 1, pas -1 et 1, donc le z_i correspondant à la classe 0 est -1 et celui correspondant à la classe 1 est +1.

Regardez en particulier le début de la méthode declareOptions, qui vous donne le nom des paramètres de l'algorithme.

Pour compiler votre code, faites pymake Perceptron.cc, et une fois que cela compile, compilez PLearn par pymake -tmp plearn (vous pouvez aussi taper cette dernière commande directement, mais il est plus pratique de corriger les erreurs de compilation en ne compilant que Perceptron.cc pour commencer).

Si vous voulez regarder les headers de PLearn, ils sont accessibles dans $PLEARNDIR (par exemple, PLearner.h est dans $PLEARNDIR/plearn_learners/generic/PLearner.h). Si vous avez besoin du code implémenté dans les .cc, regardez dans ~dift3390/PLearn.full

Vous allez manipuler les objets suivants :

Test de votre code

Lorsque votre code compile, faites plearn help Perceptron > perceptron.plearn pour créer une ébauche de script PLearn. Éditez le fichier ainsi créé pour éliminer les lignes inutiles (il ne faut garder que ce qu'il y a dans le bloc Perceptron( ... )), et rajoutez des variables du type ${precision} pour pouvoir passer des paramètres sur la ligne de commande (comme dans les scripts de la démo 4).

Utilisez, comme dans la démo 4, le script pyplot et les commandes PLearn learner train et learner test sur les jeux de données fournis dans la démo 5 (dataset*.amat). Vous pouvez par exemple visualiser les surfaces de décision, calculer des erreurs en validation et en test, faire varier vos hyperparamètres pour voir quelle influence ils peuvent avoir, etc.