Pourquoi la dimension VC est-elle importante?

12

Wikipédia dit que:

La dimension VC est la cardinalité du plus grand ensemble de points qu'un algorithme peut briser.

Par exemple, un classificateur linéaire a une cardinalité n + 1. Ma question est pourquoi nous en soucions-nous? La plupart des jeux de données sur lesquels vous effectuez une classification linéaire ont tendance à être très volumineux et contiennent beaucoup de points.

Étudiant de premier cycle
la source

Réponses:

4

Quelle est la dimension VC

Comme mentionné par @CPerkins, la dimension VC est une mesure de la complexité d'un modèle. Il peut également être défini en ce qui concerne la capacité de briser les points de données comme, comme vous l'avez mentionné, Wikipédia le fait.

Le problème de base

  • Nous voulons un modèle (par exemple un classificateur) qui se généralise bien sur les données invisibles .
  • Nous sommes limités à une quantité spécifique d'échantillons de données.

L'image suivante (prise à partir d' ici ) montre certains modèles ( jusqu'à ) de complexité différente (dimension VC), ici représentés sur l'axe des x et appelés .S1Skh

Compromis de l'écart de biais

Les images montrent qu'une dimension VC plus élevée permet un risque empirique plus faible (l'erreur qu'un modèle fait sur les données de l'échantillon), mais introduit également un intervalle de confiance plus élevé. Cet intervalle peut être considéré comme la confiance dans la capacité du modèle à généraliser.

Faible dimension VC (biais élevé)

Si nous utilisons un modèle de faible complexité, nous introduisons une sorte d'hypothèse (biais) concernant l'ensemble de données, par exemple lorsque nous utilisons un classificateur linéaire, nous supposons que les données peuvent être décrites avec un modèle linéaire. Si ce n'est pas le cas, notre problème donné ne peut pas être résolu par un modèle linéaire, par exemple parce que le problème est de nature non linéaire. On se retrouvera avec un modèle peu performant qui ne pourra pas apprendre la structure des données. Il faut donc essayer d'éviter d'introduire un biais fort.

Dimension VC élevée (intervalle de confiance plus grand)

De l'autre côté de l'axe des abscisses, nous voyons des modèles de complexité plus élevée qui pourraient être d'une si grande capacité qu'ils mémoriseront plutôt les données au lieu d'apprendre leur structure sous-jacente générale, c'est-à-dire que le modèle s'adapte. Après avoir réalisé ce problème, il semble que nous devons éviter les modèles complexes.

Cela peut sembler controversé car nous n'introduirons pas de biais, c'est-à-dire qu'ils ont une faible dimension VC mais ne devraient pas non plus avoir une dimension VC élevée. Ce problème a des racines profondes dans la théorie de l'apprentissage statistique et est connu sous le nom de compromis-variance-compromis . Ce que nous devons faire dans cette situation est d'être aussi complexe que nécessaire et aussi simpliste que possible, donc lorsque nous comparons deux modèles qui se retrouvent avec la même erreur empirique, nous devons utiliser le moins complexe.

J'espère que je pourrais vous montrer qu'il y a plus derrière l'idée de dimension VC.

Minato
la source
1

La dimension VC est le nombre de bits d'information (échantillons) dont on a besoin pour trouver un objet (fonction) spécifique parmi un ensemble de objets (fonctions)N .

VC dimension provient d'un concept similaire dans la théorie de l'information. La théorie de l'information est partie de l'observation de Shannon de ce qui suit:

Si vous avez objets et parmi ces objets, vous en recherchez un spécifique. De combien de bits d'information avez-vous besoin pour trouver cet objet ? Vous pouvez diviser votre ensemble d'objets en deux moitiés et demander "Dans quelle moitié se trouve l'objet que je recherche?" . Vous recevez "oui" si c'est dans la première moitié ou "non", si c'est dans la seconde moitié. En d'autres termes, vous recevez 1 bit d'information . Après cela, vous posez la même question et divisez votre ensemble encore et encore, jusqu'à ce que vous trouviez enfin l'objet souhaité. De combien de bits d'information avez-vous besoin ( réponses oui / non )? C'est clairementNNlog2(N) bits d'information - de manière similaire au problème de recherche binaire avec le tableau trié.

Vapnik et Chernovenkis ont posé une question similaire dans le problème de reconnaissance des formes. Supposons que vous ayez un ensemble de fonctions pour l'entrée donnée , chaque fonction génère oui ou non (problème de classification binaire supervisé) et parmi ces fonctions vous recherchez une fonction spécifique, qui vous donne des résultats corrects oui / non pour un ensemble de données donné . Vous pouvez poser la question: "Quelles fonctions retournent non et quelles fonctions retournent oui pour un donnéNxND={(x1,y1),(x2,y2),...,(xl,yl)}xià partir de votre ensemble de données. Puisque vous savez quelle est la vraie réponse à partir des données de formation dont vous disposez, vous pouvez jeter toutes les fonctions qui vous donnent une mauvaise réponse pour certains . De combien de bits d'information avez-vous besoin? Ou en d'autres termes: de combien d'exemples de formation avez-vous besoin pour supprimer toutes ces mauvaises fonctions? . Ici, c'est une petite différence avec l'observation de Shannon en théorie de l'information. Vous ne divisez pas votre ensemble de fonctions exactement à la moitié (peut-être qu'une seule fonction sur vous donne une réponse incorrecte pour certains ), et peut-être, votre ensemble de fonctions est très grand et il suffit que vous trouviez une fonction qui est -close à votre fonction souhaitée et vous voulez être sûr que cette fonction estxiNxiϵϵ -close avec probabilité ( - framework PAC ), le nombre de bits d'information (nombre d'échantillons) dont vous aurez besoin sera .1δ(ϵ,δ)log2N/δϵ

Supposons maintenant que parmi l'ensemble des fonctions, il n'y a pas de fonction qui ne commette pas d'erreurs. Comme précédemment, il vous suffit de trouver une fonction qui est -close avec une probabilité . Le nombre d'échantillons dont vous auriez besoin est .Nϵ1δlog2N/δϵ2

Notez que les résultats dans les deux cas sont proportionnels à - similaire au problème de recherche binaire.log2N

Supposons maintenant que vous ayez un ensemble infini de fonctions et parmi ces fonctions, vous voulez trouver la fonction qui est -close à la meilleure fonction avec la probabilité . Supposons (pour la simplicité de l'illustration) que les fonctions sont affines continues (SVM) et que vous avez trouvé une fonction qui est -close à la meilleure fonction. Si vous bougiez un peu votre fonction, cela ne changerait pas les résultats de la classification, vous auriez une fonction différente qui classe avec les mêmes résultats que la première. Vous pouvez prendre toutes ces fonctions qui vous donnent les mêmes résultats de classification (erreur de classification) et les compter comme une seule fonction car elles classent vos données avec exactement la même perte (une ligne dans l'image).ϵ1δϵ

entrez la description de l'image ici

___________________ Les deux lignes (fonction) classeront les points avec le même succès ___________________

De combien d'échantillons avez-vous besoin pour trouver une fonction spécifique à partir d'un ensemble d'ensembles de telles fonctions (rappelez-vous que nous avions divisé nos fonctions en ensembles de fonctions où chaque fonction donne les mêmes résultats de classification pour un ensemble donné de points)? C'est ce que dit la dimension - est remplacé par car vous avez un nombre infini de fonctions continues qui sont divisées en un ensemble de fonctions avec la même erreur de classification pour des points spécifiques. Le nombre d'échantillons dont vous auriez besoin est si vous avez une fonction qui reconnaît parfaitement etVClog2NVCVClog(δ)ϵVClog(δ)ϵ2 si vous n'avez pas une fonction parfaite dans votre ensemble de fonctions d'origine.

C'est-à-dire que la dimension vous donne une limite supérieure (qui ne peut pas être améliorée btw) pour un certain nombre d'échantillons dont vous avez besoin afin d'obtenir une erreur avec une probabilité .VCϵ1δ

Vlad
la source
0

La dimension VC est une mesure de la complexité du modèle. Par exemple, étant donné la dimension VC Dvc, une bonne règle de base est que vous devriez avoir n = 10 points de données Dvc compte tenu de la complexité de votre modèle.

Vous pouvez également l'utiliser pour créer une limite supérieure sur l'erreur de test.

CPerkins
la source