EDzGBD/L/z4
From WikiZMSI
- Wczytać "swój" zbiór danych (nie wykonywać dyskretyzacji zmiennej Y, jeżeli jest ona rzeczywista).
- Napisać skrypt wyliczający wartość pewnej pojedynczej bazy wielomianowej na podanym wektorze x (wykorzystać funkcję nchoosek oraz informacje z wykładu o kombinacjach z powtórzeniami do kodowania potęg w wyrazach wielomianu). Dodatkowym argumentem na wejście skryptu może być właśnie wiersz pochodzący z wyników nchoosek.
- Napisać skrypt wyliczający wartość całego wielomianu (suma po wszystkich bazach) dla podanego na wejście wektora x.
- Napisać skrypt wyznaczający macierz wartości baz we wszystkich punktach danych (macierz G z wykładu).
- Napisać skrypt realizujący uczenie maszyny do regresji (metodą najmniejszych kwadratów). Argumenty wejściowe: zbiór danych, stopień wielomianu m (gdy m = 0 to regresja liniowa), wartość współczynnika regularyzującego lambda dla regularyzacji L2 (gdy lambda = 0, to regularyzacja wyłączona). Wyjścia ze skryptu: wektor współczynników wielomianu. (Uwaga wyraz wolny w_0 stojący przy bazie 1 nie powinien być regularyzowany).
- Wykonać eksperyment pozwalający na wykrycie dobrej wartości współczynnika regularyzującego lambda. Podzielić dane na trzy części: (A) uczącą (0.5), (B) walidującą lambda (0.2), (C) testującą (0.3). Zmieniając współczynnik lambda: uczyć maszynę do regresji (lub klasyfikator) na części A, obserwować błąd na części B. Ostatecznie wybrać najmniejsze lambda i nauczyć klasyfikator na A + B, a następnie obliczyć błąd na C.
- Sporządzić wykres ewolucji wag wraz z malejącym lambda.