Pomóż mi zrozumieć różnicę między algorytmem generatywnym a dyskryminacyjnym , pamiętając, że jestem dopiero początkujący.
Pomóż mi zrozumieć różnicę między algorytmem generatywnym a dyskryminacyjnym , pamiętając, że jestem dopiero początkujący.
Odpowiedzi:
Załóżmy, że masz dane wejściowe x
i chcesz sklasyfikować dane do etykiet y
. Model generatywny uczy się wspólnego rozkładu prawdopodobieństwa, p(x,y)
a model dyskryminacyjny uczy się warunkowego rozkładu prawdopodobieństwa p(y|x)
- które należy odczytywać jako „prawdopodobieństwo y
danego x
” .
Oto naprawdę prosty przykład. Załóżmy, że masz następujące dane w formularzu (x,y)
:
(1,0), (1,0), (2,0), (2, 1)
p(x,y)
jest
y=0 y=1
-----------
x=1 | 1/2 0
x=2 | 1/4 1/4
p(y|x)
jest
y=0 y=1
-----------
x=1 | 1 0
x=2 | 1/2 1/2
Jeśli spojrzysz na te dwie macierze przez kilka minut, zrozumiesz różnicę między tymi dwoma rozkładami prawdopodobieństwa.
Rozkład p(y|x)
jest rozkładem naturalnym służącym do zaklasyfikowania danego przykładu x
do klasy y
, dlatego algorytmy modelujące to bezpośrednio nazywane są algorytmami dyskryminacyjnymi. Model algorytmów generatywnych p(x,y)
, w który można przekształcić p(y|x)
stosując regułę Bayesa, a następnie zastosować do klasyfikacji. Jednak dystrybucja p(x,y)
może być również wykorzystana do innych celów. Na przykład możesz użyć p(x,y)
do wygenerowania prawdopodobnych (x,y)
par.
Z powyższego opisu możesz myśleć, że modele generatywne są bardziej użyteczne, a zatem lepsze, ale nie jest to takie proste. Ten artykuł jest bardzo popularnym odniesieniem na temat klasyfikatorów dyskryminujących i generatywnych, ale jest dość ciężki. Ogólną zasadą jest to, że modele dyskryminacyjne zwykle przewyższają modele generatywne w zadaniach klasyfikacyjnych.
p(y|x)
implikuje, że algorytmy, które to modelują, nazywane są „modelami dyskryminacyjnymi”.
A generatywne algorytm modele jak dane został wygenerowany w celu kategoryzowania sygnał. Powstaje pytanie: w oparciu o założenia generacyjne, która kategoria najprawdopodobniej wygeneruje ten sygnał?
Dyskryminacyjną algorytm nie obchodzi, w jaki sposób dane zostały wygenerowane, to po prostu klasyfikuje dany sygnał.
Wyobraź sobie, że Twoim zadaniem jest sklasyfikowanie mowy na język.
Możesz to zrobić przez:
lub
Pierwszy to podejście generatywne, a drugie to podejście dyskryminacyjne .
Sprawdź to odniesienie, aby uzyskać więcej informacji: http://www.cedar.buffalo.edu/~srihari/CSE574/Discriminative-Generative.pdf .
W praktyce modele są używane w następujący sposób.
W modelach dyskryminujących , aby przewidzieć etykietę y
z przykładu szkolenia x
, musisz ocenić:
które jedynie wybiera to, co jest najbardziej prawdopodobne, klasa y
rozważa x
. To tak, jakbyśmy próbowali modelować granicę decyzyjną między klasami . To zachowanie jest bardzo wyraźne w sieciach neuronowych, gdzie obliczone wagi można postrzegać jako krzywą o złożonym kształcie izolującą elementy klasy w przestrzeni.
Teraz, stosując zasadę Bayesa, zastąpmy równanie przez . Ponieważ jesteś zainteresowany arg arg , możesz wymazać mianownik, który będzie taki sam dla każdego y
. Więc zostajesz
które jest równaniem używanym w modelach generatywnych .
Podczas gdy w pierwszym przypadku miałeś warunkowy rozkład prawdopodobieństwa p(y|x)
, który modelował granicę między klasami, w drugim przypadku miałeś wspólny rozkład prawdopodobieństwa p(x, y)
, ponieważ p(x | y) p(y) = p(x, y)
, który wyraźnie modeluje rzeczywisty rozkład każdej klasy .
Dzięki funkcji łącznego rozkładu prawdopodobieństwa, przy danym a y
, możesz obliczyć („wygenerować”) jego odpowiednią wartość x
. Z tego powodu nazywane są modelami „generatywnymi”.
Oto najważniejsza część notatek z wykładu CS299 (autorstwa Andrew Ng) związanych z tym tematem, która naprawdę pomaga mi zrozumieć różnicę między algorytmami uczenia się dyskryminacyjnego i generatywnego .
Załóżmy, że mamy dwie klasy zwierząt: słonia ( y = 1
) i psa ( y = 0
). A x jest wektorem cech zwierząt.
Biorąc pod uwagę zestaw treningowy, algorytm taki jak regresja logistyczna lub algorytm perceptronowy (w zasadzie) próbuje znaleźć linię prostą - to znaczy granicę decyzji - oddzielającą słonie i psy. Następnie, aby sklasyfikować nowe zwierzę jako słonia lub psa, sprawdza, po której stronie granicy decyzji spada, i odpowiednio prognozuje. Nazywamy ten algorytm uczenia się dyskryminującego .
Oto inne podejście. Po pierwsze, patrząc na słonie, możemy zbudować model tego, jak wyglądają słonie. Następnie, patrząc na psy, możemy zbudować osobny model tego, jak wyglądają psy. Wreszcie, aby sklasyfikować nowe zwierzę, możemy dopasować nowe zwierzę do modelu słonia i dopasować je do modelu psa, aby zobaczyć, czy nowe zwierzę bardziej przypomina słonie, czy bardziej psy, które widzieliśmy w zestawie treningowym . Nazywamy ten algorytm uczenia generatywnego .
Ogólnie rzecz biorąc, w społeczności uczącej się maszyną istnieje praktyka polegająca na tym, aby nie uczyć się czegoś, czego nie chcesz. Rozważmy na przykład problem klasyfikacji, w którym celem jest przypisanie y etykiet do danego wejścia x. Jeśli użyjemy modelu generatywnego
p(x,y)=p(y|x).p(x)
musimy modelować p (x), co nie ma znaczenia dla danego zadania. Praktyczne ograniczenia, takie jak rzadkość danych, zmuszą nas do modelowania p(x)
przy pewnych słabych założeniach dotyczących niezależności. Dlatego intuicyjnie używamy modeli dyskryminacyjnych do klasyfikacji.
Dodatkowy punkt informacyjny, który dobrze pasuje do odpowiedzi StompChicken powyżej.
Zasadnicza różnica między dyskryminacyjnych modeli i modeli generatywnych jest:
Modele dyskryminacyjne uczą się (twardej lub miękkiej) granicy między klasami
Modele generatywne modelują rozkład poszczególnych klas
Edytować:
Model generatywny to taki, który może generować dane . Modeluje zarówno cechy, jak i klasę (tj. Kompletne dane).
Jeśli modelujemy P(x,y)
: mogę użyć tego rozkładu prawdopodobieństwa do wygenerowania punktów danych - a zatem wszystkie modele algorytmów P(x,y)
są generatywne.
Na przykład. modeli generatywnych
Naiwne modele Bayesa P(c)
i P(d|c)
- gdzie c
jest klasa i d
wektor cech.
Również, P(c,d) = P(c) * P(d|c)
Dlatego Naive Bayes w niektórych modelach form, P(c,d)
Bayes Net
Sieci Markowa
Model dyskryminacyjny to taki, którego można używać wyłącznie do dyskryminacji / klasyfikacji punktów danych . Musisz modelować tylko P(y|x)
w takich przypadkach (tj. Prawdopodobieństwo klasy, biorąc pod uwagę wektor cech).
Na przykład. modeli dyskryminujących:
regresja logistyczna
Sieci neuronowe
Warunkowe pola losowe
Zasadniczo modele generatywne muszą modelować znacznie więcej niż modele dyskryminacyjne, a zatem czasami nie są tak skuteczne. W rzeczywistości większość algorytmów uczenia się bez nadzoru, takich jak klastrowanie itp., Można nazwać generatywnymi, ponieważ modelują one P(d)
(i nie ma klas: P)
PS: Część odpowiedzi pochodzi ze źródła
Wiele odpowiedzi tutaj opiera się na szeroko stosowanej definicji matematycznej [1]:
- Modele dyskryminacyjne bezpośrednio uczą się warunkowej dystrybucji predykcyjnej
p(y|x)
.- Modele generatywne uczą się wspólnej dystrybucji
p(x,y)
(a raczejp(x|y)
ip(y)
).
- Rozkład predykcyjny
p(y|x)
można uzyskać z regułą Bayesa.
Mimo że jest bardzo przydatna, ta wąska definicja zakłada nadzorowane ustawienie i jest mniej przydatna podczas badania metod bez nadzoru lub częściowo nadzorowanych. Nie dotyczy to również wielu współczesnych podejść do głębokiego modelowania generatywnego . Na przykład, teraz mamy dorozumiane modele generatywne, np. Generatywne sieci przeciwników (GAN), które są oparte na próbkowaniu i nawet nie jawnie modelują gęstości prawdopodobieństwa p(x)
(zamiast tego uczą się miary dywergencji poprzez sieć dyskryminacyjną). Ale nazywamy je „modelami generatywnymi”, ponieważ są one używane do generowania (wielowymiarowych [10]) próbek.
Szersze i bardziej zasadnicze Definicja [2] wydaje się być równie montażu tego ogólnego problemu:
- Modele dyskryminacyjne poznają granicę między klasami.
- Dzięki temu mogą rozróżniać różne rodzaje instancji danych.
- Modele generatywne uczą się dystrybucji danych.
- Mogą więc generować nowe instancje danych.
Mimo to pytanie to sugeruje poniekąd fałszywą dychotomię [3]. „Dychotomia generatywno-dyskryminacyjna” jest w rzeczywistości spektrum, które można nawet płynnie interpolować między [4].
W rezultacie to rozróżnienie staje się arbitralne i mylące, szczególnie gdy wiele popularnych modeli nie wpada w odpowiedni sposób w jeden lub drugi [5,6], lub w rzeczywistości są modelami hybrydowymi (kombinacje modeli klasycznie „dyskryminujących” i „generatywnych”) .
Niemniej jednak jest to bardzo użyteczne i powszechne rozróżnienie. Możemy wymienić kilka wyraźnych przykładów modeli generatywnych i dyskryminacyjnych, zarówno kanonicznych, jak i najnowszych:
Istnieje również wiele interesujących prac dogłębnie badających podział generatywno-dyskryminacyjny [7] i spektrum [4,8], a nawet przekształcających modele dyskryminacyjne w modele generatywne [9].
Ostatecznie definicje ciągle ewoluują, szczególnie w tej szybko rozwijającej się dziedzinie :) Najlepiej wziąć je ze szczyptą soli, a może nawet przedefiniować je dla siebie i innych.
Wszystkie poprzednie odpowiedzi są świetne i chciałbym podłączyć jeszcze jeden punkt.
Z generatywnych modeli algorytmów możemy wyprowadzić dowolny rozkład; podczas gdy możemy uzyskać tylko rozkład warunkowy P (Y | X) z modeli algorytmu dyskryminacyjnego (lub możemy powiedzieć, że są one użyteczne tylko do odróżniania etykiety Y), i dlatego nazywa się to modelem dyskryminacyjnym. Model dyskryminacyjny nie zakłada, że X są niezależne, biorąc pod uwagę Y ($ X_i \ perp X _ {- i} | Y $), a zatem zwykle ma większą moc obliczania tego rozkładu warunkowego.
Moje dwa centy: Podejścia dyskryminacyjne podkreślają różnice Podejścia generatywne nie koncentrują się na różnicach; starają się zbudować model reprezentatywny dla klasy. Te dwa elementy pokrywają się. Najlepiej byłoby zastosować oba podejścia: jedno będzie przydatne do znalezienia podobieństw, a drugie będzie przydatne do znalezienia podobieństw.
Model algorytmu generatywnego nauczy się całkowicie na podstawie danych treningowych i przewidzi reakcję.
Algorytm dyskryminujący ma na celu jedynie klasyfikację lub rozróżnienie między dwoma wynikami.
Ten artykuł bardzo mi pomógł w zrozumieniu tej koncepcji.
W podsumowaniu,
Dobry materiał do czytania: prawdopodobieństwo warunkowe , wspólny plik PDF