IFT3395/IFT6390: Fondements de l’apprentissage machine
IMPORTANT: Veuillez ne vous inscrire à ce cours qu’après avoir lu et examiné attentivement les conditions requises énumérées dans les deux sections suivantes.
Exigences et préalables
L’apprentissage automatique est une discipline très intéressante, mais qui nécessite l’acquisition de certaines compétences importantes. Avant de commencer, vous devez posséder de bonnes connaissances dans les domaines suivants
- La programmation en Python est obligatoire. Vous ne pouvez pas utiliser un autre langage de programmation dans ce cours.
- Algèbre linéaire
- Probabilité
Le rythme est intensif et les devoirs et examens seront difficiles. Par conséquent, si vous ne maîtrisez pas ces trois compétences requises, vous devriez les travailler en premier. Ce cours ne vous enseignera pas les mathématiques ou la programmation requises, mais vous en aurez besoin pour réussir le cours.
A titre indicatif, les étudiants en maîtrise qui ont suivi le cours en 2019 ont indiqué que pour suivre les besoins du cours, ils travaillaient en moyenne :
- 12 heures par semaine, s’ils maîtrisaient déjà les 3 prérequis ci-dessus.
- 18 heures par semaine, s’ils avaient ces connaissances, mais avaient besoin de les rafraîchir au fur et à mesure
- 25 heures et plus par semaine, s’ils avaient de sérieuses lacunes dans certains prérequis
Les étudiants qui n’ont pas tenu compte de nos conseils concernant les prérequis et qui n’en avaient pas, ont trouvé le cours très difficile.
Enfin, si vous êtes un étudiant international, vous devrez probablement compter sur des bourses pour couvrir une grande partie de vos frais de scolarité. Ces bourses (comme la bourse C de l’UdeM) exigent que vous mainteniez une bonne moyenne. Si vous suivez ce cours avant d’être certain d’avoir les compétences requises, vous risquez de mettre votre bourse en péril.
Se préparer à suivre le cours
« Ça a l’air effrayant jusqu’à présent ! »
Les statistiques ci-dessus sont destinées à vous donner une idée claire de ce qui vous attend plutôt qu’à vous effrayer. La bonne nouvelle, c’est que si vous êtes déterminé, vous pouvez y arriver ! En fonction de votre niveau, il vous faudra peut-être de suivre d’abord d’autres cours ou de rafraîchir vos connaissances. Cette section vous donnera des conseils et des ressources pour améliorer vos connaissances avant de suivre le cours.
Idéalement, vous avez déjà suivi des cours de niveau universitaire en probabilité, algèbre linéaire et programmation. Il est difficile de rattraper ces cours par vous-même. Considérez la possibilité de suivre ces cours dans votre université avant de vous inscrire à l’IFT6390. Même si vous avez suivi ces cours, vous devrez peut-être travailler dur pour améliorer vos compétences, surtout si vous les avez suivis il y a de nombreuses années, ou si vous n’avez pas obtenu de bons résultats dans ces cours, ou si vous avez appris un autre langage que Python.
Q : Comment puis-je m’assurer que j’ai tous les pré-requis mathématiques nécessaires avant de prendre IFT6390 ?
R : Étudiez le livre Mathematics for Machine Learning. Passez en revue les parties suivantes du livre, et assurez-vous que vous avez déjà compris la matière avant de commencer l’IFT6390.
- Section 2 : Sous-sections 2.1 à 2.6 (incluses)
- Section 3 : Toutes les sous-sections
- Section 4 : Sous-sections 4.1 à 4.5.1 (incluses)
- Section 5 : sous-sections 5.1, 5.2, 5.3, 5.4, 5.5, 5.7
- Section 6 : sous-sections 6.1 à 6.5 (incluses)
Vous devez être en mesure de résoudre au moins la moitié des questions de ces sections. Si vous constatez qu’il vous est impossible de le faire par vous-même, il n’y a pas de solution : vous devez prendre un ou deux cours de mathématiques avant de suivre l’IFT6390.
Q : Comment puis-je m’assurer que j’ai les prérequis en programmation avant de prendre l’IFT6390 ?
R : Considérez l’examen intra de 2019 de l’IFT6390. L’examen consiste en 10 questions en Python. Dans chaque question, on vous donne une description de la fonctionnalité d’une fonction Python, ainsi que son en-tête. Votre objectif est d’implémenter le corps de chaque fonction en suivant les instructions. Les étudiants de l’IFT6390 qui ont passé l’examen avaient un accès complet aux ressources Internet pendant l’examen, mais seulement une heure pour le terminer. Pendant l’examen, leurs solutions ont été notées par notre système pour leur exactitude. Pour chaque question, l’étudiant obtenait les points associés si son implémentation passait tous nos tests unitaires. Si leur implémentation de la fonction renvoyait une réponse erronée dans au moins un des tests, ils obtenaient 0 point pour cette question. L’objectif étant d’évaluer une programmation efficace, aucun crédit partiel n’a été accordé pour des implémentations « semi-correctes ».
Essayez de passer l’examen chez vous en une heure. Ne vous inquiétez pas si vous ne pouvez pas répondre à toutes les questions dans le temps imparti. L’examen est très difficile. Cependant, vous devriez être capable d’implémenter correctement au moins la moitié des fonctions dans ce laps de temps. Cela signifie que votre code doit s’exécuter et que lorsque vous appelez la fonction avec une entrée arbitraire, elle doit toujours donner la bonne réponse.
- Si vous n’êtes pas capable de résoudre au moins la moitié des questions dans le temps imparti, vous avez besoin de vous entraîner sérieusement en Python avant le début de l’IFT6390. Sinon, vous aurez du mal à suivre le cours.
- Si vous n’êtes capable de résoudre qu’une ou deux questions correctement dans le temps imparti, vous devriez suivre un cours de programmation d’un semestre avant de vous inscrire à l’IFT6390.