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+ezi)


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+ezf(z)=1f(z)

11+ez=ez1+ez.

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

ln(1+ez)=ln(1+ez)+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)=1f(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+ezP(y=0|z)=1σ(z)=11+ez

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

Ł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))=imyizi+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+eyzj)

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+eyzj)

Przypadek jest trywialny do pokazania. Jeśli , to po lewej stronie i po prawej stronie.yi=1yi1yi=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)+λz2l(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+ewTx

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

P(y=0|x)=111+ewTx

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)logP(y=1)+(1y(i))logP(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)=11y(i)0y=01y(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+ewTx)+(1y(i))log(111+ewTx)

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(θ)=1mi=1mCost(hθ(x(i)),y(i))Cost(hθ(x),y)=log(hθ(x))if y=1Cost(hθ(x),y)=log(1hθ(x))if y=0

Po ich złożeniu mamy:

j(θ)=1mi=1m[y(i)log(hθ(x(i)))+(1y(i))log(1hθ(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(1y)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)(1y)Tlog(1h))

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.