Wyprowadzenie regularnej funkcji kosztu regresji liniowej na kurs Coursera Machine Learning


12

Kilka miesięcy temu wziąłem kurs Andrew Machine na „Machine Learning” przez Coursera, nie zwracając uwagi na większość matematyki / pochodnych i skupiając się na implementacji i praktyczności. Od tego czasu zacząłem wracać, aby studiować niektóre z podstawowych teorii i ponownie zapoznałem się z niektórymi wykładami prof. Ng. Czytałem przez jego wykład na temat „Regularnej regresji liniowej” i zobaczyłem, że dał on następującą funkcję kosztów:

jot(θ)=12)m[ja=1m(hθ(x(ja))-y(ja))2)+λjot=1nθjot2)]

Następnie podaje następujący gradient dla tej funkcji kosztu:

θjotjot(θ)=1m[ja=1m(hθ(x(ja))-y(ja))xjot(ja)-λθjot]

Jestem trochę zdezorientowany tym, jak on przechodzi od jednego do drugiego. Kiedy próbowałem wykonać własną pochodną, ​​otrzymałem następujący wynik:

θjotjot(θ)=1m[ja=1m(hθ(x(ja))+y(ja))xjot(ja)+λθjot]

Różnica polega na znaku „plus” między pierwotną funkcją kosztu a parametrem regularyzacji we wzorze prof. Ng zmieniającym się w znak „minus” w jego funkcji gradientu, podczas gdy tak się nie dzieje w moim wyniku.

Intuicyjnie rozumiem, dlaczego jest on ujemny: zmniejszamy parametr theta o wartość gradientu i chcemy, aby parametr regularyzacji zmniejszał ilość zmienianego parametru, aby uniknąć przeregulowania. Trochę utknąłem na rachunku różniczkowym, który popiera tę intuicję.

Do zobaczenia tutaj talię na slajdach 15 i 16.


1
W rezultacie masz znak „ + ” poprzedzający y ^ (i) - czy to literówka?
Steve S.

Odpowiedzi:


12

jot(θ)=12)m[ja=1m(hθ(x(ja))-y(ja))2)+λjot=1nθjot2)]

Teraz

θjot(hθ(x(ja))-y(ja))2)=2)[(hθ(x(ja))-y(ja))θjot{hθ(x(ja))}]

Pamiętaj, że w modelu liniowym (omawianym na stronach, o których wspominasz), θjot(hθ(x(ja))=[x(ja)]jot

θjotλjot=1nθ2)=2)λθjot

Tak w przypadku przypadku liniowego

θjotjot(θ)=1m[ja=1m(hθ(x(ja))-y(ja))xjot(ja)+λθjot]

Wygląda na to, że ty i Andrew moglibyście mieć literówki. Wydaje się, że przynajmniej dwóch z nas trzech.


potwierdzony, tylko literówka w notatce Andrew, powinien to być znak +. I Prof poprawnie wyjaśnia wszystko poprawnie, w tym intuicję θ (1-α (λ / m)), co oznacza, że ​​za każdym razem to maleje θ, a następnie minus zwykłą część przed wprowadzeniem regularyzacji.
Gob00st


1

Właściwie myślę, że to tylko literówka.

Na slajdzie nr 16 pisze pochodną funkcji kosztu (wraz z terminem regularyzacji) w odniesieniu do theta, ale jest to w kontekście algorytmu spadku gradientu . Dlatego pomnaża także tę pochodną przez-α. Uwaga: W drugiej linii (slajd 16) ma-λθ (jak napisałeś), pomnożone przez -α. Jednak w trzeciej linii pomnożony termin jest nadal ujemny chociaż - jeśli druga linia byłaby poprawna - znaki ujemne zostałyby anulowane.

Ma sens?

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.