Regresja liniowa: spadek wzdłuż gradientu

Metoda gradientu prostego to technika matematyczna, która iteracyjnie znajduje wagi i wartości progowe, które dają model o najniższej wartości funkcji straty. Metoda spadku gradientowego znajduje najlepsze wagi i wartości progowe, powtarzając poniższy proces przez określoną przez użytkownika liczbę iteracji.

Model rozpoczyna trenowanie z losowymi wagami i odchyleniami bliskimi zera, a następnie powtarza te czynności:

  1. Oblicz wartość funkcji straty przy użyciu bieżących wag i wartości progowych.

  2. określanie kierunku, w którym należy przesunąć wagi i odchylenia, aby zmniejszyć utratę;

  3. Przesuń wartości wag i odchyleń o niewielką wartość w kierunku, który zmniejsza utratę.

  4. Wróć do kroku 1 i powtarzaj proces, aż model nie będzie w stanie dalej zmniejszać utraty.

Poniższy diagram przedstawia iteracyjne kroki, które wykonuje algorytm spadku gradientu, aby znaleźć wagi i wartość progową, które dają model o najmniejszej utracie.

Rysunek 11. Ilustracja procesu spadku gradientu.

Rysunek 11. Spadek gradientu to proces iteracyjny, który znajduje wagi i wartości progowe, które tworzą model o najniższej wartości funkcji straty.

Zbieżność modelu i krzywe funkcji straty

Podczas trenowania modelu często sprawdzasz krzywą straty, aby określić, czy model zbiegł się. Krzywa funkcji straty pokazuje, jak zmienia się funkcja straty w trakcie trenowania modelu. Tak wygląda typowa krzywa strat. Oś Y przedstawia utratę, a oś X – iteracje:

Rysunek 12. Wykres krzywej strat pokazujący gwałtowny spadek, a potem łagodny spadek.

Rysunek 12. Krzywa utraty pokazująca,że model zbiega się w okolicach 1000 iteracji.

Widać, że w pierwszych kilku iteracjach utrata gwałtownie maleje, a potem stopniowo się zmniejsza, aż około tysięcznej iteracji przestaje się zmieniać. Po 1000 iteracji możemy mieć pewność, że model osiągnął zbieżność.

Na poniższych rysunkach przedstawiamy model w 3 momentach procesu trenowania: na początku, w środku i na końcu. Wizualizacja stanu modelu w postaci migawek w trakcie procesu trenowania utrwala związek między aktualizacją wag i wartości progowej, zmniejszaniem straty i zbieżnością modelu.

Na rysunkach używamy wag i odchyleń uzyskanych w danej iteracji, aby przedstawić model. Na wykresie z punktami danych i migawką modelu niebieskie linie strat od modelu do punktów danych pokazują wielkość straty. Im dłuższe linie, tym większe straty.

Na poniższym rysunku widać, że około drugiej iteracji model nie będzie dobrze prognozować ze względu na dużą utratę.

Rysunek 13. Krzywa strat i odpowiedni wykres modelu, który odchyla się od punktów danych.

Rysunek 13. Krzywa funkcji straty i zrzut modelu na początku procesu trenowania.

Około 400 iteracji później widzimy, że metoda spadku gradientowego znalazła wagę i odchylenie, które dają lepszy model.

Rysunek 14. Krzywa strat i odpowiedni wykres modelu, który przecina punkty danych, ale nie pod optymalnym kątem.

Rysunek 14. Krzywa straty i migawka modelu w połowie trenowania.

Około 1000 iteracji później widać, że model osiągnął zbieżność, uzyskując najniższą możliwą wartość straty.

Rysunek 15. Krzywa funkcji straty i odpowiedni wykres modelu, który dobrze pasuje do danych.

Rysunek 15. Krzywa funkcji straty i migawka modelu pod koniec procesu trenowania.

Ćwiczenie: sprawdź swoją wiedzę

Jaką rolę odgrywa metoda gradientu prostego w regresji liniowej?
Metoda gradientu prostego to proces iteracyjny, który znajduje najlepsze wagi i wartości progowe minimalizujące funkcję straty.
Metoda spadku gradientowego pomaga określić, jakiego rodzaju funkcji straty użyć podczas trenowania modelu, np. L1 lub L2.
Wybór funkcji straty na potrzeby trenowania modelu nie obejmuje metody spadku gradientowego.
Metoda spadku gradientowego usuwa z zbioru danych wartości odstające, aby pomóc modelowi w dokładniejszym prognozowaniu.
Metoda spadku gradientowego nie zmienia zbioru danych.

Zbieżność i funkcje wypukłe

Funkcje straty dla modeli liniowych zawsze tworzą powierzchnię wypukłą. Dzięki tej właściwości, gdy model regresji liniowej zbiega się, wiemy, że znalazł wagi i wartość progową, które dają najniższą wartość funkcji straty.

Jeśli narysujemy wykres powierzchni funkcji straty dla modelu z jedną cechą, zobaczymy jego wypukły kształt. Poniżej przedstawiamy powierzchnię funkcji straty dla hipotetycznego zbioru danych dotyczących liczby mil na galon. Waga jest na osi x, odchylenie na osi y, a strata na osi z:

Rysunek 16. Wykres 3D powierzchni funkcji straty.

Rysunek 16. Powierzchnia funkcji straty o wypukłym kształcie.

W tym przykładzie waga –5,44 i wartość progowa 35,94 dają najniższą stratę (5,54):

Rysunek 17. Wykres 3D powierzchni funkcji straty z punktem (-5,44, 35,94, 5,54) u dołu.

Rysunek 17. Powierzchnia straty pokazująca wartości wagi i odchylenia, które dają najniższą stratę.

Model liniowy zbiega się, gdy znajdzie minimalną wartość funkcji straty. Gdybyśmy nanieśli na wykres wagi i punkty odchylenia podczas schodzenia gradientowego, punkty wyglądałyby jak piłka tocząca się z góry, która w końcu zatrzymuje się w miejscu, gdzie nie ma już nachylenia w dół.

Rysunek 18. Wypukła trójwymiarowa powierzchnia funkcji straty z punktami metody gradientu prostego zmierzającymi do najniższego punktu.

Rysunek 18. Wykres funkcji straty pokazujący punkty metody gradientu prostego zatrzymujące się w najniższym punkcie wykresu.

Zwróć uwagę, że czarne punkty utraty tworzą dokładny kształt krzywej utraty: gwałtowny spadek, a potem stopniowe opadanie, aż do osiągnięcia najniższego punktu na powierzchni utraty.

Korzystając z wartości wagi i odchylenia, które dają najmniejszą stratę – w tym przypadku wagę –5,44 i odchylenie 35,94 – możemy narysować wykres modelu, aby zobaczyć, jak dobrze pasuje on do danych:

Rysunek 19. Wykres przedstawiający zależność między masą pojazdu w tysiącach funtów a liczbą mil przejechanych na galonie paliwa, z modelem dopasowanym do danych.

Rysunek 19. Model przedstawiony na wykresie z użyciem wartości wag i odchyleń, które dają najniższą stratę.

To najlepszy model dla tego zbioru danych, ponieważ żadne inne wartości wag i odchyleń nie dają modelu o mniejszej utracie.