Apprentissage PAC correct du 2-DNF sous distribution uniforme


10

Quel est l'état de l'art sur la complexité des requêtes des formules 2-DNF d'apprentissage PAC appropriées avec des exemples de requêtes et sous une distribution uniforme ? Ou tout lien non trivial dessus?

Parce que je ne connais pas du tout la théorie de l'apprentissage et que cette question est motivée par un domaine différent, la réponse pourrait être évidente. J'ai vérifié le livre de Kearns et Vazirani, mais ils ne semblent pas considérer ce paramètre explicitement.

upd. Bien que le principal paramètre d'intérêt soit la complexité des requêtes, le temps d'exécution est également important. Si possible, la durée d'exécution doit de préférence être à peu près la même que la complexité de la requête ou tout au plus polynomiale.

upd. L'annexe B (haut de la page 18) du document "Learning submodular Functions" de Balcan et Harvey mentionne que "Il est bien connu que les 2-DNF sont ef fi cacement apprenables par PAC." Cependant, ils ne mentionnent pas si ce résultat est pour un bon apprentissage ou donnent une référence.


Quel genre de requêtes?
Timothy Sun

Juste des échantillons. Je suppose également que je devrais être explicite sur le fait que la question porte sur la complexité des requêtes et non sur le temps d'exécution (modifié).
Grigory Yaroslavtsev

J'ai répondu à votre question, en supposant que les exemples de requêtes ne sont que des exemples aléatoires (et non des requêtes d'adhésion).
Lev Reyzin

1
Oui, les requêtes ne sont que des exemples aléatoires de distribution uniforme.
Grigory Yaroslavtsev

Réponses:


14

Je ne sais pas si vous considérerez ce qui suit comme une limite non triviale, mais c'est parti.

Tout d'abord, pour être clair afin de ne pas confondre -DNF avec -term DNF (ce que je fais souvent), une formule -DNF sur les variables est de la forme où et , .k c x 1 , ... , x n k i = 1 ( i , 1i , 2 . . . i , c ) 1 i k 1 j c i , j{ x 1 , , x n , ˉ x 1ckcx1,,xni=1k(i,1i,2...i,c)1ik1jci,j{x1,,xn,x¯1,,x¯n}

On peut d'abord se demander combien de termes distincts peuvent exister dans un -DNF. Chaque terme aura des variables, chacune étant niée ou non - ce qui donne différents termes possibles. Dans une instance 2-DNF, chaque terme apparaît ou non, ce qui donne "cibles" possibles, où est l'espace d'hypothèse.c n 2 c ( nccn | H| =22c ( n2c(nc) H|H|=22c(nc)H

Imaginez un algorithme qui prend échantillons et essaie ensuite tous leshypothèses jusqu'à ce qu'il en trouve une qui prédit parfaitement sur les échantillons. Le théorème de Razor d'Occam dit qu'il suffit de prendre environ échantillons pour que cet algorithme trouve un cible avec erreur avec probabilité .| H | m = O ( 1m|H|ϵ1-δm=O(1ϵ|(H|+1δ)ϵ1δ

Dans notre cas, pour , , ce qui signifie que vous aurez besoin d'environ échantillons pour effectuer (correctement) l'apprentissage.lg | H | = O ( n 2 ) n 2c=2lg|H|=O(n2)n2

Mais tout le jeu de l'apprentissage n'est pas vraiment une complexité d'échantillon (bien que cela fasse partie du jeu, en particulier dans l'apprentissage efficace des attributs), mais plutôt d'essayer de concevoir des algorithmes à temps polynomial. Si vous ne vous souciez pas de l'efficacité, alors est la réponse la plus simple pour la complexité des échantillons PAC.n2

MISE À JOUR (compte tenu de la question modifiée) :

Parce que vous avez explicitement déclaré que vous ne vous souciez que de la complexité des échantillons, j'ai présenté l'algorithme Occam à force brute, qui est probablement l'argument le plus simple. Cependant, ma réponse était un peu timide. -DNF sont réellement apprenants en temps polynomial! Ceci est le résultat de l'article original de Valiant, " A Theory of the Learnable ". En fait, -DNF peut être appris pour tout .c c = O ( 1 )2cc=O(1)

L'argument est le suivant. Vous pouvez visualiser un -DNF comme une disjonction de "méta-variables" et essayer d'apprendre la disjonction en éliminant les méta-variables incompatibles avec les exemples. Une telle solution peut être facilement traduite en une solution "correcte" et prend du temps . En remarque, il est toujours possible de savoir s'il existe un algorithme polynomial pour .n c O ( n c ) c = ω ( 1 )cncO(nc)c=ω(1)

Quant à savoir si la complexité de l'échantillon est également une borne inférieure, la réponse est à peu près oui. Cet article d'Ehrenfeucht et al. montre que la borne Occam est presque serrée.n2


1
Je vous remercie! C'est un résultat non trivial - je ne savais pas que le temps de fonctionnement exponentiel serait utile. Cependant, pour l'application que j'ai en tête, le temps polynomial est beaucoup plus souhaitable (mise à jour de la question). L'approche que vous avez décrite est-elle la plus connue pour ce problème? Y a-t-il des limites inférieures sur la complexité des requêtes (même pour un temps d'exécution illimité)?
Grigory Yaroslavtsev

Mise à jour de la question avec une référence qui a motivé la question.
Grigory Yaroslavtsev

1
a mis à jour la réponse compte tenu de votre question mise à jour
Lev Reyzin

Aussi - dans ce cas, je ne pense pas que le temps de fonctionnement exponentiel soit utile. Mais en général, cela semble être le cas. L'apprentissage (avec une complexité d'échantillon optimale) est généralement facile lorsque vous avez un temps exponentiel.
Lev Reyzin

2
Merci beaucoup! J'aurai besoin d'un peu de temps pour vérifier les références, mais jusqu'à présent, cela semble être une réponse complète.
Grigory Yaroslavtsev
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.