cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • New to JMP? Join us Sept. 23-24 for the Early User Edition of Discovery Summit, tailor-made for new users. Register now for free!
  • Your voice matters! Tell us how you prefer to receive JMP updates, so we can tailor our communication to your needs. Take short survey.
  • See how to access JMP Marketplace - and - find, create & share add-ins to extend your JMP. Watch video.

Discussions

Solve problems, and share tips and tricks with other JMP users.
Choose Language Hide Translation Bar
RikkiTikkiTavi
Level II

Intégrer une estimation initiale (heuristic) dans un modèle prédictif (machine learning)

J’essaie de développer un outil que j’appelle Blend Search. Il fonctionne OK, mais j’imagine une amélioration que je ne sais pas encore réaliser techniquement..

Ce que fait Blend Search :
>> input est une collection de composants avec leurs propriétés
>> génération d’une matrice de compositions
>> application de heuristics (modèles simples) pour calculer les propriétés des blends
>> application d’un modèle plus complexe, actuellement un Boosted Tree. Ses prédicteurs sont les propriétés de blends estimées par les heuristics et sa output est aussi une propriété du mélange

J’ai fait une visualisation de Boosted Tree (voir dans la vidéo jointe)

L’un des prédicteurs (Predictor 3) constitue déjà une première estimation de ma propriété cible (Predicted). Dans mon idée initiale, les 2 autres prédicteurs devaient servir à corriger cette première estimation. Aujourd’hui, le modèle fournit des prédictions cohérentes, on sort rarement de la zone de prédiction.

Mais en réalité je ne corrige pas ma première estimation, je corrige la moyenne des Y du training set (l’intercept du Boosted Tree par défaut). Si je veux scale up mon Blend Search, cette approche ne soit plus plus suffisamment robuste.

Je voudrais pouvoir prédire en corrigeant ma première estimation. Par exemple j'aurais bien aimé avoir un sort d'intercept variable pour mon Boosted Tree. Je n’arrive pas à imaginer la bonne solution, mais je suis presque sûre qu’il existe déjà des techniques. Si vous avez des idées, je serais très heureuse d’avoir vos avis

1 REPLY 1
Victor_G
Super User

Re: Intégrer une estimation initiale (heuristic) dans un modèle prédictif (machine learning)

Hello @RikkiTikkiTavi,

Je ne suis pas sûr d'avoir compris toute la chaîne de modélisation algorithmique, mais j'ai peut-être une idée pour vous. Deux approches sont possibles pour améliorer les prédictions : une approche boosting (pour réduire le biais des prédictions) et une approche bagging/model averaging (pour réduire la variance des prédictions).

  • Approche Boosting: Si le but est d'améliorer les prédictions de la propriété cible en corrigeant un biais (réponse moyenne prédite par rapport à la réponse moyenne mesurée), vous pourriez entraîner un modèle de Machine Learning à prédire les résidus de cette propriété cible à partir des données brutes et/ou estimées ainsi que des predictions de la propriété cible (afin de modéliser les erreurs en fonction des variables d'origine et des prédictions). Vous auriez ainsi un modèle qui prédit les erreurs du Boosted Tree, et qui servirait de couche de correction à l'arbre boosté (en ajoutant/soustrayant les prédictions de résidus aux prédictions du Boosted Tree).
    J'ai déjà utilisé cette approche plusieurs fois, et le gain de performances peut vraiment être très intéressant. Il peut être intéressant d'utiliser un autre type de modèle pour la modélisation d'erreur que celui utilisé pour les prédictions (donc autre que Boosted Tree dans votre cas). Attention aussi à bien valider ce nouveau modèle correctement en évitant tout sur-ajustement, avec une stratégie de validation (pour la comparaison avec le modèle Boosted Tree seul) et test (pour l'évaluation des performances en conditions réelles) appropriée, ainsi que tout risque de data leakage, en n'utilisant pour la prédiction des erreurs que des données disponibles au moment de cette prédiction : prédicteurs + prédictions de la propriété cible.
  • Approche Bagging/model averaging: Une autre option afin de réduire la variance des prédictions consiste à entraîner un ensemble de modèles en parallèle (en plus du Boosted Tree), et de prendre la moyenne ou médiane de leurs prédictions. Attention aussi avec cette approche à mettre en place une stratégie validation + test appropriée.

Le choix d'une de ces options dépend des performances de votre modèle initial Boosted Tree et du bruit dans les données : si le Boosted Tree a tendance à overfitter ou si les données utilisées sont bruitées, une approche bagging est conseillée. Si le Boosted Tree sous-performe et a un biais élevé (ce qui paraît assez improbable vu le fonctionnement du modèle, à moins de paramétrages particuliers), l'approche Boosting sera plus efficace. Je testerai peut-être en priorité l'approche d'ensembling type bagging, vu que le modèle de prédiction utilisé (Boosted Tree) utilise déjà une approche type Boosting.


En espérant que ces options puissent vous inspirer,

Victor GUILLER

"It is not unusual for a well-designed experiment to analyze itself" (Box, Hunter and Hunter)

Recommended Articles