Est-il une règle-de-pouce pour la façon de diviser un ensemble de données dans la formation et la validation des ensembles?
Est là une règle-de-pouce pour la façon de mieux diviser les données dans la formation et la validation des ensembles? Est encore divisée 50/50 conseillé? Ou il y a clairement des avantages d'avoir plus de données sur la formation relative à la validation des données (ou vice versa)? Ou est-ce un choix assez beaucoup dépend de l'application?
J'ai été la plupart du temps à l'aide d'un 80% /20% de la formation et de validation des données, respectivement, mais j'ai choisi cette division sans aucun fondée sur des principes de la raison. Quelqu'un peut-il qui est le plus expérimenté dans l'apprentissage de la machine me conseiller?
- Si vous n'avez pas trop de données disponible, envisagez de en.wikipedia.org/wiki/Resampling_(statistiques)#Jackknife
Vous devez vous connecter pour publier un commentaire.
Il ya deux préoccupations qui se font concurrence: avec moins de données sur la formation, vos estimations de paramètres ont une plus grande variance. Avec moins de données de test, les performances de votre statistique permettra d'avoir une plus grande variance. En général vous devriez être concernés par de diviser les données telles que ni la variance est trop élevé, ce qui n'est plus à faire avec le nombre absolu de cas dans chaque catégorie plutôt que le pourcentage.
Si vous avez un total de 100 cas, vous êtes probablement coincé avec validation croisée, puisqu'aucun split va vous donner satisfaisante de la variance dans vos estimations. Si vous avez 100 000 cas, il n'a pas vraiment d'importance si vous choisissez de 80:20 division ou de 90:10 split (en effet vous pouvez choisir d'utiliser moins de données sur la formation si votre méthode est particulièrement gourmand en ressources).
Si vous disposez de suffisamment de données pour faire une tenue de sortie des données de test (plutôt que de la validation croisée), ce qui suit est une façon instructive pour obtenir une poignée sur les écarts:
Vous seriez surpris de constater que des 80/20 est assez fréquentes ratio, souvent désigné comme le Principe de Pareto. C'est généralement une valeur sûre si vous utilisez ce rapport.
Toutefois, en fonction de la formation et de validation de la méthodologie de vous employer, le taux peut changer. Par exemple: si vous utilisez 10-fold cross validation, puis vous vous retrouvez avec un ensemble de validation de 10% à chaque fois.
Il y a eu peu de recherche dans qu'est-ce que le bon ratio entre l'ensemble de la formation et de l'ensemble de validation:
Dans leur conclusion, ils spécifier une formule:
Ce qu'ils veulent dire par la complexité est:
En prenant la première règle du pouce (j'.e.ensemble de validation doit être inversement proportionnelle à la racine carrée du nombre de paramètres réglables), vous pouvez en conclure que si vous avez 32 paramètres réglables, la racine carrée de 32 est ~5.65, la fraction est de 1/5.De 65 ans ou 0.177 (v/t). Environ 17.7% devrait être réservé pour la validation et 82,3% pour la formation.
L'année dernière, j'ai suivi le Prof: Andrew Ng en ligne machine en cours d'apprentissage. Sa recommandation est
De formation: 60%
Validation croisée: 20%
Test: 20%
in the modern big data era, where, for example, you might have a million examples in total, then the trend is that your dev (cross validation) and test sets have been becoming a much smaller percentage of the total.
Il suggère qu'il pourrait être 99.5:0.25:0.25.Eh bien, vous devriez penser à une chose de plus.
Si vous avez vraiment de très gros fichiers, comme les 10 000 000 exemples, split 80/10/10 peut-être inutile, parce que 10% = 100000 exemples n'est pas nécessaire de dire que le modèle fonctionne très bien.
Peut-être 99/0.5/0.5 est suffisant, car 5000 exemples peuvent représenter plus de la variance dans les données et vous pouvez facilement dire que le modèle fonctionne bien en fonction de ce 5000 exemples de test et de développement.
Peut-être un 63.2% /36.8% est un choix raisonnable. La raison en serait que si vous avez une taille totale de l'échantillon n et je voulais au hasard de l'échantillon avec remplacement (un.k.un. re-échantillon, comme dans la statistique bootstrap) n cas de la première n, la probabilité d'un cas individuel d'être sélectionné dans le ré-échantillonnage serait d'environ 0.632, à condition que n n'est pas trop petit, comme expliqué ici: https://stats.stackexchange.com/a/88993/16263
Pour un échantillon de n=250, la probabilité qu'un individu cas être sélectionné pour un ré-échantillonnage à 4 chiffres est 0.6329.
Pour un échantillon de n=20000, la probabilité est 0.6321.
Tout dépend des données à portée de main. Si vous avez une quantité considérable de données, puis 80/20 est un bon choix comme mentionné ci-dessus. Mais si vous n'avez pas de Validation Croisée avec une répartition 50/50, peut vous aider beaucoup plus et vous empêcher de créer un modèle de sur-ajustement de vos données d'entraînement.
Supposons que vous avez moins de données, je vous suggère d'essayer de 70%, 80% et 90% et de test qui donne de meilleur résultat. En cas de 90% il ya des chances que pour 10% de test que vous obtenez une mauvaise précision.