Je suis incollable sur le Machine Learning (j'ai seulement le bac pourtant)
Pseudoj3table47
il y a 2 mois
Comment faire pour que chatgpt ne soit plus bridé ?
SimpleDesprit
il y a 2 mois
Comment faire pour que chatgpt ne soit plus bridé ?
Fork le modèle gratuit et faire du TL pour l'adapter à ce que tu veux.
waeko
il y a 2 mois
Je connais ces regularisation mais je les ai utilisé uniquement sur les ANNs. Je connais le Xgboost
justement xgboost est un modele qui utilise les regularisations l1 et/ou l2 avec des gradient boosted tree, si tu connais xgboost tu as utilise l1/l2 sur autre chose que des neural network
pourquoi un rnn ne peut pas modelise de longue sequence contrairement au transformer?
SimpleDesprit
il y a 2 mois
justement xgboost est un modele qui utilise les regularisations l1 et/ou l2 avec des gradient boosted tree, si tu connais xgboost tu as utilise l1/l2 sur autre chose que des neural network
pourquoi un rnn ne peut pas modelise de longue sequence contrairement au transformer?
Connais le fonctionnement mais je ne l'ai jamais appliqué en vrai (ni entrainé sinon effectivement je m'en serai rendu compte). Mais je note l'info
tom[jv]
il y a 2 mois
Pourquoi tu fais pa un bot de machine learning de trading ?
SimpleDesprit
il y a 2 mois
Pourquoi tu fais pa un bot de machine learning de trading ?
D'après françois Chollet, un tel bot sur du training n'est que fumisterie et je suis d'accord
volleyclub75015
il y a 2 mois
Comment fonctionne le Machine Learning des aliens de type "Petit gris" ?
PauvreTarax
il y a 2 mois
ok je suis bac +5, explique l'algorithme de descente de gradient stochastique et argumente sur son efficacité dans les réseaux neuronaux profonds.
A moins de réellement bosser sur des nouveaux modèles, ça n'a aucun intérêt de comprendre cela et en plus pas besoin d'être en M2 pour comprendre une descente de gradient.
SimpleDesprit
il y a 2 mois
Comment fonctionne le Machine Learning des aliens de type "Petit gris" ?
Ca n'existe pas ça
waeko
il y a 2 mois
pourquoi un rnn ne peut pas modelise de longue sequence contrairement au transformer?
SimpleDesprit
il y a 2 mois
A moins de réellement bosser sur des nouveaux modèles, ça n'a aucun intérêt de comprendre cela et en plus pas besoin d'être en M2 pour comprendre une descente de gradient.
Un eleve de seconde le comprend easy
volleyclub75015
il y a 2 mois
Ca n'existe pas ça
t'es clairement pas ready toi
FionMignon
il y a 2 mois
Je la connais de nom mais pas encore. Je suis sur Tensorflow et PyTorch
Décris moi comment créer une couche de neuronnes personnalisée en pytorch
SimpleDesprit
il y a 2 mois
Décris moi comment créer une couche de neuronnes personnalisée en pytorch
Pas encore testé sur PyTorch mais je le fais regulièrement sur Tensorflow (et c'est juste de l'héritage de classes)
SimpleDesprit
il y a 2 mois
Pas encore testé sur PyTorch mais je le fais regulièrement sur Tensorflow (et c'est juste de l'héritage de classes)
Donc avec PyTorche ça doit être pareil en héritant de la classe nn.Module
FionMignon
il y a 2 mois
Comment tu t'y prend pour choisir le nombre de couches et le nombre de neurones par couches lors de l'entrainement d'un modèle?
Tu utilises quel critère pour arrêter un entrainement?
SimpleDesprit
il y a 2 mois
Comment tu t'y prend pour choisir le nombre de couches et le nombre de neurones par couches lors de l'entrainement d'un modèle?
Tu utilises quel critère pour arrêter un entrainement?
Generalement par essai et erreur. Mais l'objectifi initial est de partir d'un modèle simple qui underfit ensuite augmente la complexité du modèle jusqu'à overfit et enfin tu choisis un modèle entre les deux.
Plusieurs critères selon la tâche à faire. Par exemple en regression on peut utiliser du NSE, MSE, MAE, ... mais on peut aussi se servir du early stopping
FionMignon
il y a 2 mois
Comment tu détectes l'underfit?
SimpleDesprit
il y a 2 mois
Comment tu détectes l'underfit?
Simple: tu compares tes critères de performance sur le training set et testing set. Si sur testing set, tu as une meilleure performance qu'en training, alors c'est du underfitting
marcassin76
il y a 2 mois
C'est là qu'on voit que vous y connaissez rien et que vous faites les cuistres.
SimpleDesprit
il y a 2 mois
C'est là qu'on voit que vous y connaissez rien et que vous faites les cuistres.
OK le connaisseur. Qu'apporte-tu de concret?
FionMignon
il y a 2 mois
Simple: tu compares tes critères de performance sur le training set et testing set. Si sur testing set, tu as une meilleure performance qu'en training, alors c'est du underfitting
Meilleure perf en testing qu'en training, tu as pas ça à tous les entrainements, tu fais comment pour choisir le réseau quand ça n'arrive pas?
SimpleDesprit
il y a 2 mois
Meilleure perf en testing qu'en training, tu as pas ça à tous les entrainements, tu fais comment pour choisir le réseau quand ça n'arrive pas?
Justement, il me demandait comment savoir si j'underfit ou pas. Mais dans la réalité on a quasi toujours du overfit. Donc on va se fixer une limite pour dire par exemple si TEST/TRAIN >= 1 + epsilon on s'arrête
Autre méthode, c'est de se servir validation set
dabhu00
il y a 2 mois
Tiens un classique que j'aime poser en entretien:
T'as un binary classifier qui te retourne un vecteur de predictions p.
Tu as s1 = roc_auc_score(y,p)
On calcul aussi s2 = roc_auc_score(y,p2) où p2 est simplement le vecteur p au carré.
Comment évolue s2 par rapport à s1?
dabhu00
il y a 2 mois
Deuxième question:
Le state of the art actuellement sur les données tabulaires sont les algos de boosting. C'est indéniable.
Néanmoins, les algos de boosting souffrent d'un énorme handicape par rapport aux regressions linéaires. Sais-tu lequel?
SimpleDesprit
il y a 2 mois
Tiens un classique que j'aime poser en entretien:T'as un binary classifier qui te retourne un vecteur de predictions p.
Tu as s1 = roc_auc_score(y,p)
On calcul aussi s2 = roc_auc_score(y,p2) où p2 est simplement le vecteur p au carré.Comment évolue s2 par rapport à s1?
Ca sera constant
SimpleDesprit
il y a 2 mois
Deuxième question:
Le state of the art actuellement sur les données tabulaires sont les algos de boosting. C'est indéniable.Néanmoins, les algos de boosting souffrent d'un énorme handicape par rapport aux regressions linéaires. Sais-tu lequel?
C'est un classique: interprétabilité (car tu augnentes la complexité du modèle). Il y a aussi le risque plus elevé d'overfitting
dabhu00
il y a 2 mois
Une dernière pour la route:
Est ce qu'une p-value (test de Student) très faible garantie toujours l'explicabilité d'une target y par une variable X?
dabhu00
il y a 2 mois
C'est un classique: interprétabilité (car tu augnentes la complexité du modèle). Il y a aussi le risque plus elevé d'overfitting
L'interpretabilité peut se contourner avec des méthodes secondaires genre SHAP, et l'overfitting, si tu tunes bien ton modèle, c'est à priori pas un problème.
Par contre il y a un autre gros avantage des modèles linéaires par rapport aux algos de boosting, et très peu de vrai data scientists en ont conscience
SimpleDesprit
il y a 2 mois
Une dernière pour la route:Est ce qu'une p-value (test de Student) très faible garantie toujours l'explicabilité d'une target y par une variable X?
Ca n'a pas forcement un lien. Une p-value plus faible signifie qu'on renonce à l'H0 c'est tout
SimpleDesprit
il y a 2 mois
L'interpretabilité peut se contourner avec des méthodes secondaires genre SHAP, et l'overfitting, si tu tunes bien ton modèle, c'est à priori pas un problème.
Par contre il y a un autre gros avantage des modèles linéaires par rapport aux algos de boosting, et très peu de vrai data scientists en ont conscience
Comment tu contournes l'interpretabilité avec de l'overfitting ? Genre tu build un modèle plus simple à partir du gros pour le rendre moins opaque?
AbeilleDansante
il y a 2 mois
Tu saurais m'expliquer simplement comment fonctionne l'algorithme itératif de Lie ?
SimpleDesprit
il y a 2 mois
Tu saurais m'expliquer simplement comment fonctionne l'algorithme itératif de Lie ?
Jamais entendu parlé
dabhu00
il y a 2 mois
Comment tu contournes l'interpretabilité avec de l'overfitting ? Genre tu build un modèle plus simple à partir du gros pour le rendre moins opaque?
Pour l'interpretabilité: renseigne toi sur les shapeley values.
Sinon, la réponse que j'attendais c'est que les algos de boosting, étant basé sur les decisions trees, sont très sensible aux distributions drifts contrairement à la regression linéaire. C'est pas un problème d'overfitting ici, car tu peux très bien fit le train et test set à un instant donné. Mais comme les decision trees fonctionnent en segmentant l'espace d'entrainement, dès que tu sors de cette espace (qui est fini), ton modèle est en PLS (et ça arrive plus souvent qu'on ne le pense)
SimpleDesprit
il y a 2 mois
Pour l'interpretabilité: renseigne toi sur les shapeley values.
Sinon, la réponse que j'attendais c'est que les algos de boosting, étant basé sur les decisions trees, sont très sensible aux distributions drifts contrairement à la regression linéaire. C'est pas un problème d'overfitting ici, car tu peux très bien fit le train et test set à un instant donné. Mais comme les decision trees fonctionnent en segmentant l'espace d'entrainement, dès que tu sors de cette espace (qui est fini), ton modèle est en PLS (et ça arrive plus souvent qu'on ne le pense)
Je connais les Shapeley value (déjà utilisé notamment la biblio SHAP et le deepExplainer)
Bah le distribution drifts ce n'est pas lié au type de modèle. L'explication que tu donnes marches pour tous les modèles en fait
dabhu00
il y a 2 mois
Ca n'a pas forcement un lien. Une p-value plus faible signifie qu'on renonce à l'H0 c'est tout
H0 est censé te dire que ta variable est significative avec une forte probabilité si la p value est faible.
Par contre ce raisonnement n'est pas valable si tu as oublié un facteur de confusion dans ton analyse. Il y a alors risque de tomber dans un paradoxe de Simpson. (Dernier en date à ma connaissance: les cartes d'efficacité du vaccin durant le covid, où ces low au gouvernement ont oublié de mentionner sur leur jolis cartes qu'il y avait des disparités d'ages selon les régions et que ces disparités coincidaient avec des comportements locaux...)
dabhu00
il y a 2 mois
Je connais les Shapeley value (déjà utilisé notamment la biblio SHAP et le deepExplainer)
Bah le distribution drifts ce n'est pas lié au type de modèle. L'explication que tu donnes marches pour tous les modèles en fait
Non.
Prend une relation simple. y = a x
tu as un train set, avec des valeurs entre 0 et 1.
La regression linéaire va te trouver a et par la suite si ton x drift avec des valeurs > 1, et bien ton modele sera tojujours valide.
Par contre si tu essayes de fit un boosting tree, tu aura peut etre de tres bons resultat pour tout x€[0,1], mais ensuite, pour tout x>1, tu prediras toujours "a", quelque soit x (et tu predira 0 pour tout x< 0)
IndigoChildRick
il y a 2 mois
Azy je poste comme ça je viendrai lire quand je m'ennuierai au taf, ça me permettra de peaufiner mon cv
Je suis data scientist depuis maintenant 10 ans mais j'ai eu que très rarement affaire à des situations dans lesquelles la maîtrise des concepts dont vous parlez était vraiment utile (à part en entretien, ou pour un concours de bite, et dans le métier c'est malheureusement souvent le cas).
Vous occupez quels postes pour avoir affaire à ça tous les jours au travail ?
dabhu00
il y a 2 mois
Non.
Prend une relation simple. y = a x
tu as un train set, avec des valeurs entre 0 et 1.
La regression linéaire va te trouver a et par la suite si ton x drift avec des valeurs > 1, et bien ton modele sera tojujours valide.Par contre si tu essayes de fit un boosting tree, tu aura peut etre de tres bons resultat pour tout x€[0,1], mais ensuite, pour tout x>1, tu prediras toujours "a", quelque soit x (et tu predira 0 pour tout x< 0)
J'ai eu l'exemple sur une competion kaggle il y a pas longtemps avec de la prediction de production electrique par panneau solaire.
Tu peux train un algo de boosting sur des parametres genre la radiance solaire, le taux de couverture nuageuse et la capacité total installé. Tu as bien l'intuition que la relation devrait aps trop bouger dans le futur. Sauf que la capacité installé risque d'augmenter au cours du temps, provoquant le fameux drift de distribution. Ton tree-base modele va être perdu dans ce cas de figure, sauf si tu penses a normaliser ta target par la capacité installé et que tu reviens ainsi à un X stationnaire au cours du temps .
dabhu00
il y a 2 mois
J'ai eu l'exemple sur une competion kaggle il y a pas longtemps avec de la prediction de production electrique par panneau solaire.
Tu peux train un algo de boosting sur des parametres genre la radiance solaire, le taux de couverture nuageuse et la capacité total installé. Tu as bien l'intuition que la relation devrait aps trop bouger dans le futur. Sauf que la capacité installé risque d'augmenter au cours du temps, provoquant le fameux drift de distribution. Ton tree-base modele va être perdu dans ce cas de figure, sauf si tu penses a normaliser ta target par la capacité installé et que tu reviens ainsi à un X stationnaire au cours du temps .
Un autre exemple: les prix de l'immo. Une regression linéaire ou un SVR fait le taff. Mais un boosting tree se fera rekt par l'inflation des prix
dabhu00
il y a 2 mois
Azy je poste comme ça je viendrai lire quand je m'ennuierai au taf, ça me permettra de peaufiner mon cvJe suis data scientist depuis maintenant 10 ans mais j'ai eu que très rarement affaire à des situations dans lesquelles la maîtrise des concepts dont vous parlez était vraiment utile (à part en entretien, ou pour un concours de bite, et dans le métier c'est malheureusement souvent le cas).
Vous occupez quels postes pour avoir affaire à ça tous les jours au travail ?
Je suis lead data scientist perso, mais c'est en faisant du ml compétitif que j'ai du peaufiner mes armes (merci Kaggle )
IndigoChildRick
il y a 2 mois
Classique: overfitting / underfitting
Mouai je ne suis pas convaincu là. T'as l'air d'avoir pas mal de connaissances mais le compromis biais-variance c'est un concept qui se décrit par un peu plus que la dualité overfitting/underfitting (e.g. définition du biais, de la variance, explication que c'est l'espérance de l'erreur de prédiction qu'on cherche à analyser, sa décomposition en 3 termes, existence du dilemme biais-variance dans le contexte d'apprentissage supervisé…)
Finalement je me demande si tu serais pas une machine à passer des entretiens mais totalement dérouté une fois mis dans une équipe à un poste d'ingénieur…
On a tous notre domaine du ML préféré mais là c'est quand même la base de la base de la réflexion et de la démonstration que tu connais d'autres trucs que les choses à la mode
IndigoChildRick
il y a 2 mois
Je suis lead data scientist perso, mais c'est en faisant du ml compétitif que j'ai du peaufiner mes armes (merci Kaggle )
Ok je vois c'est le ML et la data science et leur pratique en tant que hobby plutôt que ton travail quotidien qui t'ont permis d'atteindre ton niveau si je comprends bien
dabhu00
il y a 2 mois
Ok je vois c'est le ML et la data science et leur pratique en tant que hobby plutôt que ton travail quotidien qui t'ont permis d'atteindre ton niveau si je comprends bien
Ouai mais crois le ou non, cette culture G en ML me sert tous les jours aussi dans mon travail. Ça permet de se forger rapidement une intuition de ce qui est possible/pas possible de faire.
J'en viens à être tellement pragmatique que 9x / 10 la solution aux projets sur lesquelles je bosse n'a souvent pas besoin de ML...
IndigoChildRick
il y a 2 mois
IndigoChildRick
il y a 2 mois
Ouai mais crois le ou non, cette culture G en ML me sert tous les jours aussi dans mon travail. Ça permet de se forger rapidement une intuition de ce qui est possible/pas possible de faire.
J'en viens à être tellement pragmatique que 9x / 10 la solution aux projets sur lesquelles je bosse n'a souvent pas besoin de ML...
Oui lol ça normalement au bout d'1 ou 2 ans d'expérience tu t'en rends compte
IndigoChildRick
il y a 2 mois
SimpleDesprit
il y a 2 mois
Non.
Prend une relation simple. y = a x
tu as un train set, avec des valeurs entre 0 et 1.
La regression linéaire va te trouver a et par la suite si ton x drift avec des valeurs > 1, et bien ton modele sera tojujours valide.Par contre si tu essayes de fit un boosting tree, tu aura peut etre de tres bons resultat pour tout x€[0,1], mais ensuite, pour tout x>1, tu prediras toujours "a", quelque soit x (et tu predira 0 pour tout x< 0)
OK je vais aller reverifier mes notions de base mais ça me parait bizarre. Data drift, distribution drift, ...
SimpleDesprit
il y a 2 mois
L'OP une facile : en forecast l'utilisation de la MAPE est vraiment déconseillée, pourquoi ?
La MAPE pénalise plus fortement les erreurs sur des valeurs petites que sur des valeurs grandes
SimpleDesprit
il y a 2 mois