Zmniejszanie strat: podejście iteracyjne

W poprzednim module omówiliśmy koncepcję straty. W tym module dowiesz się, jak iteracyjnie model systemów uczących się zmniejsza straty.

W przypadku uczenia się iteracyjnego może Ci przypomnieć o „ciepłej i zimnej” grze dla dzieci, która polega na znajdowaniu ukrytego przedmiotu, np. naparstka. W tej grze najlepszym możliwym modelem jest „ukryty obiekt”. Zaczniesz od pomyłki („wartość \(w_1\) ”) i poczekasz, aż system powie Ci, jaka jest strata. Potem zgadniesz ponownie („Wartość \(w_1\) to 0,5”) i zobaczysz, ile wynosi strata. Ach, robisz się cieplej. Jeśli właściwie grasz tę grę, zazwyczaj robi się cieplej. Kluczem do sukcesu jest znalezienie jak najlepszego modelu.

Na ilustracji poniżej pokazujemy iteratyczny proces metodą prób i błędów, za pomocą którego algorytmy systemów uczących się wytrenują model:

Cykl przechodzenia od cech i etykiet do modeli i prognoz.

Rysunek 1. Iteracyjne podejście do trenowania modelu.

To samo podejście iteracyjne będziemy stosować w szkole na temat systemów uczących się, szczegółowo omawiając różne komplikacje, zwłaszcza w obrębie burzowej chmury oznaczonej jako „Model (funkcja prognozowania)”. Strategie iteracyjne są powszechne w systemach uczących się, głównie dlatego, że tak dobrze skalują się do dużych zbiorów danych.

„Model” przyjmuje jako dane wejściowe co najmniej 1 cechę i zwraca 1 prognozę jako dane wyjściowe. Aby uprościć sobie zadanie, rozważ model, który uwzględnia 1 cechę (\(x_1\)) i zwraca 1 prognozę (\(y'\)):

$$ y' = b + w_1x_1 $$

Jakie wartości początkowe ustawić dla elementów \(b\) i \(w_1\)? W przypadku problemów z regresją liniową okazuje się, że wartości początkowe nie mają znaczenia. Możemy wybrać losowe wartości, ale wykorzystamy te proste wartości:

  • \(b\) = 0
  • \(w_1\) = 0

Załóżmy, że pierwsza wartość cechy wynosi 10. Po umieszczeniu tej wartości w funkcji prognozowania uzyskuje się:

$$ y' = 0 + 0 \cdot 10 = 0 $$

Część „Utrata obliczeniowa” wykresu to funkcja straty, której model będzie używać. Załóżmy, że użyjemy funkcji straty do kwadratu. Funkcja straty przyjmuje 2 wartości wejściowe:

  • \(y'\): prognoza modelu dla cech x
  • \(y\): prawidłowa etykieta odpowiadająca cechom x.

W końcu dotarliśmy do części wykresu „Aktualizacje parametrów obliczeniowych”. System systemów uczących się sprawdza wartość funkcji straty i generuje nowe wartości parametrów \(b\) i \(w_1\). Na razie załóżmy, że to tajemnicze pole wymyśla nowe wartości, a system systemów uczących się sprawdza je ponownie względem tych etykiet, generując nową wartość dla funkcji straty, która generuje nowe wartości parametrów. Nauka trwa iterację, dopóki algorytm nie wykryje parametrów modelu z najniższą możliwą stratą. Zwykle powtarzasz te czynności, aż ogólna strata przestanie się zmieniać lub będzie zmieniać się bardzo wolno. W takim przypadku mówimy, że model jest scalony.