[Memo] Différence entre test_split et la méthode de vérification croisée lors de la vérification des performances généralisées dans le deep learning
Je suis nouveau dans Python / Deep Learning.
À propos de la méthode de vérification des performances de généralisation étudiée lors de la mise en œuvre du réseau neuronal
Laissez une note comme suit.
Je me demandais
--Il existe une méthode de vérification des performances de généralisation appelée validation croisée k fois / kCV (référence 1).
- Une méthode de division des données d'entraînement en k morceaux, en utilisant k-1 morceaux pour l'apprentissage et en utilisant un morceau pour l'évaluation des performances, en répétant l'apprentissage k fois.
--Je savais à l'origine que sklearn.modelselection.traintest_split (TTS) pouvait être utilisé pour diviser les données disponibles en données d'entraînement et en données de test pour vérifier les performances de généralisation.
―― A. Fondamentalement, est-il acceptable de reconnaître que TTS est répété plusieurs fois en kCV?
―― b) Est-il acceptable de reconnaître que kCV peut évaluer la généralisation du modèle plus précisément que TTS?
Répondre
―― A. Je pense que oui. De plus, au moment du kCV, toutes les k divisions peuvent être utilisées pour la vérification sans exception.
--b. Cela semble être le cas.
- Si TTS n'est utilisé qu'une seule fois, les données utilisées pour la vérification ne peuvent jamais être utilisées comme données d'apprentissage, il y a donc une possibilité qu'un biais inutile se produise dans l'apprentissage en fonction de la méthode de sélection des données de vérification. Avec kCV, vous pouvez le surmonter (référence 2).
--KCV dit également: «S'il y a un biais dans les données dans chacune des k divisions, le résultat de l'apprentissage sera biaisé (la division qui ne contient que des données de chien et la division qui contient uniquement des données de données de chat). (Divisé, etc.) »Des inconvénients ont été signalés. Les contre-mesures contre cela comprennent la vérification de croisement stratifié par division k (kCV stratifié) (référence 1).
Résumé
C'est assez naturel, mais je vais le laisser comme note de service.
référence
--Référence 1: J'ai essayé de trier les types de validation croisée.
--Référence 2: KFolds Cross Validation vs train_test_split