Przeglądam notatki z wykładu Andrew Ng na temat uczenia maszynowego.
Notatki wprowadzają nas do regresji logistycznej, a następnie do perceptronu. Opisując Perceptron, notatki mówią, że po prostu zmieniamy definicję funkcji progowej używanej do regresji logistycznej. Po wykonaniu tej czynności możemy użyć modelu Perceptron do klasyfikacji.
Moje pytanie brzmi - jeśli trzeba to określić i uważamy Perceptron za technikę klasyfikacji, to czym dokładnie jest regresja logistyczna? Czy jest po prostu używany, aby uzyskać prawdopodobieństwo punktu danych należącego do jednej z klas?
regression
machine-learning
self-study
logistic
perceptron
GrowinMan
źródło
źródło
Odpowiedzi:
Krótko mówiąc, regresja logistyczna ma konotacje probabilistyczne, które wykraczają poza zastosowanie klasyfikatora w ML. Mam kilka uwag na temat regresji logistycznej tutaj .
Hipoteza regresji logistycznej zapewnia miarę niepewności w przypadku wystąpienia wyniku binarnego na podstawie modelu liniowego. Wynik jest asymptotycznie ograniczony od do i zależy od modelu liniowego, tak że gdy leżąca u podstaw linia regresji ma wartość , równanie logistyczne wynosi , pod warunkiem naturalny punkt odcięcia dla celów klasyfikacji. Kosztem jest jednak wyrzucenie informacji o prawdopodobieństwie w faktycznym wyniku , co często jest interesujące (np. Prawdopodobieństwo niespłacenia pożyczki przy danym dochodzie, ocenie zdolności kredytowej, wieku itp.).1 0 0,5 = e 00 1 0 h(ΘTx)=e Θ T x0.5=e01+e0 h(ΘTx)=eΘTx1+eΘTx
Algorytm klasyfikacji perceptronów jest bardziej podstawową procedurą, opartą na iloczynach między przykładami i wagami . Za każdym razem, gdy przykład jest źle sklasyfikowany, znak iloczynu kłóci się z wartością klasyfikacji ( i ) w zestawie treningowym. Aby to poprawić, przykładowy wektor zostanie iteracyjnie dodany lub odjęty od wektora wag lub współczynników, stopniowo aktualizując jego elementy:1−1 1
Wektorowo, cechami lub atrybutami przykładu są , a pomysł polega na "przejściu" przykładu, jeśli:xd x
1 - 1 0 1h(x)=sign(∑1dθixi−theshold) . Funkcja znak daje lub , w przeciwieństwie do i w regresji logistycznej.1 - 1 0 1
Próg zostanie wchłonięty przez współczynnik odchylenia , . Formuła jest teraz:+ θ0
lub wektoryzacja: h ( x ) = znak ( θ T x ) .h ( x ) = znak ( ∑0reθjaxja) h ( x ) = znak ( θT.x )
Pracowałem nad różnicami między tymi dwiema metodami w zbiorze danych z tego samego kursu , w którym wyniki testów w dwóch oddzielnych egzaminach są związane z ostateczną akceptacją na studia:
Użyty kod jest tutaj .
źródło
Może pojawić się pewne zamieszanie. Pierwotnie perceptron odnosił się tylko do sieci neuronowych z funkcją krokową jako funkcją przenoszenia. W takim przypadku różnica polega na tym, że regresja logistyczna wykorzystuje funkcję logistyczną, a perceptron używa funkcji krokowej. Zasadniczo oba algorytmy powinny dawać tę samą granicę decyzyjną (przynajmniej dla jednego perceptronu neuronu). Jednak:
W niektórych przypadkach termin perceptron jest również stosowany w odniesieniu do sieci neuronowych, które wykorzystują funkcję logistyczną jako funkcję transferu (jednak nie jest to zgodne z pierwotną terminologią). W takim przypadku regresja logistyczna i „perceptron” są dokładnie takie same. Oczywiście za pomocą perceptronu można korzystać z wielu neuronów za pomocą funkcji transferu logistycznego, która staje się nieco związana ze stosowaniem regresji logistycznej (nie taka sama, ale podobna).
źródło
Za pomocą regresji logistycznej można zbudować perceptron. Regresja logistyczna używa funkcji logistycznej do budowania danych wyjściowych z danych wejściowych. Funkcja logistyczna zapewnia płynne wyjście od 0 do 1, więc potrzebujesz jeszcze jednej rzeczy, aby uczynić ją klasyfikatorem, który jest progiem. Perceptrony mogą być budowane z innymi funkcjami, oczywiście nie tylko logistycznymi .
źródło
Obaj stosują regresję, szacując parametry tego samego modelu przekształconego logistycznie. Zgodnie z właściwościami funkcji wypukłych wartości parametrów będą takie same, niezależnie od sposobu ich oszacowania. Cytując siebie z poprzedniej odpowiedzi:
Regresja logistyczna modeluje funkcję średniej rozkładu Bernoulliego jako równanie liniowe (średnia jest równa prawdopodobieństwu p zdarzenia Bernoulliego). Stosując łącze logit jako funkcję średniej (p), logarytm szans (log-odds) można uzyskać analitycznie i wykorzystać jako odpowiedź na tak zwany uogólniony model liniowy. Oprócz przewidywania pozwala to na interpretację modelu na podstawie wnioskowania przyczynowego. Tego nie da się osiągnąć za pomocą liniowego Perceptronu.
Perceptron przyjmuje odwrotną logit (logistyczną) funkcję wx i nie stosuje probabilistycznych założeń ani dla modelu, ani jego parametru. Szkolenie online da dokładnie takie same oszacowania dla wag / parametrów modelu, ale nie będziesz w stanie zinterpretować ich na podstawie wnioskowania przyczynowego z powodu braku wartości p, przedziałów ufności i cóż, podstawowego modelu prawdopodobieństwa.
źródło
Funkcję celu w problemie (1) można zapisać jako , gdzie Subgradient o w jest wektorem Każda epoka stochastycznego zejścia podskładnikowego (z krokiem ) przechodzi przez obserwacje i, dla tej obserwacji, wykonuje aktualizację1N∑iℓi(β) ℓi(β)=max(−yiβTxi,0). ℓi β g={0−yixiif −yiβTxi≤0(so yi and βTxi have the same sign)otherwise. t>0) i β←β−tg={ββ+tyixiif yi and βTxi have the same signotherwise.
Zdajemy sobie sprawę, że jest to iteracja algorytmu perceptronowego (z prędkością uczenia ).t
źródło
Andrew Ng użył terminu „regresja logistyczna” jako modelu rozwiązania problemu klasyfikacji binarnej.
Jak widać w pracy, on nigdy nie narysował samego modelu.
Pozwól mi dodać kilka szczegółów do wiadra, abyś mógł znaleźć uzasadnienie tego, jak myślę, że skonstruował wykłady.
Model zastosowany do „regresji logistycznej” jest percepcją jednopoziomową z niestandardową liczbą wejść i jednym wyjściem w zakresie od 0 do 1.
W latach 90. najbardziej docenianą funkcją aktywacji była funkcja aktywacji sigmoidalnej i istnieje wielka teoria matematyczna jako wsparcie.
Jest to dokładnie model, z którego korzysta Andrew Ng, ponieważ zakres tej funkcji wynosi od 0 do 1.
Także pochodna
s'(x) = s(x)(1−s(x))
, gdzies(x)
jest funkcja aktywacji sigmoidalnej.Do funkcji błędu używa L2, chociaż w niektórych dokumentach może użyć do tego innej funkcji.
Podsumowując, rozważając „regresję logistyczną”, po prostu weź pod uwagę percepcję pojedynczego poziomu z funkcją aktywacji sigmoidalnej, niestandardową liczbę wejść i pojedynczego wyjścia.
Tylko kilka uwag: nie ma nic złego w funkcji sigmoidalnej aktywacji, chociaż dla arytmetyki zmiennoprzecinkowej ReLU dominuje obecnie ukryte warstwy, ale w niedalekiej przyszłości pozycje (lub niektóre inne jednostki arytmetyczne) mogą odłożyć funkcję aktywacji sigmoidalnej z powrotem na stół .
Osobiście, użyłbym prostszego modelu z funkcją ReLU, aby wyjaśnić SLP (perceptron jednopoziomowy), ponieważ jest dziś częściej używany.
źródło