Un modèle suréquipé est-il nécessairement inutile?

25

Supposons qu'un modèle a une précision de 100% sur les données de formation, mais une précision de 70% sur les données de test. L'argument suivant est-il vrai à propos de ce modèle?

Il est évident qu'il s'agit d'un modèle sur-équipé. La précision du test peut être améliorée en réduisant le sur-ajustement. Mais, ce modèle peut toujours être un modèle utile, car il a une précision acceptable pour les données de test.

Hossein
la source
17
Si 70% est acceptable dans les applications particulières, je suis d'accord avec vous.
Richard Hardy
6
Je suis entièrement d'accord avec @RichardHardy. Prenons, par exemple, une forêt aléatoire: souvent, par construction, la performance de l'échantillon (et non la performance hors du sac) est proche de 100%, donc excessivement sur-ajustée. Mais malgré tout, les performances inférieures évaluées hors du sac ou sur des ensembles de test / validation peuvent être suffisamment élevées pour en faire un modèle utile.
Michael M
1
@Metariat Pourquoi pas? Cette précision obtenue sur le banc d'essai qui n'est pas utilisé en phase de formation.
Hossein
3
@Metariat, Un tel argument peut éliminer la plupart des pratiques statistiques, par exemple l'estimateur OLS dans le modèle linéaire normal, le test pour l'égalité d'une moyenne d'échantillon à une valeur hypothétique, etc. Ce qui est intéressant, c'est que l'argument ne dépend pas du surajustement du modèle sur l'échantillon d'apprentissage. Il convient également aux modèles de sous-vêtements et à tout modèle en général. N'est-ce pas exact? t
Richard Hardy
4
Je n'appellerais pas ce modèle suréquipé. Un modèle surajusté est établi en comparant les performances de validation aux performances de test. Même alors, seulement si les performances du test étaient considérablement inférieures à ce qui était acceptable, peut-être de manière catastrophique. Les performances d'entraînement ne signifient rien.
Firebug

Réponses:

32

Je pense que l'argument est correct. Si 70% est acceptable dans l'application particulière, alors le modèle est utile même s'il est sur-ajusté (plus généralement, qu'il soit sur -ajusté ou non).

Bien que l'équilibre entre le sur-ajustement et le sous-ajustement concerne l' optimalité (à la recherche d'une solution optimale), avoir des performances satisfaisantes concerne la suffisance (le modèle fonctionne-t-il suffisamment bien pour la tâche?). Un modèle peut être suffisamment bon sans être optimal.

Edit: après les commentaires de Firebug et Matthew Drury sous l'OP, j'ajouterai que juger si le modèle est surajusté sans connaître les performances de validation peut être problématique. Firebug suggère de comparer la validation par rapport aux performances du test pour mesurer la quantité de sur-ajustement. Néanmoins, lorsque le modèle fournit une précision de 100% sur l'ensemble d'entraînement sans fournir une précision de 100% sur l'ensemble de test, c'est un indicateur de sur-ajustement possible (en particulier dans le cas de la régression mais pas nécessairement dans la classification).

Richard Hardy
la source
Vous avez demandé un exemple: prenez le code d'un réseau neuronal sur le jeu de données iris à stats.stackexchange.com/a/273930/2958 , puis essayez avec set.seed(100)une illustration comme le phénomène décrit ici et set.seed(15)pour le contraire. Peut-être vaut-il mieux dire "un indicateur de sur- ajustement possible "
Henry
Est-il jamais possible pour un modèle d'atteindre une précision de 100% à la fois sur le train et le test et n'a pas suréquipé?
Rika
1
@Breeze, je pense que vous pourriez demander ceci sur un fil séparé (et lier à celui-ci pour le contexte si nécessaire).
Richard Hardy
Je viens de faire ici est le lien
Rika
25

Dans mon projet précédent avec la détection de fraude par carte de crédit, nous voulons intentionnellement ajuster les données / codées en dur pour mémoriser les cas de fraude. (Remarque: le sur-ajustement d'une classe n'est pas exactement le problème de sur-ajustement général dont OP a parlé.) Un tel système a des faux positifs relativement faibles et satisfait nos besoins.

Donc, je dirais qu'un modèle surajusté peut être utile dans certains cas.

Haitao Du
la source
5
Cette réponse est assez intéressante car elle présente un cas d'utilisation. Je pense qu'avec "codé en dur à retenir" @ hxd1011, cela signifie que le modèle s'est assuré que chacun des cas de fraude signalés mène à un "indicateur de fraude" et qu'ils n'ont pas été lissés ou interpolés par une fonction, euh, disons, adaptée. . Quelque chose comme ça, non?
IcannotFixThis
@IcannotFixThis oui. En fait, nous avons essayé de nombreuses autres façons de contrôler les faux positifs. Mais essayer de surcharger les cas de fraude, de manière folle, a bien fonctionné.
Haitao Du
3
ββ
3
Cela peut être ennuyeux, mais c'est des milliers de fois moins ennuyeux que de voir votre financement ruiné parce que quelqu'un d'infâme a obtenu les informations de votre carte.
Matthew Drury
12

Peut-être: méfiez-vous. Lorsque vous dites qu'une précision de 70% (quelle que soit la mesure) est suffisante pour vous, vous avez l'impression de supposer que les erreurs sont distribuées de manière aléatoire ou uniforme.

Mais l'une des façons d'envisager le sur-ajustement est qu'elle se produit lorsqu'une technique de modèle permet (et son processus de formation encourage) d'accorder trop d'attention aux bizarreries dans l'ensemble de formation. Les sujets de la population générale qui partagent ces caprices peuvent avoir des résultats très déséquilibrés.

Alors peut-être que vous vous retrouvez avec un modèle qui dit que tous les chiens rouges ont un cancer - en raison de cette bizarrerie particulière dans vos données d'entraînement. Ou que les personnes mariées âgées de 24 à 26 ans sont presque garanties de déposer des réclamations d'assurance frauduleuses. Votre précision de 70% laisse beaucoup de place pour que les poches de sujets se trompent à 100% car votre modèle est trop ajusté.

(Ne pas être surajusté n'est pas une garantie que vous n'aurez pas de poches de mauvaises prédictions. En fait, un modèle sous-ajusté comportera de nombreuses mauvaises prédictions, mais avec un sur-ajustement, vous savez que vous amplifiez l'effet des caprices dans vos données d'entraînement .)

Wayne
la source
Merci. Voulez-vous dire qu'il est possible que cette précision de 70% soit obtenue sur les caprices des données d'entraînement qui sont également disponibles dans les données de test? Ne pouvons-nous pas juger sur la base de l'exactitude des données de test? Je pense que les bizarreries dans les données de formation qui sont disponibles dans les données de test devraient être apprises pendant la formation.
Hossein
1
Si je vous comprends, ce serait le contraire: le sur-ajustement aux bizarreries vous a donné votre grande précision à l'entraînement. La raison pour laquelle vous obtenez une précision inférieure dans les tests est que ces bizarreries ne s'appliquent pas à votre ensemble de données global. Mais bien sûr, vos ensembles de formation et de test - même si vous effectuez une validation croisée, ce qui aide - peuvent être originaux par rapport à votre population. Dans ce cas, vos résultats de test / validation ne permettront pas de bien prédire comment vous effectuez réellement.
Wayne
Vous avez raison de dire que l'ensemble de tests peut être décalé par rapport à la population, mais ce n'est pas spécifique aux modèles surévalués. Toutes nos évaluations en souffrent et nous n'avons d'autre choix que de nous appuyer sur l'ensemble de test comme indicateur de la population réelle.
Hossein
Certes, ce n'est pas unique aux modèles sur-équipés, mais il est amplifié dans un modèle sur-ajusté. Je veux dire par définition que le modèle est trop ajusté car il souffre clairement de trop insister sur les caprices.
Wayne
7

Non, ils peuvent être utiles, mais cela dépend de votre objectif. Plusieurs choses me viennent à l'esprit:

  1. Fββ1

  2. Un tel classificateur peut être vraiment utile dans un ensemble . Nous pourrions avoir un classificateur avec des poids normaux, un surpondérant TPR, un surpondérant FNR. Ensuite, même un simple vote par règle de trois, ou une moyenne, donnera une meilleure ASC que n'importe quel meilleur classificateur. Si chaque modèle utilise des hyperparamètres différents (ou des ensembles d'apprentissage sous-échantillonnés ou des architectures de modèle), cela confère à l'ensemble une certaine immunité contre le sur-ajustement.

  3. De même, pour l' anti-spam, l'anti-fraude ou la notation de crédit en temps réel , il est correct et souhaitable d'utiliser une hiérarchie de classificateurs. Les classificateurs de niveau 1 devraient évaluer très rapidement (ms) et c'est correct d'avoir un FPR élevé ; toutes les erreurs qu'ils commettent seront détectées par des classificateurs de niveau supérieur plus précis, plus complets et plus lents, ou finalement par des évaluateurs humains. Exemple évident: empêcher les gros titres de fausses nouvelles des prises de contrôle de compte Twitter comme l'attentat à la bombe de la Maison-Blanche de 2013 en tue trois »d'affecter des milliards de dollars de transactions dans les ms qui suivent la publication. Il est normal que le classificateur de niveau 1 le signale comme positif pour le spam; laissons cela prendre un peu de temps pour déterminer (automatiquement) la vérité / le mensonge des reportages sensationnels mais non vérifiés.

smci
la source
2

Je ne nie pas qu'un modèle suréquipé pourrait toujours être utile. Mais gardez à l'esprit que ces 70% pourraient être des informations trompeuses. Ce dont vous avez besoin pour juger si un modèle est utile ou non, c'est l' erreur hors échantillon , pas l'erreur de test (l' erreur hors échantillon n'est pas connue, nous devons donc l'estimer à l'aide d'un ensemble de tests en aveugle ), et que 70% est à peine la bonne approximation.

Afin de nous assurer que nous sommes sur la même page sur la terminologie après le commentaire de @RichardHardy, définissons l'erreur de test comme l'erreur obtenue lors de l'application du modèle sur l'ensemble de test aveugle. Et l'erreur hors échantillon est l'erreur lors de l'application du modèle à l'ensemble de la population.

L'approximation de l'erreur hors échantillon dépend de deux choses: le modèle lui-même et les données.

  • Un modèle «optimal» donne une précision (d'essai) qui ne dépend guère des données, dans ce cas, ce serait une bonne approximation. "Indépendamment" des données, l'erreur de prédiction serait stable.

  • Mais, la précision d'un modèle surajusté dépend fortement des données (comme vous l'avez mentionné à 100% sur l'ensemble d'entraînement et à 70% sur l'autre ensemble). Il peut donc arriver que lors de l'application à un autre ensemble de données, la précision puisse être inférieure à 70% (ou supérieure), et nous pourrions avoir de mauvaises surprises. En d'autres termes, ces 70% vous disent ce que vous pensez que c'est, mais ce n'est pas le cas.

Metariat
la source
1
Étant donné que l'ensemble de test utilisé qui obtient une précision de 70% n'est pas vu dans la phase de formation, n'est-ce pas une bonne estimation de l'erreur hors échantillon? Je pense que la différence entre l'erreur d'apprentissage (100%) et l'erreur de test (70%) n'est pas une bonne indication de la différence entre l'erreur hors échantillon et l'erreur de test. Il est possible que le modèle surajusté soit précis à 70% dans le monde réel, tandis qu'il est précis à 100% pour les données d'entraînement. Je m'attends à ce que l'erreur de formation soit inférieure à l'erreur de test, car les données de formation sont utilisées pour générer le modèle, mais les données de test ne sont pas visibles pendant la formation.
Hossein
5
Je pense que vous pourriez avoir confondu l' ensemble de validation et l' ensemble de test , et leurs erreurs respectives. L' erreur de test est l' erreur hors échantillon . Bien que l' erreur de validation soit une mesure optimiste d'un modèle sélectionné, l' erreur de test ne l'est pas. L' erreur de test est une estimation non biaisée de la performance du modèle sur un nouvel échantillon de la même population. Nous pouvons estimer la variance de l'erreur de test, nous sommes donc très bien en ne connaissant que l' erreur de test tant que l'ensemble de test n'est pas trop petit. @Hossein
Richard Hardy
3
Pouvez-vous nous expliquer la différence entre l'erreur hors échantillon et l'erreur de test? D'après ma compréhension, les deux sont l'erreur trouvée lors de l'application du modèle à des échantillons non utilisés pour former le modèle. La seule différence possible que je peux voir est lors de l'utilisation de données de séries chronologiques, les données hors échantillon devraient provenir de points temporels ultérieurs, mais cette question n'en fait pas mention.
Nuclear Wang
1
De mon point de vue, l'erreur de test est l'erreur obtenue lors de l'application du modèle dans un ensemble en aveugle, c'est une approximation de l'erreur hors échantillon, qui est l'erreur obtenue lors de l'application du modèle à l'ensemble de la population. Et ce n'est pas la même chose, les informations précieuses sont l'erreur hors échantillon. Et lorsque le modèle est surajusté, l'erreur de test n'est pas stable et de mauvaises suppressions pourraient se produire sur les autres ensembles de données.
Metariat
4
@Metariat, vous avez raison de dire que l'erreur de test est une estimation et qu'elle peut être différente d'un ensemble de tests à l'autre. Cependant, comme je l'ai mentionné précédemment, il n'y a aucune raison de s'attendre à ce que l'erreur de test sous-estime la vraie erreur (ce n'est pas le cas, en moyenne). Ainsi, en prenant un échantillon de test suffisamment grand, nous pouvons limiter l'erreur de test avec un niveau de confiance souhaité à une plage souhaitée. Maintenant, plus concrètement, vous devriez peut-être définir l'erreur de test en modifiant votre réponse pour vous assurer qu'il n'y a pas de malentendu sur ce que vous entendez lorsque vous comparez l'erreur de test avec l'erreur hors échantillon.
Richard Hardy