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.

Wellington
źródło
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.

Glen_b - Przywróć Monikę
źródło
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
4

W rzeczywistości, jeśli sprawdzisz notatki z wykładu tuż po wideo, poprawnie pokazuje formułę. Umieszczone tu slajdy pokazują dokładny slajd wideo.

wprowadź opis zdjęcia tutaj

Piyush
źródło
coursera.org/learn/machine-learning/supplement/pKAsc/… tutaj jest link do notatek zaraz po wideo pokazującym poprawną formułę.
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?

Steve S.
źródło