Aby kontynuować zgodnie z odpowiedzią Deigo, standardowe granice złożoności próby z teorii uczenia się mówią ci, że jeśli jesteś zadowolony ze znalezienia programu, który jest „w przybliżeniu poprawny”, nie musisz próbować zbyt wielu punktów. Powiedzmy, że kodujemy programy w formacie binarnym, więc są tylko programy o długości d. Pozwala przypuszczać, że istnieje jakiś podział na przykłady wejściowe D . Być może Twoim celem jest znalezienie programu, co do którego masz pewność, że jest prawie odpowiedni („Prawdopodobnie w przybliżeniu poprawny”, tj. Jak w modelu uczenia się Valiants PAC). Oznacza to, że chcesz uruchomić algorytm, który pobierze niewielką liczbę próbek x ∼ D razem z f ( x )2dDx∼Df(x)I z prawdopodobieństwem będzie co najmniej wyjściu pewien program P , która zgadza się z F na co najmniej ( 1 - ε ) frakcji wejść sporządzonych z D . (1−δ)Pf(1−ϵ)D
Po prostu narysujemy przykładów x ∼ D i wyprowadzimy dowolny program P o długości ≤ d, który zgadza się zf na wszystkich przykładach. (Istnieje jedna gwarancja, że istnieje, ponieważ zakładamy, że f ma złożoność Kołmogorowa co najwyżej d ) ...mx∼DP≤dffd
Co jest prawdopodobieństwo tego, że dany program , który jest przeciwny f o więcej niż ε frakcji przykładach są zgodne z m przykładach wybranych? To jest większość ( 1 - ε ) m . Chcielibyśmy przyjąć to prawdopodobieństwo za najwyżej δ / 2 d , abyśmy mogli wziąć związek związany we wszystkich programach 2 d i powiedzieć, że z prawdopodobieństwem co najmniej 1 - δ żaden „zły” program nie jest zgodny z naszymi narysowanymi przykładami . Po rozwiązaniu widzimy, że wystarczy wziąć tylko
m ≥ 1Pfϵm(1−ϵ)mδ/2d2d1−δ
przykłady. (tj. tylko liniowo wielu w złożoności Kołmogorowaf...)
m≥1ϵ(d+log1/δ)
f
BTW, takie argumenty mogą być wykorzystane do uzasadnienia „brzytwy Ockhama”: biorąc pod uwagę stałą liczbę obserwacji, spośród wszystkich teorii, które je wyjaśniają, powinieneś wybrać tę o najniższej złożoności Kołmogorowa, ponieważ jest najmniejsza szansa na przeregulowanie.
Oczywiście, jeśli chcesz sprawdzić tylko jeden stały program w ten sposób, potrzebujesz tylko przykładów ...O(log(1/δ)/ϵ)