Una domanda di apprendimento di parità


10

Definiamo una classe di funzioni su un insieme di bit. Correggi due distribuzioni p , q che sono "ragionevolmente" diverse l'una dall'altra (se vuoi, la loro distanza variazionale è almeno ϵ , o qualcosa di simile).np,qϵ

Ora ogni funzione in questa classe è definita da una raccolta di k indici S , ed è valutata come segue: Se la parità dei bit selezionati è 0, restituisce un campione casuale da p , altrimenti restituisce un campione casuale da q .fkSpq

Problema : supponiamo che mi venga dato l'accesso all'oracolo ad alcune di questa classe e mentre conosco ϵ (o qualche altra misura della distanza), non conosco p e q .fϵpq

Esistono limiti al numero di chiamate che devo effettuare per PAC-learn ? Presumibilmente la mia risposta sarà in termini di n , k e ϵ .fn,kϵ

Nota : non ho specificato il dominio di output. Ancora una volta, sono flessibile, ma per ora diciamo che e q sono definiti su un dominio finito [ 1 .. M ] . In generale, sarei anche interessato al caso in cui sono definiti su R (ad esempio, se sono gaussiani)pq[1..M]R


Non sono sicuro di aver capito il modello. Cosa specifichi in una chiamata all'oracolo? Gli esempi sono sempre tratti dalla distribuzione specificata dal target?
Lev Reyzin

1
In una chiamata oracolo, invochi f () e restituisce un valore.
Suresh Venkat,

Quindi, a seconda della funzione target , p o q viene sempre utilizzato per generare esempi? (Suppongo che stai imparando un po 'di classe F. )fFpqF
Lev Reyzin

Si, è corretto. il problema è imparare quale (o apprendere il bit di parità utilizzato)
Suresh Venkat

2
Non sono sicuro di come adattare il modello PAC a questo modello. Ma sembra che sia sufficiente essere in grado di distinguere da q con probabilità 1 - 1 / ( 2 k ) e quindi è possibile ottenere i valori f ( x ) per k linearmente indipendenti x e utilizzare l'eliminazione gaussiana per trovare f (poiché f è lineare). distinguere due gaussiani ben separati sarà facile per esempio. pq11/(2k)f(x)kxff
Sasho Nikolov,

Risposte:


6

La discussione nei commenti qui sotto indica che ho frainteso la domanda. La mia risposta si fonda su Oracle prendere alcun ingresso e di ritorno dove x ~ p o x ~ q , a seconda f F . Apparentemente questo non è ciò che viene chiesto.(x,f(x))xpxqfF


Poiché la distribuzione target è fissata per ogni target , si applica il limite superiore del campione PAC (questo deriva dal fatto che la distribuzione target per questo limite può persino dipendere completamente da f ). Quindi, m ˜ O ( 1fFf esempi(VC(F)+log(1/δ)))dovrebbero essere sufficienti per trovare un'ipotesi di erroreϵwp1-δ. Nota: dopo aver visto questi esempi, è necessario trovare un'ipotesi coerente daF, che potrebbe non essere trattabile.

mO~(1ϵ(VC(F)+log(1/δ)))
ϵ1δF

D'altra parte, si può ottenere un limite inferiore quasi corrispondente anche nel caso di , la distribuzione uniforme, dove sono ancora necessari esempi di m Ω ( V C ( F ) ) (questo può essere leggermente migliorato) .p=q=UmΩ(VC(F))

La distanza variazionale tra e q , così come k può avere un ruolo nel piccolo spazio tra questi limiti, ma ne dubito.pqk


L'impostazione tipica dell'apprendimento PAC ha un oracolo che disegna un campione x dalla distribuzione D e restituisce ( x , f ( x ) ) . Questa non è l'impostazione descritta nella domanda di Suresh o nel post sul blog che l'ha ispirata:bit.ly/YtwdST. In entrambi, l'oracoloèla funzione f e lo studente è libero di inviare qualsiasi elemento dal set di istanze (stringhe di lunghezza n(f,D)xD(x,f(x))fn). Lev, la tua risposta assume un oracolo del primo tipo o del secondo tipo? Se il secondo tipo, stiamo ancora parlando di PAC-learning?
Keki Burjorjee,

1
Vedo. Nel PAC, la "Oracle" di solito è pensato come un pulsante che ritorna dove x ~ D . L'oracolo che descrivi viene chiamato "query di appartenenza" a(x,f(x))xD . La mia risposta si applica solo alla prima. Se si richiedono solo richieste di abbonamento, come si possono trovare informazioni su p o q utilizzando il framework Suresh? Diciamo p = q per semplicità. fpqp=q
Lev Reyzin

Grazie per questo chiarimento. Quindi, nel caso descritto da Suresh, l'oracolo della "query di appartenenza" funziona come segue (suppongo che tu abbia messo questa entità tra virgolette perché l'oracolo può restituire un valore reale, non solo un booleano is-a-member / not-a- risposta membro): se la parità degli attributi effettivi è 1, il risultato restituito viene estratto dalla distribuzione . Altrimenti, il risultato viene estratto dalla distribuzione q . C'è un'ulteriore ruga. L'oracolo ricorda tutte le risposte precedenti e le restituisce se interrogato con lo stesso input. In altre parole, è deterministico. pq
Keki Burjorjee,

1
Non capisco. Se l'oracolo è semplicemente una funzione e lo interroghi dandogli x , non restituisce semplicemente ffX ? Comeentra in gioco p o q se lo studente sta generando x se stesso? Penso di non riuscire a capire questo punto fondamentale da sempre ...f(X)pqX
Lev Reyzin

Per p=N(+0.25,1) e , lo pseudocodice dell'oracolo per il problema con la "ruga" è riportato in fondo a questo commento reddit: bit.ly/XvVMC4 ( ). Non riesco a incorporare il codice perché SE non consente nuove righe nei commenti. Per ottenere la versione "non rugosa" del problema, basta rimuovere la riga . q=N(-0.25,1)def fitness() ...random_number_generator.set_seed(x)
Keki Burjorjee,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.