Pytanie do nauki parzystości

10

Zdefiniujmy klasę funkcji w zbiorze bitów. Napraw dwa rozkłady które są „rozsądnie” różne od siebie (jeśli chcesz, ich odległość wariacyjna wynosi co najmniej lub coś podobnego).np,qϵ

Teraz każda funkcja w tej klasie jest zdefiniowana przez zbiór indeksów i jest oceniana w następujący sposób: Jeśli parzystość wybranych bitów wynosi 0, zwróć losową próbkę z , w przeciwnym razie zwróć losową próbkę z .fkSpq

Problem : Załóżmy, że mam dostęp do wyroczni do niektórych z tej klasy i chociaż znam (lub inną miarę odległości), nie znam i .fϵpq

Czy są jakieś ograniczenia co do liczby połączeń, które muszę wykonać, aby PAC-learn ? Przypuszczalnie moja odpowiedź będzie w kategoriach n , k i ϵ .fn,kϵ

Uwaga : nie określiłem domeny wyjściowej. Znowu jestem elastyczny, ale na razie powiedzmy, że i q są zdefiniowane w domenie skończonej [ 1 .. M ] . Zasadniczo byłbym również zainteresowany przypadkiem, gdy są one zdefiniowane powyżej R (na przykład, jeśli są Gaussowcami)pq[1..M]R

Suresh Venkat
źródło
Nie jestem pewien, czy rozumiem model. Co określasz w wywołaniu wyroczni? Czy przykłady zawsze pochodzą z rozkładu określonego przez cel?
Lew Reyzin
1
W wywołaniu wyroczni wywołujesz funkcję f (), która zwraca wartość.
Suresh Venkat
Więc w zależności od funkcji docelowej , do generowania przykładów zawsze używa się p lub q ? (Zakładam, że uczysz się jakiejś klasy F. )fFpqF
Lew Reyzin
Tak to jest poprawne. problemem jest to, aby dowiedzieć się, który z nich (lub nauki parzystości wykorzystywane)
Suresh Venkat
2
Nie jestem pewien, w jaki sposób dostosowujesz model PAC do tego modelu. Wydaje się jednak, że wystarczy odróżnić od q z prawdopodobieństwem 1 - 1 / ( 2 k ), a następnie można uzyskać wartości f ( x ) dla k liniowo niezależnego x i użyć eliminacji gaussowskiej, aby znaleźć f (ponieważ f jest liniowy). na przykład łatwe będzie rozróżnienie dwóch dobrze oddzielonych gaussów. pq11/(2k)f(x)kxff
Sasho Nikolov

Odpowiedzi:

6

Dyskusja w komentarzach poniżej wskazuje, że źle zrozumiałem pytanie. Moja odpowiedź jest oparta na Oracle sobą nie wejście i powrót , gdzie x ~ p lub x ~ q , w zależności od f F . Najwyraźniej nie o to pytano.(x,f(x))xpxqfF


Ponieważ rozkład celu jest ustalony dla każdego celu , obowiązuje górna granica próbki PAC (wynika to z faktu, że rozkład celu dla tej granicy może nawet całkowicie zależeć od f ). Stąd m ˜ O ( 1fFf przykłady powinny wystarczyć, aby znaleźć hipotezę błęduϵwp1-δ. Uwaga - po zapoznaniu się z tymi przykładami należy znaleźć spójną hipotezę zFi może to nie być wykonalne.

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

Z drugiej strony, można uzyskać prawie pasującą dolną granicę, nawet w przypadku , rozkład równomierny, gdzie wciąż wymagane są przykłady m Ω ( V C ( F ) ) (można to nieco poprawić) .p=q=UmΩ(VC(F))

Odległość wariacyjna między i q , a także k mogą odgrywać rolę w małej szczelinie między tymi granicami, ale wątpię w to.pqk

Lew Reyzin
źródło
Typowe ustawienie uczenia PAC ma wyrocznię która pobiera próbkę x z rozkładu D i zwraca ( x , f ( x ) ) . To nie jest ustawienie opisane w pytaniu Suresha lub postu na blogu, który go zainspirował: bit.ly/YtwdST . W obu przypadkach wyrocznia jest funkcją f , a uczący się może przesłać dowolny element z zestawu instancji (ciągi bitów o długości n(f,D)xD(x,f(x))fn). Lev, czy twoja odpowiedź zakłada wyrocznię pierwszego typu, czy drugiego typu? Jeśli drugi typ, nadal mówimy o uczeniu się PAC?
Keki Burjorjee 10.04.13
1
Widzę. PAC, w "wyrocznią" zwykle są traktowane jako przycisk, który powraca gdzie x ~ D . Opisać Oracle jest nazywany „query członków” do f . Moja odpowiedź dotyczy tylko tego pierwszego. Jeśli pytasz tylko o członkostwo, jak możesz znaleźć informacje na temat p lub q za pomocą frameworka Suresh? Powiedzmy p = q dla uproszczenia. (x,f(x))xDfpqp=q
Lew Reyzin
Dziękuję za to wyjaśnienie. Tak więc w przypadku opisanym przez Suresha wyrocznia „zapytanie członkostwa” działa w następujący sposób (zakładam, że umieściłeś ten byt w cudzysłowie, ponieważ wyrocznia może zwrócić prawdziwą wartość, a nie tylko wartość logiczną jest członkiem / nie-członkiem- odpowiedź członka): jeśli parzystość skutecznych atrybutów wynosi 1, wówczas zwracany wynik jest pobierany z rozkładu . W przeciwnym razie wynik jest pobierany z rozkładu q . Jest dodatkowy zmarszczek. Wyrocznia pamięta wszystkie poprzednie odpowiedzi i zwraca je, jeśli zapytano o to samo wejście. Innymi słowy, jest deterministyczny. pq
Keki Burjorjee
1
Nie rozumiem. Jeśli wyrocznia jest po prostu funkcją a zapytasz ją, podając jej x , to czy nie zwraca po prostu f ( x ) ? W jaki sposób p lub q wchodzi do gry, jeśli uczeń sam generuje x ? Myślę, że przez cały czas nie rozumiałem tego podstawowego punktu ...fxf(x)pqx
Lew Reyzin
Dla i q = N ( - 0,25 , 1 ) pseudokod wyroczni dla problemu z „zmarszczeniem” podano na dole tego komentarza reddit: bit.ly/XvVMC4 ( ). Nie mogę wstawić kodu, ponieważ SE nie zezwala na nowe wiersze w komentarzach. Aby uzyskać wersję „bez pomarszczeń”, po prostu usuń wiersz . p=N(+0.25,1)q=N(0.25,1)def fitness() ...random_number_generator.set_seed(x)
Keki Burjorjee