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).
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 .
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 .
Gibt es Grenzen für die Anzahl der Anrufe, die ich für PAC-learn tätigen muss ? Vermutlich wird meine Antwort in und .
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).
quelle
Antworten:
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)) x∼p x∼q f∈F
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.f∗∈F 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=U m≥Ω(VC(F))
Der Variationsabstand zwischen und sowie mag eine Rolle in der kleinen Lücke zwischen diesen Grenzen spielen, aber ich bezweifle es.p q k
quelle
def fitness() ...
random_number_generator.set_seed(x)