Question:
La validation croisée du facteur k implique-t-elle toujours k sous-ensembles de taille uniforme?
jxramos
2015-01-21 03:57:23 UTC
view on stackexchange narkive permalink

Je suis un peu confus sur un point mineur que j'essaie de discerner en raison d'une stratégie de validation croisée que j'ai rencontrée dans mon travail qui crée des plis k mais les plis ne sont pas de longueur égale (pour exemple certains plis sont de taille 17, un autre 18, jusqu'à 24). La validation croisée des plis k est-elle limitée à des plis de longueur égale? Des choix arbitraires de longueur des données d'entraînement et de nombre de plis peuvent bien sûr donner des nombres fractionnaires où un pli attirera le bâton court, mais serait-il exact de dire des tentatives de pli k pour faire des tailles de pli à peu près égales?

En particulier J'entends des messages contradictoires dans cette question

Matt Krause "divisé en différents " plis "qui s'excluent mutuellement "

une tête de données " k-fold cross-validation (kFCV) divise les N points de données en k sous-ensembles mutuellement exclusifs de taille égale . "

Le manuel préfère une taille égale, si les données le permettent.Cela soulève une question intéressante sur l'échantillonnage bootstrap avec remplacement dans CV.Cela permettrait des échantillons en double par pli et introduirait un deuxième paramètre dans le CV mais pourrait permettre de faire valoir que chaque pli est plus caractéristique des données globales.Il faudrait s'assurer que les gens et les échantillons sont tels que toutes les valeurs sont échantillonnées au moins une fois.Je sais - pensée tangentielle, mais merci pour cela.
Trois réponses:
Tambet
2016-06-09 19:34:55 UTC
view on stackexchange narkive permalink

Juste une mise en garde à surveiller: si les tailles de pli ne sont pas égales, la moyenne des résultats de plis n'est pas la même que la moyenne sur l'ensemble de données. Vous devez pondérer les résultats du pli en fonction de la taille du pli pour obtenir la moyenne correcte.

Supposons que vous ayez un ensemble de données $ X = \ {1,2,3,4,5 \} $ et utilisez une croix double validation. Le premier pli est $ \ {1,2 \} $ et le second est $ \ {3,4,5 \} $. Disons que vos prédictions pour le premier pli sont $ \ {2,2 \} $ et pour le second pli $ \ {4,4,4 \} $. Alors MSE pour le premier pli est $ (1 + 0) / 2 = 1/2 $ et pour le second pli $ (1 + 0 + 1) / 3 = 2/3 $. Le résultat de la validation croisée naïve serait $ (1/2 + 2/3) / 2 = 7/12 $. Mais si vous calculez la même chose sur l'ensemble de données, vous obtenez $ (1 + 0 + 1 + 0 + 1) / 5 = 3/5 $. La bonne façon de calculer les résultats de la validation croisée aurait été $ 1/2 * 2/5 + 2/3 * 3/5 = 3/5 $,

Matt Krause
2015-01-21 05:24:20 UTC
view on stackexchange narkive permalink

Je ne voulais pas dire que les plis devraient être de tailles différentes dans cette réponse (et je vais le mettre à jour pour qu'il corresponde).

Chaque pli doit contenir un nombre égal d'observations, ou aussi près que possible de l'égalité . Si vous souhaitez effectuer une validation croisée de 10 fois sur des observations $ N = 101 $ , un pli contiendra 11 éléments au lieu de 10. C'est très bien. Si vous avez 102 observations, il serait préférable d'avoir deux volets de 11 éléments chacun, plutôt que 1 sur 12 et 9 sur 10, même si je doute que cela compte beaucoup dans la pratique, en particulier comme $ N / k $ augmente.

Il n'est pas nécessaire de choisir $ k $ qui divise également $ N $ (comment exécuteriez-vous même une validation croisée sur un ensemble de données de la taille d'un nombre premier?), ou rejetez des exemples jusqu'à $ N $ est divisible par $ k $ (les données sont difficiles à obtenir, ne les jetez pas).

JEquihua
2015-01-21 04:26:47 UTC
view on stackexchange narkive permalink

La validation croisée $ k $ -fold divisera vos données en sous-ensembles $ k $. Ensuite, vous itérez $ k $ fois: $ i = 1,2, ..., k $, en utilisant l'union des sous-ensembles sauf le $ i $ e sous-ensemble pour entraîner votre modèle. Ensuite, testez ce modèle sur le sous-ensemble $ i $ th. Si $ k $ n'est pas un diviseur du nombre d'observations que vous avez dans votre ensemble de données, il est impossible d'obtenir des sous-ensembles de taille égale. Cela peut se produire facilement et vous vous retrouvez généralement avec des sous-ensembles à peu près de la même taille, selon la façon dont le fractionnement des données est implémenté dans l'outil que vous utilisez. Vous pouvez, par exemple, avoir des sous-ensembles $ k-1 $ de même taille et un qui compense en ayant un nombre d'observations différent du reste.



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