Która funkcja strat jest prawidłowa dla regresji logistycznej?


31

Czytałem o dwóch wersjach funkcji straty dla regresji logistycznej, która z nich jest poprawna i dlaczego?

  1. Z uczenia maszynowego , Zhou ZH (po chińsku), z :β=(w,b) and βTx=wTx+b

    (1)l(β)=∑i=1m(−yiβTxi+ln⁡(1+eβTxi))

  2. Z mojego kursu na uczelni, z :zi=yif(xi)=yi(wTxi+b)

    (2)L(zi)=log⁡(1+e−zi)


Wiem, że pierwsza to kumulacja wszystkich próbek, a druga dotyczy jednej próbki, ale jestem bardziej ciekawy różnicy w postaci dwóch funkcji strat. W jakiś sposób mam wrażenie, że są one równoważne.

Odpowiedzi:


31

Relacja wygląda następująco: .l(β)=∑iL(zi)

Zdefiniuj funkcję logistyczną jako . Posiadają właściwość, że . Lub innymi słowy:f(z)=ez1+ez=11+e−zf(−z)=1−f(z)

11+ez=e−z1+e−z.

Jeśli weźmiesz wzajemność obu stron, weź dziennik, który otrzymujesz:

ln⁡(1+ez)=ln⁡(1+e−z)+z.

Odejmij z obu stron, a powinieneś to zobaczyć:z

−yiβTxi+ln(1+eyiβTxi)=L(zi).

Edytować:

W tej chwili ponownie czytam tę odpowiedź i jestem zdezorientowany, jak otrzymałem aby być równym . Być może w pierwotnym pytaniu jest literówka.- y i β T x i + l n ( 1 + e y i β T x i )−yiβTxi+ln(1+eβTxi)−yiβTxi+ln(1+eyiβTxi)

Edycja 2:

W przypadku, gdy w pierwotnym pytaniu nie było literówki, wydaje się, że @ManelMorales ma rację, zwracając uwagę na fakt, że gdy , funkcję masy prawdopodobieństwa można zapisać jako , ze względu na właściwość, że . Piszę to tutaj inaczej, ponieważ wprowadza on nową ekwiwokację w notacji . Reszta następuje po przyjęciu ujemnego prawdopodobieństwa logarytmu dla każdego kodowania . Zobacz jego odpowiedź poniżej, aby uzyskać więcej informacji.P ( Y i = y i ) = f ( y i β T x i ) f ( - z ) = 1 - f ( z ) z i yy∈{−1,1}P(Yi=yi)=f(yiβTxi)f(−z)=1−f(z)ziy


42

OP błędnie uważa, że ​​związek między tymi dwiema funkcjami wynika z liczby próbek (tj. Pojedynczych vs. wszystkich). Jednak faktyczna różnica polega na tym, jak wybieramy nasze etykiety szkoleniowe.

W przypadku klasyfikacji binarnej możemy przypisać etykiety lub .y=±1y=0,1

Jak już stwierdzono, funkcja logistyczna jest dobrym wyborem, ponieważ ma postać prawdopodobieństwa, tj. i jako . Jeśli wybierzemy etykiety możemy przypisać σ(z)σ(−z)=1−σ(z)σ(z)∈(0,1)z→±∞y=0,1

P(y=1|z)=σ(z)=11+e−zP(y=0|z)=1−σ(z)=11+ez

które można zapisać bardziej zwięźle jako .P(y|z)=σ(z)y(1−σ(z))1−y

Łatwiej jest zmaksymalizować prawdopodobieństwo dziennika. Maksymalizacja prawdopodobieństwa dziennika jest taka sama jak minimalizacja ujemnego prawdopodobieństwa dziennika. Dla próbek , po przyjęciu logarytmu naturalnego i pewnych uproszczeń, dowiemy się:m{xi,yi}

l(z)=−log⁡(∏imP(yi|zi))=−∑imlog⁡(P(yi|zi))=∑im−yizi+log⁡(1+ezi)

Pełne wyprowadzenie i dodatkowe informacje można znaleźć w tym notesie jupyter . Z drugiej strony moglibyśmy zamiast tego użyć etykiet . To całkiem oczywiste, że możemy to przypisaćy=±1

P(y|z)=σ(yz).

Oczywiste jest również, że . Postępując tak samo jak poprzednio, minimalizujemy w tym przypadku funkcję stratP(y=0|z)=P(y=−1|z)=σ(−z)

L(z)=−log⁡(∏jmP(yj|zj))=−∑jmlog⁡(P(yj|zj))=∑jmlog⁡(1+e−yzj)

Tam, gdzie następuje ostatni krok po tym, jak weźmiemy odwrotność indukowaną znakiem ujemnym. Chociaż nie powinniśmy porównywać tych dwóch form, biorąc pod uwagę, że w każdej formie przyjmuje różne wartości, niemniej te dwie są równoważne:y

−yizi+log⁡(1+ezi)≡log⁡(1+e−yzj)

Przypadek jest trywialny do pokazania. Jeśli , to po lewej stronie i po prawej stronie.yi=1yi≠1yi=0yi=−1

Chociaż mogą istnieć podstawowe powody, dla których mamy dwie różne formy (patrz: Dlaczego istnieją dwie różne formuły / zapisy strat logistycznych? ), Jednym z powodów wyboru tego pierwszego są względy praktyczne. W pierwszym przypadku możemy użyć właściwości aby w prosty sposób obliczyć i , z których oba są potrzebne do analizy zbieżności (tj. do określenia wypukłości funkcji straty przez obliczenie Hesji ).∂σ(z)/∂z=σ(z)(1−σ(z))∇l(z)∇2l(z)


Czy funkcja straty logistycznej jest wypukła?
— user85361

2
Log reg JEST wypukły, ale nie wypukły. Nie możemy zatem ograniczać czasu zejścia gradientu. Możemy dostosować formę aby była silnie wypukła, dodając termin regularyzacji: z dodatnią stałą zdefiniuj naszą nową funkcję na st jest mocno wypukłe i możemy teraz udowodnić granicę zbieżności . Niestety minimalizujemy teraz inną funkcję! Na szczęście możemy pokazać, że wartość optimum funkcji regulowanej jest zbliżona do wartości optimum oryginału. α l λ l ′ ( z ) = l ( z ) + λ ‖l(z)αlλl′(z)=l(z)+λ‖z‖2l′(z)λl′
— Manuel Morales,

Zeszyt, o którym wspominałeś, zniknął, mam kolejny dowód: statlect.com/fundamentals-of-statistics/…
— Domi.Zhang

2
To była najbardziej pomocna odpowiedź.
— mohit6up

@ManuelMorales Czy masz link do optymalnej wartości funkcji regulowanej zbliżonej do oryginału?
— Mark

19

Nauczyłem się funkcji straty dla regresji logistycznej w następujący sposób.

Regresja logistyczna wykonuje klasyfikację binarną, a więc wyjścia etykiety są binarne, 0 lub 1. Niech będzie prawdopodobieństwem, że wyjście binarne wynosi 1, biorąc pod uwagę wektor cech wejściowych . Współczynniki to wagi, których algorytm próbuje się nauczyć.P(y=1|x)yxw

P(y=1|x)=11+e−wTx

Ponieważ regresja logistyczna jest binarna, prawdopodobieństwo wynosi po prostu 1 minus powyższy termin.P(y=0|x)

P(y=0|x)=1−11+e−wTx

Funkcja straty jest sumą (A) wyniku pomnożonego przez i (B) wyjścia pomnożonego przez dla jednego przykładu treningowego, zsumowanego ponad przykładów szkoleniowych.J(w)y=1P(y=1)y=0P(y=0)m

J(w)=∑i=1my(i)log⁡P(y=1)+(1−y(i))log⁡P(y=0)

gdzie oznacza etykietę w danych treningowych. Jeżeli przykład szkolenie ma etykietę , a , opuszcza lewy do składnika w miejscu, ale co odpowiedni do składnika z się . Z drugiej strony, jeśli instancja treningowa ma , to prawy zestaw z terminem pozostaje na miejscu, ale lewy zestaw staje się . Logarytm prawdopodobieństwa służy do ułatwienia obliczeń.y(i)ith1y(i)=11−y(i)0y=01−y(i)0

Jeśli następnie zastąpimy i wcześniejszymi wyrażeniami, otrzymamy:P(y=1)P(y=0)

J(w)=∑i=1my(i)log⁡(11+e−wTx)+(1−y(i))log⁡(1−11+e−wTx)

Możesz przeczytać więcej o tym formularzu w tych notatkach z wykładu Stanforda .


Ta odpowiedź zawiera także pewną istotną perspektywę.
— GeoMatt22,

6
Wyrażenie, które masz, nie jest stratą (do zminimalizowania), ale raczej logarytmem prawdopodobieństwa (do zmaksymalizowania).
— ksenocyon

2
@ xenocyon true - ta sama formuła jest zwykle napisana ze znakiem ujemnym zastosowanym do pełnego podsumowania.
— Alex Klibisz

1

Zamiast średniego błędu kwadratu używamy funkcji kosztu o nazwie Cross-Entropy, znanej również jako Log Loss. Stratę między entropią można podzielić na dwie osobne funkcje kosztów: jedną dla y = 1 i jedną dla y = 0.

j(θ)=1m∑i=1mCost(hθ(x(i)),y(i))Cost(hθ(x),y)=−log⁡(hθ(x))if y=1Cost(hθ(x),y)=−log⁡(1−hθ(x))if y=0

Po ich złożeniu mamy:

j(θ)=1m∑i=1m[y(i)log⁡(hθ(x(i)))+(1−y(i))log⁡(1−hθ(x)(i))]

Mnożenie przez i w powyższym równaniu jest podstępną sztuczką, która pozwala zastosować to samo równanie do rozwiązania zarówno dla przypadków i . Jeśli , pierwsza strona anuluje się. Jeśli , druga strona się anuluje. W obu przypadkach wykonujemy tylko operację, którą musimy wykonać.y(1−y)y=1y=0y=0y=1

Jeśli nie chcesz używać forpętli, możesz wypróbować wektorową postać powyższego równania

h=g(Xθ)J(θ)=1m⋅(−yTlog⁡(h)−(1−y)Tlog⁡(1−h))

Całe wyjaśnienie można zobaczyć na stronie Machine Learning Cheatsheet .

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.