CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Machine learning

gatias
gatias
Niveau 6
24 août 2021 à 16:34:38

Bonjour,

Auriez-vous de bonnes ressources pour apprendre le machine learning ? les réseaux de neurones etc.
Le livre de Stuart Russell est une référence mais il est trop théorique pour moi.

Les autres ressources que je trouve sont trop théoriques ou elles utilisent des librairies toutes faites.
J'aimerais pouvoir pratiquer les algorithmes et les écrire moi meme sans appeler une fonction qui cache tout mais j'aimerais aussi pratiquer sans avoir à lire 400 pages de théories.

Merci

godrik
godrik
Niveau 30
24 août 2021 à 17:11:06

Je ne sais pas si il y a une ressource qui fasse exactement ce que tu veux.
Le machine learning est fondamentallement simple. Tu as un modele parametrique et tu calcules les parametres avec une methode de newton basiquement.

ChibreMusque5
ChibreMusque5
Niveau 5
24 août 2021 à 18:42:43

En soit le machine learning requiert de la théorie : si tu sais pas dériver une fonction, que t'as pas un minimum de base en stats + algèbre (calculer une corrélation par exemple) tu feras juste du copy paste de stackoverflow. Quand aux cours, j'ai jamais essayé mais j'ai eu de bons retours de brillant. Et pour pratiquer, go kaggle, télécharger un dataset faire des notebooks, généralement en 3 parties :
- analyse générale
- analyse avancée (trouver les cluster)
- prédiction, même si ça n'a aucun sens d'un point de vue analytique, ça aide toujours

Quand tu seras rôdé sur l'analyse de données, go deep learning mais là, t'as background en maths à avoir et si tu l'as pas tu comprendras rien et tu pourras même pas lire des articles sur le fonctionnement de ce que t'utiliseras. Je te déconseille d'aller vers tensorflow, c'est vraiment trop mal branlé entre la version 1 et la version 2, dans ma boîte on a littéralement arrêté tf, mais vas plutôt sur du pytorch et essaye de faire tes premiers models de classification d'image par exemple, d'abord en utilisant des dnn puis des cnn mais ça prend un temps de dingue.

Et enfin, oublie l'implémentation from scratch pour le deep learning. Le machine learning, coder une ACP, KNN, SVM etc... from scratch c'est sympa à faire parce que tu comprends tout mais pour le deep learning, à part l'algo du perceptron qui est se résume littéralement à des multiplications et des additions de matrices, oublie c'est inutile pour ton apprentissage, long et tu ne couvriras même pas 1% de tout le domaine. Le truc qu'on code nous même, from scratch, en deep learning, ce sont les fonctions de perte 95% du temps.

tbol
tbol
Niveau 20
24 août 2021 à 19:18:48

Il y a des cours avec de la pratique, par exemple en Python. Il y a pas grand choix en Français par contre en Anglais il y a des choses, par exemple sur fast.ai ou encore sur Coursera/Stanford.
Le mieux c'est que tu essaies de pratiquer, effectivement par exemple avec Pytorch comme cité ci dessus :ok:

Azerban
Azerban
Niveau 16
24 août 2021 à 20:07:10

Il y a le livre de Joel Grus qui est vraiment bien. Il réécrit en Python des algos de Machine Learning. Le livre est disponible en français mais tu peux le télécharger gratuitement ici : https://coderprog.com/data-science-scratch-principles-python-2nd/

Azerban
Azerban
Niveau 16
24 août 2021 à 20:07:45

gratuitement en anglais*

gatias
gatias
Niveau 6
25 août 2021 à 09:40:05

Merci pour vos réponses.
Je vais regarder sur brillant et le livre en python

Je veux écrire les algos car c'est ce que je fais toujours.

Quand j'ai appris les réseaux, j'ai codé une librairie Websocket, TCP etc.
Quand j'ai appris la 3d, j'ai appris Opengl et direct x pour faire ma propre Engine et non Unreal Engine ou autre.

Je n'aime pas apprendre avec des choses toutes faites, il faut que je mette les mains dedans.

Quand je copie sur stackoverflow, je décortique toujours le code pour le comprendre.

Je n'avais pas précisé mais je préfère coder en C++ que python.
Je vais juste apprendre les algos de bases en python vu que les tutos sont tous en python et ensuite je traduirais en C++.

Message édité le 25 août 2021 à 09:41:24 par gatias
infireman
infireman
Niveau 9
25 août 2021 à 16:23:04

Malheureusement de nos jours on ne peut plus apprendre à faire les choses soi même, il faut forcément utiliser des trucs tous faits, sous prétexte de ne pas réinventer la roue. Je n'ai pas non plus de solution pour ça, si ce n'est prendre le temps de comprendre les aspects théoriques jusqu'à suffisamment les comprendre pour être capable de les implémenter. D'ailleurs en le codant sois même on n'est pas du tout en train de "réinventer" la roue puisqu'on a pas encore de "roue", les trucs existants qu'on a aujourd'hui c'est des pneus crevés

Message édité le 25 août 2021 à 16:23:43 par infireman
ChibreMusque5
ChibreMusque5
Niveau 5
25 août 2021 à 20:00:20

Le 25 août 2021 à 09:40:05 :
Merci pour vos réponses.
Je vais regarder sur brillant et le livre en python

Je veux écrire les algos car c'est ce que je fais toujours.

Quand j'ai appris les réseaux, j'ai codé une librairie Websocket, TCP etc.
Quand j'ai appris la 3d, j'ai appris Opengl et direct x pour faire ma propre Engine et non Unreal Engine ou autre.

Je n'aime pas apprendre avec des choses toutes faites, il faut que je mette les mains dedans.

Quand je copie sur stackoverflow, je décortique toujours le code pour le comprendre.

Je n'avais pas précisé mais je préfère coder en C++ que python.
Je vais juste apprendre les algos de bases en python vu que les tutos sont tous en python et ensuite je traduirais en C++.

En vrai, habituellement, tu fais ton modèle en python, tu l'entraînes en python, tu fais même tes prétraitement en python. Une fois que t'as un bon model, tu l'exportes genre en pth pour torch ou onnx quand tu veux l'utiliser avec un autre truc et là t'utilises C++. Même si t'as déjà un niveau en c++, tu vas plus galérer à debug des erreurs à la con, que les erreurs liées au machine learning (dimension mismatching, cuda running out of memory etc... ). Pour te dire, habituellement, ceux qui font les models et ceux qui font du c++ ne sont pas les même personnes ni même la même équipe

gatias
gatias
Niveau 6
25 août 2021 à 22:19:17

Le 25 août 2021 à 16:23:04 :
Malheureusement de nos jours on ne peut plus apprendre à faire les choses soi même, il faut forcément utiliser des trucs tous faits, sous prétexte de ne pas réinventer la roue. Je n'ai pas non plus de solution pour ça, si ce n'est prendre le temps de comprendre les aspects théoriques jusqu'à suffisamment les comprendre pour être capable de les implémenter. D'ailleurs en le codant sois même on n'est pas du tout en train de "réinventer" la roue puisqu'on a pas encore de "roue", les trucs existants qu'on a aujourd'hui c'est des pneus crevés

C'est surtout que "réinventer la roue" est utilisé a tout bout de champ.

Coder une Engine pour en apprendre le fonctionnement interne et vouloir créer une Engine pour remplacer Unreal Engine ou Unity n'est pas pareil.

Comme tu dis, certaines librairies sont trop general ou autre et ne sont pas viables pour des projets spécifiques.

Le 25 août 2021 à 20:00:20 :

Le 25 août 2021 à 09:40:05 :
Merci pour vos réponses.
Je vais regarder sur brillant et le livre en python

Je veux écrire les algos car c'est ce que je fais toujours.

Quand j'ai appris les réseaux, j'ai codé une librairie Websocket, TCP etc.
Quand j'ai appris la 3d, j'ai appris Opengl et direct x pour faire ma propre Engine et non Unreal Engine ou autre.

Je n'aime pas apprendre avec des choses toutes faites, il faut que je mette les mains dedans.

Quand je copie sur stackoverflow, je décortique toujours le code pour le comprendre.

Je n'avais pas précisé mais je préfère coder en C++ que python.
Je vais juste apprendre les algos de bases en python vu que les tutos sont tous en python et ensuite je traduirais en C++.

En vrai, habituellement, tu fais ton modèle en python, tu l'entraînes en python, tu fais même tes prétraitement en python. Une fois que t'as un bon model, tu l'exportes genre en pth pour torch ou onnx quand tu veux l'utiliser avec un autre truc et là t'utilises C++. Même si t'as déjà un niveau en c++, tu vas plus galérer à debug des erreurs à la con, que les erreurs liées au machine learning (dimension mismatching, cuda running out of memory etc... ). Pour te dire, habituellement, ceux qui font les models et ceux qui font du c++ ne sont pas les même personnes ni même la même équipe

C'est un avis personnel mais je ne trouve pas le c++ plus compliqué que le python.

Le C++ moderne apporte plein de sécurité qui enlève les problèmes de fuite de mémoire pour les débutants etc et il y a beaucoup d'outil pour débugger

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment