Question:
Pourquoi ne pas valider sur l'ensemble de la formation?
osa
2015-01-02 22:34:46 UTC
view on stackexchange narkive permalink

Nous avons un ensemble de données avec 10 000 instances étiquetées manuellement et un classificateur qui a été formé sur toutes ces données. Le classificateur a ensuite été évalué sur TOUTES ces données pour obtenir un taux de réussite de 95%.

Qu'est-ce qui ne va pas exactement avec cette approche? Est-ce juste que la statistique 95% n'est pas très informative dans cette configuration? Peut-il encore y avoir une certaine valeur dans ce nombre de 95%? Bien que je comprenne que, théoriquement, ce n'est pas une bonne idée, je n'ai pas assez d'expérience dans ce domaine pour être sûr par moi-même. Notez également que je n'ai ni construit ni évalué le classificateur en question.

À part le bon sens, quelqu'un pourrait-il me donner une référence très solide et faisant autorité, disant que cette configuration est en quelque sorte erronée?

Tout ce que je trouve sur Internet, ce sont des exemples de jouets censés transmettre une certaine intuition. Ici, j'ai un projet de professionnels avec une expérience établie, donc je ne peux pas simplement dire "c'est faux", d'autant plus que je n'en suis pas sûr.

Par exemple, ceci La page dit:

L'évaluation des performances du modèle avec les données utilisées pour l'entraînement n'est pas acceptable dans l'exploration de données car elle peut facilement générer des modèles suroptimistes et surajustés.

Cependant, ce n'est guère une référence faisant autorité. En fait, cette citation est manifestement erronée, car l'évaluation n'a rien à voir avec la génération de modèles sur-ajustés. Cela pourrait générer des data scientists suroptimistes qui choisiraient les mauvais modèles, mais une stratégie d'évaluation particulière n'a rien à voir avec le surajustement des modèles en soi.

De nombreuses personnes (à tort ou à raison) utilisent les évaluations de modèles pour sélectionner leur modèle final.Si tel est le cas, il y a un sens dans lequel une stratégie d'évaluation particulière (inappropriée) peut générer des modèles [finaux] sur-équipés.
Je voudrais simplement soulever vos doutes plus directement.Étant donné que vous dites que ce sont des professionnels avec une expérience établie, pourquoi ne leur demandez-vous pas spécifiquement pourquoi ils n'ont pas utilisé un ensemble de test indépendant.Je soupçonne que c'est un malentendu - peut-être qu'ils ont utilisé un ensemble de test séparé et ensuite formé sur toutes les données.
@seanv507, nous allons demander.Je m'assure simplement qu'il n'y a pas de recherche de pointe dans le domaine de la validation sur l'ensemble de formation ...
Bien que ce ne soit pas une réponse complète à votre question, peut-être qu'une certaine intuition peut être obtenue en considérant le cas suivant.Si un algorithme mémorisait explicitement les 10 000 de vos instances étiquetées, il aurait une précision de 100% lors de l'affichage de l'une de ces instances.Mais que ferait-il avec un label qu'il n'avait jamais vu auparavant ...
Maintenant que j'y pense, de par la nature de l'apprentissage, quel qu'il soit, tout modèle sensé devrait faire mieux quand il a vu les données sur lesquelles il est testé.Il serait vraiment étrange qu'un modèle fasse mieux sur d'autres ensembles de données du monde réel que sur celui sur lequel il a été formé, et il semble statistiquement improbable d'obtenir la même chose, disons 81% dans les deux cas.
Sept réponses:
jpl
2015-01-02 22:51:45 UTC
view on stackexchange narkive permalink

L'argument est simple: lorsque vous construisez un modèle, vous voulez que ce modèle soit efficace sur des données NOUVELLES, NON VUES, n'est-ce pas? Sinon, vous n'avez pas besoin d'un modèle.

Ensuite, votre métrique d'évaluation, disons précision et rappel, doit donner une idée du comportement de votre modèle sur des données invisibles.

Maintenant, si vous évaluez sur les mêmes données que vous avez utilisées pour l'entraînement, votre précision et votre rappel seront biaisés (presque certainement, plus élevés qu'ils ne le devraient), car votre modèle a déjà vu les données.

Supposons que vous soyez un enseignant qui passe un examen pour certains élèves. Si vous voulez évaluer leurs compétences, leur donnerez-vous des exercices qu'ils ont déjà vus, et qu'ils ont encore sur leur bureau, ou de nouveaux exercices, inspirés par ce qu'ils ont appris, mais différents d'eux?

C'est pourquoi vous devez toujours conserver un ensemble de tests totalement invisible pour l'évaluation. (Vous pouvez également utiliser la validation croisée, mais c'est une autre histoire).

Oui, merci, je sais tout cela.Y a-t-il des preuves à l'appui, quelque chose que je peux pointer et dire "regardez, ici ces 10 articles dans JEEE et cette vidéo disent tous que ce nombre de 95% n'a aucun sens"?
Eh bien, vous pouvez simplement leur expliquer ce que le bon sens dicte.Je pense qu'il serait assez difficile de trouver un article scientifique remontant à ces bases, mais vous pouvez vérifier n'importe quel cours d'apprentissage supervisé, par exemple celui-ci, choisi au hasard sur google: http://www.isys.ucl.ac.be/etudes/cours/linf2275/04classification.pdf (à partir de la diapositive 68)
Si vous voulez convaincre quelqu'un, vous pouvez entraîner un modèle qui obtient 0 erreur sur vos données en utilisant un grand réseau de neurones, un voisin k plus proche, un SVM ou une forêt aléatoire.(Ou un tableau qui mémorise ces données.) Il devrait être clair que ce n'est pas une propriété qui sera également valable pour les données futures.
L'évaluation d'un ensemble de formation est basée sur des diagnostics dans l'échantillon, comme AIC, $ R ^ 2 $ etc.
Le surajustement en est certainement l'un des résultats: le surajustement fait référence à la construction d'un modèle qui correspond parfaitement à vos données disponibles mais qui est trop spécifique pour être susceptible d'être utilisé pour la prédiction générale de nouvelles données.C'est exactement ce que c'est.C'est un type de surajustement différent, d'une certaine manière, de celui qui est dû aux modèles avec des polynômes de degré trop élevé ou similaires, mais cela renvoie au même problème.
Ouais, @osa a tort quand il dit que cela n'a rien à voir avec le surajustement.Cette réponse doit être corrigée.
Bien, j'ai modifié ma réponse et supprimé mon dernier commentaire sur le surajustement.
gung - Reinstate Monica
2015-01-02 23:54:00 UTC
view on stackexchange narkive permalink

@jpl a fourni une bonne explication des idées ici. Si ce que vous voulez n'est qu'une référence, j'utiliserais un manuel solide et basique. Quelques livres bien considérés qui couvrent l'idée de validation croisée et pourquoi c'est important pourraient être:

Neil G
2015-01-03 00:59:19 UTC
view on stackexchange narkive permalink

Si vous validez sur l'ensemble de l'entraînement, votre modèle idéal est celui qui ne fait que mémoriser les données. Rien ne peut le battre.

Vous dites que "de manière réaliste, ce n'est pas un modèle qui mémorise simplement les données". Mais pourquoi préférez-vous d'autres modèles? C'est le point de ma réduction à l'absurdité de valider sur toutes les données: la principale raison pour laquelle vous n'aimez pas le modèle qui mémorise tout ce qu'il a vu est qu'il ne se généralise pas du tout. Que doit-il faire étant donné une entrée qu'il n'a pas vue? Vous voulez donc un modèle qui fonctionne en général plutôt qu'un modèle qui fonctionne uniquement sur ce qu'il a vu. La façon dont vous encodez ce désir de bien travailler sur des données invisibles est de définir les données de validation pour être exactement ces données invisibles.

Cependant, si vous savez que vos exemples d'entraînement représentent complètement la vraie distribution, alors allez à l'avance et validez leur utilisation!

De plus, contrairement aux affirmations de votre dernier paragraphe, la citation que vous avez citée n'est pas "manifestement fausse" et cette "stratégie d'évaluation particulière" est-ce que a à voir "avec des modèles surajustés". Le surajustement signifie l'adaptation (le bruit des) exemples de formation fournis plutôt que les relations statistiques des données générales. En validant à l'aide de données vues, vous préférerez les modèles qui correspondent au bruit plutôt que ceux qui fonctionnent bien avec des données invisibles.

Oui, mais de manière réaliste, ce n'est pas un modèle qui mémorise simplement les données.C'est une sorte de classificateur standard, je suppose.C'est peut-être un très bon modèle, je ne le sais pas avec certitude.
Même certains classificateurs «standard» mémorisent les données - ou des parties de celles-ci.$ k $ - Les voisins les plus proches font évidemment cela (et rien de plus);en effet, avec $ k = 1 $, quelque chose ne va pas avec votre implémentation si vous ne parvenez pas à obtenir 100% sur l'ensemble d'entraînement.Naive Bayes ne mémorise pas * toutes * les données, mais extrait un énorme ensemble de probabilités conditionnelles.Celles-ci devraient vraiment être traitées comme des estimations échantillonnées avec une certaine incertitude, mais la validation sur l'ensemble de la formation «promeut» celles-ci à la valeur exacte de la population.
@MattKrause, MERCI!Je vois.Ainsi, presque n'importe quel classificateur binaire / numérique avec un paramètre réglable peut être considéré comme une interpolation, en quelque sorte, avec des réglages plus élevés du paramètre conduisant à un meilleur ajustement sur l'ensemble sur lequel il est entraîné.De même, un classificateur avec plusieurs paramètres réglables peut être considéré comme un problème d'optimisation sur l'ensemble d'apprentissage, car la seule chose que nous pouvons faire est d'optimiser.(À moins que, disons, nous modifions les paramètres pour obtenir un ajustement 50% moins bon sur l'ensemble d'entraînement que l'ajustement maximum sur l'ensemble d'entraînement).Ainsi, la plupart des classificateurs sont des interpolateurs / optimiseurs dans un certain espace.
@Neil G, je vois, donc l'argument pour lequel la validation croisée n'est pas parfaite est que les données proviennent "de la même distribution", et donc mesurer le pourcentage de suppositions correctes, tout en démontrant que le modèle prédit quelque chose, peut ne pas représenter l'utilisabilité pratiquedu modèle dans le contexte dans lequel nous voulons l'utiliser.
La validation croisée @osa: sépare (plusieurs fois) les données en un ensemble d'apprentissage et un ensemble de validation.Il ne réutilise pas les données d'entraînement pour la validation.J'ai modifié ma réponse en réponse à votre premier commentaire.
Aksakal
2015-01-03 00:48:22 UTC
view on stackexchange narkive permalink

Voici mon explication simple.

Lorsque nous modélisons la réalité, nous voulons que nos modèles puissent non seulement expliquer les faits existants, mais aussi prédire les nouveaux faits. Ainsi, le test hors échantillon consiste à émuler cet objectif. Nous estimons (entraînons) le modèle sur certaines données (ensemble d'apprentissage), puis essayons de prédire en dehors de l'ensemble d'apprentissage et comparons les prédictions avec l'échantillon retenu.

Évidemment, il ne s'agit que d'un exercice de prédiction, pas la vraie prédiction, parce que l'échantillon retenu était en fait déjà observé. Le vrai test de prédiction n'a lieu que lorsque vous utilisez le modèle sur les données, ce qui n'a pas encore été observé. Par exemple, vous avez développé un programme d'apprentissage automatique pour la publicité. Ce n'est que lorsque vous commencez à l'utiliser dans la pratique et que vous observez ses performances, vous saurez avec certitude si cela fonctionne ou non.

Cependant, malgré la limitation de l'approche entraînement / retenue, cela reste informatif. Si votre modèle ne fonctionne que dans l'échantillon, ce n'est probablement pas du tout un bon modèle. Donc, ce type de test aide à éliminer les mauvais modèles.

Autre chose à retenir: disons que vous avez effectué la validation des échantillons d'entraînement / de blocage du modèle. Cependant, lorsque vous souhaitez utiliser le modèle, vous estimerez probablement le modèle sur l'ensemble de l'ensemble de données. Dans ce cas, dans quelle mesure les résultats de la validation hors échantillon du modèle qui a été estimé sur l’échantillon d’apprentissage sont applicables?

"De toute évidence, il ne s'agit que d'un exercice de prédiction, pas de la vraie prédiction, car l'échantillon d'exclusion était en fait déjà observé."--- ce n'est pas si évident, d'ailleurs, car le modèle n'a pas observé ces données.
@osa, à droite mais le modélisateur avait les données.Un modélisateur a peut-être choisi l’échantillon retenu consciemment ou inconsciemment pour étayer ses mesures de performance hors échantillon, etc.t disponible pour un modélisateur au moment de la modélisation.
@Alsakal, bon point sur les préjugés subconscients.Je vois, c'est un genre de biais similaire à celui de rapporter de bonnes statistiques et d'ignorer les mauvaises.
Wayne
2015-01-03 02:30:02 UTC
view on stackexchange narkive permalink

D'autres ont répondu à vos paragraphes précédents, alors permettez-moi de répondre à votre dernier. La validité de votre argument dépend de l'interprétation du mot «évaluation». S'il est utilisé dans le sens d'une exécution finale sur des données invisibles pour donner une idée de la façon dont le modèle choisi devrait fonctionner à l'avenir, votre point est correct.

Si "évaluation" est utilisé plus dans le sens de ce que j'appellerais un ensemble "de test" - c'est-à-dire, pour évaluer les résultats de l'entraînement de plusieurs modèles afin d'en choisir un - puis évaluer sur les données d'entraînement conduira à un surajustement.

mcstar
2015-01-06 04:18:16 UTC
view on stackexchange narkive permalink

Toutes les autres réponses (en particulier concernant le sur-ajustement) sont très bonnes, mais j'ajouterais juste une chose. La nature même des algorithmes d'apprentissage est que leur formation garantit qu'ils apprennent «quelque chose» de commun sur les données auxquelles ils sont exposés. Cependant, ce dont nous ne pouvons pas être sûrs, ce sont exactement les caractéristiques des données d'entraînement qu'ils finissent par apprendre. Par exemple, avec la reconnaissance d'image, il est très difficile de savoir si un réseau de neurones entraîné a appris à quoi ressemble un visage ou quelque chose d'autre qui est inhérent aux images. Un ANN pourrait avoir simplement mémorisé à quoi ressemblent les chemises, les épaules ou les cheveux, par exemple.

Cela dit, l'utilisation d'un ensemble distinct de données de test (invisible pour l'entraînement) est un moyen d'augmenter la confiance que vous avoir un modèle sur lequel on peut compter pour fonctionner comme prévu avec des données réelles / invisibles. L'augmentation du nombre d'échantillons et de la variabilité des fonctionnalités est également utile. Ce que l'on entend par variabilité des caractéristiques, c'est que vous voulez vous entraîner avec des données qui ont autant de variations qui comptent toujours sur chaque échantillon que possible.

Par exemple, avec les données de visage à nouveau, vous souhaitez afficher chaque visage sur autant d'arrière-plans différents que possible, et avec autant de variations de vêtements, d'éclairage, de couleur de cheveux, d'angles de caméra, etc. que possible. Cela permettra de garantir que lorsque l'ANN dit «visage», c'est vraiment un visage, et non un mur blanc en arrière-plan qui a déclenché la réponse.

testuser
2015-01-03 11:15:09 UTC
view on stackexchange narkive permalink

Hastie et al ont un bon exemple dans le contexte de la validation croisée qui, je pense, s'applique également ici. Envisagez la prédiction avec un nombre extrêmement élevé de prédicteurs sur des données où les prédicteurs et les résultats sont tous distribués indépendamment. Par souci d'argumentation, supposons que tout soit Bernoulli avec p = 0,5.

Si vous avez suffisamment de variables, vous aurez quelques prédicteurs qui vous permettront de prédire parfaitement les résultats. Mais, avec de nouvelles données, il est impossible d'obtenir une précision parfaite.

Ce n'est pas exactement la même chose que votre cas, mais cela montre un exemple où votre méthode peut vraiment vous induire en erreur .



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...