Suraprentissage

Bonjour
Je viens de commencer le cours d'apprentissage statistique !
Le problème c'est que je n'arrive pas encore à bien comprendre le surapprentissage.
Je sais que l'objectif est de choisir le modèle qui minimise le plus le risque théorique, et comme on ne connaît pas la loi des données, on l'estime avec le risque empirique. Ce dernier si on le minimise, la variance va augmenter et donc on aura un problème de surapprentissage.

Est-ce que ça marche comme ca ?
Pour vérifier le risque théorique est-ce qu'on a que le risque empirique ?
Merci pour vos retours.
Bien cordialement.

Réponses

  • Bon j'y connais rien, donc fais gaffe à ce que je raconte.

    Le surapprentissage j'ai rencontré ça dans les réseaux de neurones (et j'y connais rien non plus).
    En fait il ya suroptimisation parce que les règles sont établies sur du "à postériori", forcément à partir du connu.
    Donc les règles collent trop pour obtenir ces données connues là.

    La solution est de ne pas lui faire voir toutes les données.
    Le machin neuronal va établir ses règles sur une partie des données = les données vues.
    Et ensuite tu regardes si ces règles fonctionnent sur les données non vues, données qu'il n'a pas pu suroptimiser, qu'il n'a pas surappris.

    ainsi tu as deux empiriques,
    l'empirique des données vues et apprises (avec son risque de surapprentissage)
    et un quasi théorique, l'empirique des données non vues pour l'apprentissage.

    Bon, désolé si c'est hors sujet de ta préoccupation.
    D'autres personnes te répondront.
  • Dans la plupart des problématiques d'apprentissage statistiques on finit par poser un problème d'optimisation où la fonction objectif est somme de deux termes : un terme "d'attache aux données" et un terme de "régularisation". L'idée derrière cette régularisation est d'éviter le sur-apprentissage.

    Alors, qu'est-ce que le sur-apprentissage ? C'est d'optimiser pour le risque empirique, et donc de ne généralement pas être optimal pour le risque théorique. Une bonne manière de visualiser cela est de repenser à le régression linéaire.
    Supposons que tu as un nuage de points $(x_i,y_i)$ qui sont à peu près alignés. Tu cherches à construire une fonction $f$ qui à partir de $x$ prédit $y$. Deux idées classiques :
    1) faire une interpolation polynomiale (par exemple de Lagrange) : tu obtiens une fonction $f_L$ qui, pour chacune des données $x_i$ vérifie $f_L(x_i)=y_i$. De plus la fonction est parfaitement lisse (puisque polynomiale).
    2) faire une régression linéaire : tu obtiens une fonction affine $f_R$ qui ne vérifie pas exactement $f_L(x_i)=y_i$.
    Très clairement le choix 2) donneras de nettement meilleurs résultats pour la minimisation de l'erreur théorique (en effet le polynôme $f_L$ va avoir de très très fortes oscillations), quand bien même l'erreur empirique serait moins bonne...

    Comment faire pour évaluer ce sur-apprentissage ?
    La manière la plus basique consiste à séparer tes données en deux blocs : un bloc d'apprentissage (sur lequel tu construis ton modèle) et un bloc de test qui te permettra d'évaluer la qualité du modèle "out of sample", c'est sur ce bloc test que tu évalueras le "risque théorique". En général on réitère l'opération avec plusieurs découpages ce qui te permet d'avoir une estimation de l'espérance du risque théorique et de sa variance.
    Pour être plus économe en données on procède plutôt par cross-validation : tu découpes tes données en 5, utilise les 4/5 pour l'apprentissage, et le dernier 1/5 pour l'évaluation. Et tu répètes l'opération pour les 5 combinaisons.

    Enfin je suis sûr que tu verras ces outils un peu plus loin dans ton cours.
  • Merci bien .. la vision est plus claire maintenant.
Connectez-vous ou Inscrivez-vous pour répondre.