Découvrir le domaine du Machine Learning

Le problème exposé dans ce sujet a été résolu.

Bonsoir à tous,

Cela fait longtemps que le domaine du Machine Learning m’intéresse. Cependant, je ne sais pas par où commencer, quelles ressources utiliser… Idéalement, j’aimerais par exemple être capable de déterminer quel type de réseaux de neurones utiliser pour un problème X. Aussi, je préférerais me tourner vers du Python et la librairie TensorFlow (SVP pas de débats sur R vs Python).

J’ai suivi le tutoriel proposé par Google : Cours d’initiation au Machine learning. Il est très intéressant mais à la fin de celui-ci je n’ai pas l’impression de savoir faire grand chose (avec TensorFlow). Il est très intéressant et propose un bon ratio théorie/pratique je trouve. Quand il y a trop de théorie c’est décourageant et quand il y a trop de pratique on ne comprend pas ce qu’on fait :lol: . Je viens d’ailleurs de remarquer que de nouvelles sous parties étaient apparues, je vais regarder ça.

J’ai donc regardé sur Google comme tout le monde et il y a beaucoup de ressources. Payantes ou non. Les meilleures gratuites que j’ai trouvé sont les suivantes :

Que me conseillez-vous ?

Bonne soirée et merci d’avance pour vos réponses !

Pour commencer sur les réseaux de neurones, j’ai appris principalement avec http://neuralnetworksanddeeplearning.com/ ; par contre ça ne t’aide pas à choisir ton architecture. En fait, je ne sais pas trop s’il existe des règles à ce sujet ? Peut-être un peu d’heuristiques qu’on acquiert avec l’expérience, mais sinon… en tout cas je ne connais pas de telles règles.

Idéalement, j’aimerais par exemple être capable de déterminer quel type de réseaux de neurones utiliser pour un problème X.

T’inquiètes, les entreprises embauchent des data-scientiste rien que pour ça. Il n’y a pas de solution magique, c’est avec l’expérience qui fait qu’en regardant la tronche de tes données tu peux envisager quel genre de solutions serait la plus adapté.

Et il n’y a pas que les réseaux de neurones dans la vie :P

Aussi, je préférerais me tourner vers du Python et la librairie TensorFlow (SVP pas de débats sur R vs Python).

J’ai beau ne pas aimer Python, pour faire des réseaux de neurones, c’est ce qu’il y a de plus simple car toutes les libs font un interfaçage avec python pour écrire plus rapidement les programmes. Quant à R, j’en ai fait un peu l’an dernier en analyse de données pour de la LDA et QDA entre autres. Il a ses avantages et inconvénients (que je ne pourrais citer précisément (comme pour Python me dirons certains :P ).

En vrai, la théorie est très importante dans ce domaine, il faut vraiment savoir ce que tu fait sinon c’est très probable que tu va faire « n’importe quoi ». Alors je sais que des cours / livres très théoriques c’est indigeste et très ennuyeux (je suis le premier au courant) mais dans ce domaine il est difficile de faire autrement. Tu peux check les cours d’un de mes profs qui sont plus accès sur l’analyse de données pures et dures. Et trouver des jeux de données, le classique MNIST ou trouver des jeux de données intéressant sur Kaggel.

J’ai survolé les ressources que tu cites, et les deux premiers semblent intéressants.

+3 -0

L’année dernière, j’ai fait mon TIPE sur les réseaux de neurones. Du coup, j’ai collecté pas mal de ressources ça et là, notamment concernant le Natural Language Processing et le Sentiment Analysis, branche du Machine Learning que je trouve très intéressante.

Là tout de suite je suis sur téléphone, mais la semaine prochaine je pourrai te regrouper ce que j’ai collecté. En plus, si tu le souhaites, je pourrai te donner les réseaux que j’ai créés pour l’occasion, ça te donnera un exemple d’utilisation pratique de Tensorflow.

  • Je suis loin d’être un spécialiste, les ressources que je te donnerai sont pour une initiation, après tu pourras aller plus loin si tu le souhaites.
  • Je ne suis pas non plus un spécialiste de Tensorflow, du coup mon code ne sera pas au summum de l’élégance par rapport à ce que permet ce Framework. En plus, le fait que j’avais des échéances à respecter n’aide pas.

Sinon, je plussoie mes VDD, principalement pour deux choses :

  • Je trouve que neuralnetworksanddeeplearning.com est une bonne ressource pour commencer.
  • La théorie est en effet importante, c’est pour ça qu’il faut se documenter solidement pour faire un projet. Par rapport à ça, n’hésite pas à t’inspirer de choses existantes pour créer une architecture, et les modifier à ta sauce. Par exemple, l’un des réseaux que j’ai créé pour mon TIPE est une version simplifiée et modifiée d’une architecture que j’ai découvert dans un article écrit par des chercheurs brésiliens. C’est comme ça qu’on progresse, finalement. :)

En tous cas, le Machine Learning est un domaine passionnant, j’espère que ça te plaira autant qu’à moi ! :)

+1 -0

Waaah autant de réponses en si peu de temps :waw:

Pour commencer sur les réseaux de neurones, j’ai appris principalement avec http://neuralnetworksanddeeplearning.com/ ; par contre ça ne t’aide pas à choisir ton architecture. melepe

Tu peux check les cours d’un de mes profs qui sont plus accès sur l’analyse de données pures et dures. Et trouver des jeux de données, le classique MNIST ou trouver des jeux de données intéressant sur Kaggel.

Heziode

Merci pour ces lien. Je regarderai cela plus en détails demain ou dans la semaine.

En fait, je ne sais pas trop s’il existe des règles à ce sujet ? Peut-être un peu d’heuristiques qu’on acquiert avec l’expérience, mais sinon… en tout cas je ne connais pas de telles règles. melepe

T’inquiètes, les entreprises embauchent des data-scientiste rien que pour ça. Il n’y a pas de solution magique, c’est avec l’expérience qui fait qu’en regardant la tronche de tes données tu peux envisager quel genre de solutions serait la plus adapté.

Heziode

Ok, ça me rassures ! Comme le dit @mehdidou99 c’est probablement en lisant des articles traitant des problèmes similaires qu’on doit imaginer ce qui est envisageable. Enfin, après concernant les réseaux de neurones, il y a toujours l’étape de déterminer le nombre de couches et de neurones par couche…

Là tout de suite je suis sur téléphone, mais la semaine prochaine je pourrai te regrouper ce que j’ai collecté. En plus, si tu le souhaites, je pourrai te donner les réseaux que j’ai créés pour l’occasion, ça te donnera un exemple d’utilisation pratique de Tensorflow.

mehdidou99

Et bah pourquoi pas, oui, merci ! Je pense que chaque ressource est bonne à prendre.

Et il n’y a pas que les réseaux de neurones dans la vie :P

Heziode

Oui c’est vrai que je me focalise un peu là-dessus. C’est la mode et du coup je généralise très rapidement, à tort, Machine Learning = régression et réseaux de neurones.

Merci pour ces réponses en tous cas. Il me reste plus qu’à lire tous ces liens concernant ce vaste domaine :euh:

"machine learning" et "réseaux de neurones" c’est juste des buzz word, c’est énormément plus vaste que ça

Juste pour le côté théorie, j’ai un avis là dessus, pour moi c’est extrêmement indispensable et presque exclusivement ça, pour des gens qui font avancer le domaine, qui font de la recherche, qui doivent être créatif et chercher de nouveaux résultats

Après y a les data scientist qui doivent comprendre un minimum comment fonctionnent les algos qu’ils utilisent (et encore). c’est surtout une démarche et des méthodologies le boulot de data scientist, mais dans les faits il doit surtout savoir comment et quand utiliser cette boîte a outils d’algo pour traiter des données, savoir interpréter les résultats etc.

Et ensuite, le dernier cas, c’est les gens qui utilisent juste des boites a outils sans chercher à comprendre ce que ça fait derrière ou vaguement, mais en ayant appris ce que ça prend en entrée et ce que ce vers quoi ça doit converger au minimum.

Le ratio théorie/pratique dépend de la catégorie dans laquelle tu veux etre, en fonction des catégories d’algorithmique que tu va vouloir utiliser.

En ressources, y a pas mal de MOOC sur les sites connus, et récemment un bouquin en français est sortie écrit par cette femme

https://twitter.com/WiMLDS_Paris/status/1071012211903078400?s=19

Des ressources en français c’est rare donc ça vaut le coup de voir ça.

+3 -0

Merci pour ta réponse YoRHa. Je suis malheureusement pas mal occupé en ce moment et je viens donc de la voir…

Je suis de ton avis. La théorie est importante et même presque indispensable. Le tout c’est de trouver un cours où la théorie est présente mais où la mise en pratique est régulière. C’est vite décourageant de lire un livre de plusieurs centaines de pages sans jamais essayer ce qu’on apprend !

Une première petite liste — en plus de ceux que tu as cité (je te recommande les deux premiers de ta liste, je n’ai pas les autres donc je ne m’avance pas pour ceux-ci) — que voici :

  • Must have : A.I. a modern approach de Russel et Norvig. C’est la référence introductive des principaux domaines de l’IA et offre une bonne base pour étendre par la suite tes connaissances.
  • Mix théorie et pratique : Practical Machine Learning with Python de Dipanjan Sarkar, Raghav Bali et Tushar Sharma

  • (pratique, must have) Machine Learning in Action de Peter Harrington

  • (pratique, utile) Programming Collective Intelligence de Toby Segaran

  • Théorie (+ pseudo code) : Understanding Machine Learning : From Theory to Algorithms de Shai Shalev-Shwartz et Shai Ben-David

  • Apprentissage artificiel d’Antoine Cornuejols et Laurent Miclet (la seule référence que j’ai en français ; attention, axé théorie, mais ça reste un bouquin intéressant)

  • Machine Learning: The Art and Science of Algorithms that Make Sense of Data de Peter Flach

  • Très utile, mais pas pour tout de suite, à garder de coté : Multi-Agent Machine Learning: A Reinforcement Approach d’Howard M. Schwartz

  • Introduction to Machine Learning, third edition d’Ethem Alpaydin (il y a une édition plus récente de mémoire). Utile aussi.

  • Utile car orienté théorie, ouvrage introductif : Foundations of Machine Learning de Mehryar Mohri, Afshin Rostamizadeh, Ameet Talwalkar

Pour les ouvrages principalement axé pratique, tu en as plein disponible selon le langage de ton choix édités par Packt Publishing (attention que la qualité est super variable), Wiley, etc.

+2 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte