Je suis incollable sur le Machine Learning (j'ai seulement le bac pourtant)

OP
SD

SimpleDesprit

il y a 2 mois

En gros, ca permet d'avoir des modeles clairesemés

P3

Pseudoj3table47

il y a 2 mois

Comment faire pour que chatgpt ne soit plus bridé ?

OP
SD

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.

WA

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?

OP
SD

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

T[

tom[jv]

il y a 2 mois

Pourquoi tu fais pa un bot de machine learning de trading ?

OP
SD

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

V7

volleyclub75015

il y a 2 mois

Comment fonctionne le Machine Learning des aliens de type "Petit gris" ?

PT

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.

OP
SD

SimpleDesprit

il y a 2 mois


Comment fonctionne le Machine Learning des aliens de type "Petit gris" ?

Ca n'existe pas ça

WA

waeko

il y a 2 mois

pourquoi un rnn ne peut pas modelise de longue sequence contrairement au transformer?

OP
SD

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

V7

volleyclub75015

il y a 2 mois

Ca n'existe pas ça


t'es clairement pas ready toi

FM

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

OP
SD

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)

OP
SD

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

FM

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?

OP
SD

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

FM

FionMignon

il y a 2 mois

Comment tu détectes l'underfit?

OP
SD

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

M7

marcassin76

il y a 2 mois

C'est là qu'on voit que vous y connaissez rien et que vous faites les cuistres.

OP
SD

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?

FM

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?

OP
SD

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

D0

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?

D0

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?

OP
SD

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

OP
SD

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

D0

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?

D0

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

OP
SD

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

OP
SD

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?

AD

AbeilleDansante

il y a 2 mois

Tu saurais m'expliquer simplement comment fonctionne l'algorithme itératif de Lie ?

OP
SD

SimpleDesprit

il y a 2 mois


Tu saurais m'expliquer simplement comment fonctionne l'algorithme itératif de Lie ?

Jamais entendu parlé

D0

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)

OP
SD

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

D0

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...)

D0

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)

IC

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 ?

D0

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 .

D0

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

D0

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 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 ?

Je suis lead data scientist perso, mais c'est en faisant du ml compétitif que j'ai du peaufiner mes armes (merci Kaggle )

IC

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

IC

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

D0

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...

IC

IndigoChildRick

il y a 2 mois

Ok j'ai lu tout le topic et ça va je suis pas si nul que je le craignais c'est bon
IC

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

IC

IndigoChildRick

il y a 2 mois

L'OP : en forecast l'utilisation de la MAPE est vraiment déconseillée, pourquoi ?
OP
SD

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, ...

OP
SD

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