Ich weiß nicht, ob Sie das Folgende als nicht trivial betrachten werden, aber hier bin ich.
Um klar zu sein, damit wir DNF nicht mit k- Term DNF verwechseln (was ich oft mache), hat eine c- DNF-Formel über Variablen x 1 , … , x n die Form ∨ k i = 1 ( l i , 1 ∧ l i , 2 . . . l i , c ) , wo ∀ 1 ≤ i ≤ k und 1 ≤ j ≤ cckcx1, … , X.n∨ki = 1( ℓich , 1∧ ℓich , 2. . . ℓich , c)∀ 1 ≤ i ≤ k1 ≤ j ≤ c, .ℓich , j∈ { x1, … , X.n, x¯1, … , X.¯n}}
Wir können zunächst fragen, wie viele verschiedene Begriffe in einem DNF existieren können. Jeder Begriff hat c dercc Variablen, jede entweder negiert oder nicht - was 2 c ( n ergibtn verschiedene mögliche Begriffe. In einer 2-DNF-Instanz wird jeder Begriff entweder angezeigt oder nicht, was zu| führt H.2c( nc) mögliche "Ziele", wobeiHder Hypothesenraum ist.| H | = 22c( nc)H.
Stellen Sie sich einen Algorithmus vor, der Samples nimmt und dann alle | ausprobiert H | Hypothesen, bis eine gefunden wird, die die Stichproben perfekt vorhersagt. Occams Rasiermessersatz besagt, dass Sie nur etwa m = O ( 1) nehmen müssenm| H |Abtastwerte für diesen Algorithmus, um ein Ziel mit einem Fehler≤ϵmit einer Wahrscheinlichkeit von≥1-δ zu finden.m = O ( 1ϵ| ( H | + 1δ)≤ ϵ≥ 1 - δ
In unserem Fall für , lg | H |c = 2 , was bedeutet, dass Sie ungefähr n 2 Proben benötigen, um das (richtige) Lernen durchzuführen.lg| H | =O( n2)n2
Das ganze Lernspiel besteht jedoch nicht wirklich aus Beispielkomplexität (obwohl dies Teil des Spiels ist, insbesondere beim Attribut-effizienten Lernen), sondern darin, Polynom-Zeit-Algorithmen zu entwerfen. Wenn Sie sich nicht für Effizienz interessieren, ist die einfachste Antwort für die Komplexität von PAC-Stichproben.n2
UPDATE (angesichts der geänderten Frage) :
Da Sie ausdrücklich angegeben haben, dass Sie sich nur um die Komplexität der Stichproben kümmern, habe ich den Brute-Force-Occam-Algorithmus vorgestellt, der wahrscheinlich das einfachste Argument ist. Meine Antwort war jedoch etwas schüchtern. -DNF sind tatsächlich in Polynomzeit lernbar! Dies ist ein Ergebnis von Valiants Originalarbeit " A Theory of the Learnable ". Tatsächlich sind c- DNF für jedes c = O ( 1 ) lernbar .2cc = O ( 1 )
Das Argument lautet wie folgt. Sie können eine DNF als Disjunktion von ≈ n c
" Metavariablen " anzeigen und versuchen, die Disjunktion zu lernen, indem Sie die Metavariablen entfernen , die nicht mit den Beispielen übereinstimmen. Eine solche Lösung kann leicht in eine "richtige" Lösung zurückübersetzt werden und benötigt O ( n c ) Zeit. Als Randnotiz ist noch offen, ob es einen Polynomzeitalgorithmus für c = ω ( 1 ) gibt .c≈ ncO ( nc)c = ω ( 1 )
Die Frage, ob die Komplexität der -Stichproben auch eine Untergrenze ist, lautet so ziemlich Ja. Dieses Papier von Ehrenfeucht et al. zeigt, dass die Occam-Grenze fast eng ist.n2