Skip to content

Latest commit

 

History

History
434 lines (365 loc) · 39.4 KB

README-fr-FR.md

File metadata and controls

434 lines (365 loc) · 39.4 KB

Parcours d'Apprentissage de A à Z: Le Machine Learning pour Ingénieur Logiciel

Top-down learning path: Machine Learning for Software Engineers GitHub stars GitHub forks

Inspiré par Google Interview University.

Traductions: Brazilian Portuguese | 中文版本 | Français

Comment moi (Nam Vu) prévoit de devenir un ingénieur dans le domaine du Machine Learning

Qu'est-ce que c'est?

Il s'agit d'un projet qui s'étend sur plusieurs mois, avec pour objectif de devenir ingénieur en Machine Learning en partant de mon expérience de développeur mobile (de manière autodidacte, sans diplôme en Informatique).

Mon objectif principal est d'élaborer une méthode pour apprendre le Machine Learning qui se base surtout sur la pratique et écarte au mieux l'aspect Mathématique pouvant rebuter les novices. C'est une approche non conventionnel car de type analyse-synthèse fondée d'abord à partir de résultats, elle est conçue du point de vue ingénierie logiciel.

Toute contributions pouvant améliorer le projet est la bienvenue.


Table des Matières


Pourquoi l'utiliser?

Je suis ce programme pour me préparer à mon futur métier, celui d'ingénieur en Machine learning. Je développe des applications mobile sur les plateformes Android, iOS et Blackberry depuis 2011. J'ai un diplôme en Ingénierie Logiciel mais pas en Informatique. J'ai également quelques bases en calcul, algèbre linéaire, Mathématiques discrètes, probabilités et statistiques grâce à mon parcours à l'Université.

En pensant à mon intérêt pour le Machine learning :

Je me retrouve alors dans une période de doute.

AFAIK, On distingue deux aspect dans le Machine learning:

  • Machine Learning en pratique: Il s'agit de faire des requêtes sur des bases de données, du nettoyage, écrire des scripts pour transformer les données, faire correspondre les programmes avec les bibliothèques adéquates et écrire du code sur mesure pour obtenir des réponses fiables capable de satisfaire des questions encore trop flou. On doit s'adapter à une réalité imparfaite, pleine d'aléas, où tout est en désordre.
  • Machine Learning en théorie: Ici on est en plein dans les Mathématiques et l'abstraction, on considère les cas idéaux sans se soucier de ce qui est réellement possible. Tout est bien plus ordonné et propre car on néglige les contraintes du réel.

Je pense que la meilleure approche pour une méthodologie orientée sur la pratique ressemble à quelque chose comme 'pratique — apprentissage — pratique', ça signifie qu'on étudie d'abord des projets existants avec leurs problèmes et solutions (pratique) pour se familiariser avec les méthodes traditionnelles dans une discipline et peut-être également se familiariser avec une méthodologie propre à ce projet en particulier. Après avoir manipuler des cas élémentaires, il est temps d'ouvrir les livres et autres manuels pour étudier ce qui se passe réellement au niveau théorique, ce qui va ensuite donner plus de sens aux prochains essais dans la pratique. En effet, ce qu'on apprend via la théorie s'ajoutera à une sorte de Boîte à Outils englobant les connaissances pour résoudre tel ou tel problème pratique. Etudier la théorie permet aussi d'améliorer la compréhension des expériences basiques pour se construire des bases solides et donnera lieu à un apprentissage plus rapide des expériences d'un niveau plus pointu.

“Il faut d'abord apprendre la façon de faire, ensuite on peut faire à sa façon.”

Pour moi c'est un plan sur le long terme qui me prendra certainement des années. Si vous êtes déjà familier avec tout ceci, vous aurez probablement besoin de moins de temps.

Comment s'en servir?

Tout ce qui suis est un guide qui vous apprendra de manière progressive le Machine learning via les points qui sont listés plus bas, je vous conseille de consulter chaque points, dans l'ordre, de haut en bas.

Je profite au mieux de ce qu'offre la version GitHub de Markdown, pour inclure notamment un système de tâches à réaliser. J'utilise des cases à cocher, ce qui vous permet de garder un œil sur votre progression.

Suivez-moi

Je suis un Ingénieur Logiciel vietnamien, un véritable passionné et mon rêve est de pouvoir un jour travailler aux Etats-Unis.

Combien de temps par jour ai-je travailler pendant ce programme? À peu près 4 heures/nuit après une bonne journée de boulot.

Et l'aventure continue.

Nam Vu - Top-down learning path: machine learning for software engineers
USA as heck

Ne vous laissez pas abattre

J'ai été décourager plusieurs fois devant les cours et ouvrages qui me signalaient d'entré de jeu que la maîtrise de concept tels que les fonctions de plusieurs variables, l'inférence statistique et l'algèbre linéaire sont obligatoires pour comprendre le Machine Learning. Et je ne sais toujours pas par où commencer...

Même si tout ces termes peuvent rebuter il ne faut pas se démotiver pour autant, voici quelques pistes pour démarrer votre apprentissage :

Ne jamais baisser les bras! L'échec et le rejet ne sont que les premières étapes du succès. - Jim Valvano

Au sujet de nos vidéos

Certaines vidéos ne sont disponible qu'en s'inscrivant aux cours de Coursera ou EdX. Ces outils sont gratuit mais il arrive que les cours soient indisponible et vous devez patienter quelques mois pour y avoir accès. Pour limiter ce problème, je vais ajouter davantage de vidéos provenant de sources publiques pour remplacer au fil du temps les cours en ligne en prenant par exemple des cours magistraux d'Universités.

Les Connaissances Requises

Je vais lister dans cette courte section les aptitudes et informations intéressantes que je voulais apprendre avant de commencer mon programme quotidien en Machine learning.

Le Planning Journalier

Chaque matière ne demandent pas une journée entière pour être assimilée, vous pouvez en faire plusieurs par jour.

Chaque jours, je choisis un sujet de la liste juste en dessous et je le lis entièrement, je prends des notes et fais les exercices. Pour finir, j'écris une première implémentation en Python ou en R.

Motivation

Découvrir le Machine learning

Maîtriser le Machine learning

Le Machine learning c'est fun

Machine Learning: Un Guide de A à Z

Parcours et expériences

Algorithmes de Machine Learning

Ouvrages pour débutants

Livres pratique

Les Compétitions Kaggle

Séries vidéos

MOOC

Ressources

Jeux

Participer aux projets Open-source

Podcasts

Communautés

Conférences

  • Neural Information Processing Systems (NIPS)
  • International Conference on Learning Representations (ICLR)
  • Association for the Advancement of Artificial Intelligence (AAAI)
  • IEEE Conference on Computational Intelligence and Games (CIG)
  • IEEE International Conference on Machine Learning and Applications (ICMLA)
  • International Conference on Machine Learning (ICML)
  • International Joint Conferences on Artificial Intelligence (IJCAI)
  • Association for Computational Linguistics (ACL)

Questions aux Entretiens

Les Entreprises que j'admire