Eine Paritätslernfrage

10

Definieren wir eine Klasse von Funktionen über eine Menge von Bits. Fixieren Sie zwei Verteilungen , die sich "vernünftigerweise" voneinander unterscheiden (wenn Sie möchten, beträgt ihr Variationsabstand mindestens oder etwas Ähnliches).np,qϵ

Nun wird jede Funktion in dieser Klasse durch eine Sammlung von Indizes und wie folgt bewertet: Wenn die Parität der ausgewählten Bits 0 ist, geben Sie eine Zufallsstichprobe von , andernfalls geben Sie eine Zufallsstichprobe von .fkSpq

Problem : Angenommen, ich habe Orakelzugriff auf einige aus dieser Klasse, und obwohl ich (oder ein anderes Maß für die Entfernung) kenne, kenne ich und .fϵpq

Gibt es Grenzen für die Anzahl der Anrufe, die ich für PAC-learn tätigen muss ? Vermutlich wird meine Antwort in und .fn,kϵ

Hinweis : Ich habe die Ausgabedomäne nicht angegeben. Auch hier bin ich flexibel, aber jetzt sagen wir mal, dass und über eine endliche Domäne definiert sind . Im Allgemeinen würde mich auch der Fall interessieren, wenn sie über (zum Beispiel, wenn sie Gaußsche sind).pq[1..M]R

Suresh Venkat
quelle
Ich bin mir nicht sicher, ob ich das Modell verstehe. Was spezifizierst du in einem Orakelaufruf? Werden die Beispiele immer aus der vom Ziel angegebenen Verteilung gezogen?
Lev Reyzin
1
Bei einem Orakelaufruf rufen Sie f () auf und es wird ein Wert zurückgegeben.
Suresh Venkat
Abhängig von der Zielfunktion wird also immer entweder oder verwendet, um Beispiele zu generieren? (Ich nehme an, Sie lernen gerade eine Klasse )fFpqF
Lev Reyzin
Ja, das ist richtig. Das Problem ist zu lernen, welches (oder das verwendete Paritätsbit)
Suresh Venkat
2
Ich bin nicht sicher, wie Sie das PAC-Modell an dieses Modell anpassen. Es scheint jedoch ausreichend zu sein, mit der Wahrscheinlichkeit von zu unterscheiden, und dann können Sie die -Werte für linear unabhängiges und die Gaußsche Eliminierung verwenden, um zu finden (da ist linear). Die Unterscheidung von zwei gut getrennten Gaußschen ist beispielsweise einfach. pq11/(2k)f(x)kxff
Sasho Nikolov

Antworten:

6

Die Diskussion in den Kommentaren unten zeigt, dass ich die Frage falsch verstanden habe. Meine Antwort ist auf der Oracle premised keine Eingabe zu nehmen und zurückkehr , wo oder , abhängig von . Dies ist anscheinend nicht das, was gefragt wird.(x,f(x))xpxqfF


Da die Zielverteilung für jedes Ziel , gilt die PAC-Stichprobenobergrenze (dies folgt aus der Tatsache, dass die Zielverteilung für diese Grenze sogar vollständig von abhängen kann ). Daher sollten Beispiele für werden Es reicht aus, eine Fehlerhypothese wp . Hinweis - Nachdem Sie diese Beispiele gesehen haben, müssen Sie eine konsistente Hypothese aus , die möglicherweise nicht nachvollziehbar ist.fFf

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

Andererseits kann man selbst für den Fall von , der Gleichverteilung , eine nahezu übereinstimmende Untergrenze erhalten, bei der noch Beispiele für erforderlich sind (dies) kann leicht verbessert werden).p=q=UmΩ(VC(F))

Der Variationsabstand zwischen und sowie mag eine Rolle in der kleinen Lücke zwischen diesen Grenzen spielen, aber ich bezweifle es.pqk

Lev Reyzin
quelle
Die typische PAC-Lerneinstellung hat ein Orakel , das eine Stichprobe aus der Verteilung zieht und zurückgibt . Dies ist nicht die Einstellung, die in Sureshs Frage oder dem Blog-Beitrag beschrieben wurde, der sie inspiriert hat: bit.ly/YtwdST . In diesen beiden, die Oracle ist die Funktion und der Lernende ist frei , jedes Element aus dem Instanzsatz (bitstrings von Länge zu unterwerfen ). Lev, geht deine Antwort von einem Orakel des ersten Typs oder des zweiten Typs aus? Wenn der zweite Typ, sprechen wir immer noch über PAC-Lernen? (f,D)xD(x,f(x))fn
Keki Burjorjee
1
Aha. In PAC wird das "Orakel" in der Regel gedacht als eine Schaltfläche , die zurückkehrt , wo . Das von Ihnen beschriebene Oracle wird als "Mitgliedschaftsabfrage" an . Meine Antwort gilt nur für die erstere. Wenn Sie nur Fragen zur Mitgliedschaft haben, wie finden Sie Informationen zu oder mithilfe des Suresh-Frameworks heraus? Nehmen wir der Einfachheit halber an. x D f p q p = q(x,f(x))xDfpqp=q
Lev Reyzin
Vielen Dank für diese Klarstellung. In dem von Suresh beschriebenen Fall funktioniert das Orakel "Mitgliedschaftsabfrage" wie folgt (ich nehme an, Sie haben diese Entität in Anführungszeichen gesetzt, weil das Orakel einen echten Wert zurückgeben kann, nicht nur einen booleschen Wert für ein Mitglied / kein Mitglied) Mitgliedsantwort): Wenn die Parität der effektiven Attribute 1 ist, wird das zurückgegebene Ergebnis aus der Verteilung . Andernfalls wird das Ergebnis aus der Verteilung . Es gibt eine zusätzliche Falte. Das Orakel merkt sich alle vorherigen Antworten und gibt sie zurück, wenn es mit derselben Eingabe abgefragt wird. Mit anderen Worten, es ist deterministisch. qpq
Keki Burjorjee
1
Ich verstehe nicht Wenn das Orakel einfach eine Funktion und Sie es mit abfragen, gibt es dann nicht einfach ? Wie kommt oder ins Spiel, wenn der Lernende selbst generiert ? Ich glaube, ich habe diesen grundlegenden Punkt die ganze Zeit nicht verstanden ...x f ( x ) p q xfxf(x)pqx
Lev Reyzin
Für und wird der Pseudocode des Orakels für das Problem mit der "Falte" am Ende dieses reddit-Kommentars angegeben: bit. ly / XvVMC4 ( ). Ich kann den Code nicht einbinden, da SE keine Zeilenumbrüche in Kommentaren zulässt. Entfernen Sie einfach die Linie, um die "nicht faltige" Version des Problems zu erhalten . q = N ( - 0,25 , 1 )p=N(+0.25,1)q=N(0.25,1)def fitness() ...random_number_generator.set_seed(x)
Keki Burjorjee