Évaluer la forêt aléatoire: OOB vs CV


13

Lorsque nous évaluons la qualité d'une forêt aléatoire, par exemple en utilisant l'AUC, est-il plus approprié de calculer ces quantités sur les échantillons hors sac ou sur l'ensemble de validation croisée?

J'entends que le calculer sur les échantillons OOB donne une évaluation plus pessimiste, mais je ne vois pas pourquoi.

Réponses:


12

Remarque: Bien que je pense que ma réponse est probablement correcte, je ressens également des doutes en raison du fait que j'ai inventé tout cela en pensant à ce problème uniquement après avoir lu cette question pendant environ 30 à 60 minutes. Donc, il vaut mieux être sceptique et scruter cela et ne pas se laisser berner par mon style d'écriture peut-être trop confiant (moi qui utilise de gros mots et des symboles grecs fantaisistes ne signifie pas que j'ai raison).

Sommaire

Ce n'est qu'un résumé. Tous les détails sont mentionnés dans les sections §1 et §2 ci-dessous.

Supposons le cas de la classification (peut également être étendu à la régression, mais omis pour plus de brièveté). Essentiellement, notre objectif est d'estimer l'erreur d'une forêt d'arbres. L'erreur hors du sac et la validation croisée k-fold tentent de nous dire la probabilité que:

  • La forêt donne la classification correcte (la validation croisée multipliée par k la considère de cette façon).

Qui est identique à la probabilité que:

  • Le vote majoritaire des arbres de la forêt est le bon vote (OOBE le regarde de cette façon).

Et les deux sont identiques. La seule différence est que la validation croisée k-fold et OOBE supposent une taille différente des échantillons d'apprentissage. Par exemple:

  • En validation croisée 10 fois, l'ensemble d'apprentissage est de 90%, tandis que l'ensemble de test est de 10%.
  • Cependant, dans OOBE si chaque sac contient échantillons, de sorte que n = nombre total d'échantillons dans l'ensemble d'échantillons, cela implique que l'ensemble d'apprentissage est pratiquement d'environ 66% (deux tiers) et l'ensemble d'essai est d'environ 33% ( un tiers).nn=

Par conséquent, à mon avis, la seule raison pour laquelle l'OOBE est une estimation pessimiste de l'erreur de la forêt est uniquement parce qu'elle s'entraîne généralement avec un nombre d'échantillons inférieur à celui généralement effectué avec la validation croisée k-fold (où 10 plis sont courants).

Pour cette raison, je pense également que la validation croisée 2 fois sera une estimation plus pessimiste de l'erreur de la forêt que l'OOBE, et la validation croisée 3 fois sera à peu près également pessimiste pour l'OOBE.

1. Comprendre l'erreur hors du sac

1.1 Vue commune sur l'ensachage

Chaque arbre dans RF est développé par une liste de échantillons qui sont tirés au hasard de l'ensemble d'apprentissage X avec remplacement. De cette façon, les n nombreux échantillons peuvent avoir des doublons, et si n = | X | on peut alors constater qu'environ un tiers des échantillons de X finiront probablement par ne pas figurer dans la liste des n échantillons utilisés pour faire pousser un arbre donné (ce sont les échantillons hors sac de cet arbre spécifique. Ce processus est répété indépendamment pour chaque arbre, de sorte que chaque arbre a un ensemble différent d'échantillons hors sac.nXnn=|X|Xn

1.2. Un autre regard sur l'ensachage

Maintenant, décrivons l'ensachage un peu différemment dans l'espoir de trouver une description égale qui, espérons-le, sera plus simple à gérer.

Je le fais en déclarant que l'arbre est formé par les échantillons mis en sac dans l'ensemble X tX . Cependant, ce n'est pas exactement vrai car l'ensemble X t n'a pas d'échantillons dupliqués (c'est ainsi que fonctionnent les ensembles), alors que - d'autre part - la liste n d'échantillons peut avoir des doublons.tXtXXtn

Par conséquent, nous pouvons dire qu'un arbre est cultivé en analysant les échantillons X t plus un certain nombre de doublons choisis au hasard tirés de X t , à savoir X t , 1 , X t , 2 , , X t , rX t , tels que: | X t | + r i = 1 | X t , i | = ntXt XtXt,1,Xt,2,,Xt,rXt

|Xt|+i=1r|Xt,i|=n

Il est trivial de voir qu'à partir de cette collection d'ensembles , nous pouvons définir une liste de n -nombreux échantillons qui contiennent des doublons en ajoutant simplement les éléments dans chaque définissez C iC sur un tableau a . De cette façon, pour tout 1 p n , il existe au moins une valeur de i telle que a [ p ] C iC={Xt,Xt,1,,Xt,r}nCiCa1pnia[p]Ci.

Nous pouvons également voir que la liste de échantillons dans le tableau a est une généralisation de l'ensachage comme je l'ai défini dans la section 1. Il est trivial de voir que pour une définition spécifique de X t que j'ai définie dans cette section ( § 2 ) , la liste d'échantillons dans le tableau a peut être exactement identique à la liste d'échantillons définie dans la section 1.naXt§2a

1.3. Simplification de l'ensachage

Au lieu de faire croître l'arbre par des échantillons dans le tableau a , nous les ferons croître par la liste des instances sans duplication qui se trouvent uniquement dans X t .taXt

Je crois que, si est assez grand, un arbre t qui est cultivé en analysant des échantillons dans X t est identique à un autre arbre t ' qui est cultivé à partir des échantillons du tableau a .ntXtta

Ma raison en est que la probabilité de duplication des échantillons dans est également probable pour les autres échantillons du même ensemble. Cela signifie que, lorsque nous mesurons le gain d'informations (IG) d'une certaine division, l'IG restera identique car les entropies resteront également identiques.Xt

Et la raison pour laquelle je pense que les entropies ne changeront pas systématiquement pour une division donnée est parce que la probabilité mesurée empiriquement d'un échantillon ayant une étiquette spécifique dans un sous-ensemble (après avoir appliqué une division de décision) ne changera pas non plus.

Xtd

1.4 Mesure des erreurs hors du sac

OttOt=XXtt

total x in Ot correctly classified by t|Ot|
nt
t=1nttotal x in Ot correctly classified by tt=1nt|Ot|

2. Comprendre la validation croisée k-fold

XnkK={K1,K2,,Knk}K1K2Knk=XKi,KjKKiKj=

KtK{Kt}

fK{Kt}

f

t=1nktotal x in Kt correctly classified by ft=1nk|Kt|

f

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.