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)P(y=0|z)=σ(z)=11+e−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)
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) y x w
Ponieważ regresja logistyczna jest binarna, prawdopodobieństwo wynosi po prostu 1 minus powyższy termin.P(y=0|x)
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=1 P(y=1) y=0 P(y=0) m
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) ith 1 y(i)=1 1−y(i) 0 y=0 1−y(i) 0
Jeśli następnie zastąpimy i wcześniejszymi wyrażeniami, otrzymamy:P(y=1) P(y=0)
Możesz przeczytać więcej o tym formularzu w tych notatkach z wykładu Stanforda .
źródło
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.
Po ich złożeniu mamy:
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=1 y=0 y=0 y=1
Jeśli nie chcesz używać
for
pętli, możesz wypróbować wektorową postać powyższego równaniaCałe wyjaśnienie można zobaczyć na stronie Machine Learning Cheatsheet .
źródło