Rozpoznawanie obrazów

Podobne dokumenty
Metody systemowe i decyzyjne w informatyce

Rozpoznawanie obrazów

Rozpoznawanie obrazów

Metody systemowe i decyzyjne w informatyce

Metody systemowe i decyzyjne w informatyce

Metody systemowe i decyzyjne w informatyce

Optymalizacja systemów

WYKŁAD 2. Problem regresji - modele liniowe

Rozpoznawanie obrazów

Metody systemowe i decyzyjne w informatyce

Metody systemowe i decyzyjne w informatyce

Rozpoznawanie obrazów

SPOTKANIE 3: Regresja: Regresja liniowa

Aproksymacja funkcji a regresja symboliczna

Statystyka opisowa. Wykład V. Regresja liniowa wieloraka

Klasyfikatory: k-nn oraz naiwny Bayesa. Agnieszka Nowak Brzezińska Wykład IV

Agnieszka Nowak Brzezińska Wykład III

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

Rozdział 8. Regresja. Definiowanie modelu

Agnieszka Nowak Brzezińska Wykład III

Wprowadzenie do uczenia maszynowego. Jakub Tomczak

INTERPOLACJA I APROKSYMACJA FUNKCJI

Agnieszka Nowak Brzezińska

Weryfikacja hipotez statystycznych

Inteligentna analiza danych

Analiza szeregów czasowych: 6. Liniowe modele niestacjonarne

Optymalizacja ciągła

Wprowadzenie do teorii ekonometrii. Wykład 1 Warunkowa wartość oczekiwana i odwzorowanie liniowe

ZJAZD 4. gdzie E(x) jest wartością oczekiwaną x

Metody eksploracji danych 3. Ocena modeli. Piotr Szwed Katedra Informatyki Stosowanej AGH 2017

Systemy pomiarowo-diagnostyczne. Metody uczenia maszynowego wykład I dr inż. 2015/2016

Metody systemowe i decyzyjne w informatyce

Analiza statystyczna trudności tekstu

Metody systemowe i decyzyjne w informatyce

Regresja nieparametryczna series estimator

Wprowadzenie do analizy korelacji i regresji

Metody eksploracji danych 2. Metody regresji. Piotr Szwed Katedra Informatyki Stosowanej AGH 2017

Metody i analiza danych


Wykład 10 Skalowanie wielowymiarowe

Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki

Estymacja wektora stanu w prostym układzie elektroenergetycznym

Algorytmy metaheurystyczne Wykład 11. Piotr Syga

SPOTKANIE 4: Klasyfikacja: Regresja logistyczna

Stosowana Analiza Regresji

Zadanie 1 Zakładając liniową relację między wydatkami na obuwie a dochodem oszacować MNK parametry modelu: y t. X 1 t. Tabela 1.

Wykład 4 Wybór najlepszej procedury. Estymacja parametrów re

Ekonometria egzamin 01/02/ W trakcie egzaminu wolno używać jedynie długopisu o innym kolorze atramentu niż czerwony oraz kalkulatora.

SPOTKANIE 6: Klasteryzacja: K-Means, Expectation Maximization

Matematyka stosowana i metody numeryczne

WSKAZÓWKI DO WYKONANIA SPRAWOZDANIA Z WYRÓWNAWCZYCH ZAJĘĆ LABORATORYJNYCH

Regresja wielokrotna jest metodą statystyczną, w której oceniamy wpływ wielu zmiennych niezależnych (X1, X2, X3,...) na zmienną zależną (Y).

Regresja wieloraka Ogólny problem obliczeniowy: dopasowanie linii prostej do zbioru punktów. Najprostszy przypadek - jedna zmienna zależna i jedna

Uczenie sieci radialnych (RBF)

Statystyka w pracy badawczej nauczyciela Wykład 4: Analiza współzależności. dr inż. Walery Susłow walery.suslow@ie.tu.koszalin.pl

LABORATORIUM 8 WERYFIKACJA HIPOTEZ STATYSTYCZNYCH PARAMETRYCZNE TESTY ISTOTNOŚCI

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra

Stanisław Cichocki. Natalia Nehrebecka. Wykład 9

TEST STATYSTYCZNY. Jeżeli hipotezę zerową odrzucimy na danym poziomie istotności, to odrzucimy ją na każdym większym poziomie istotności.

Układy równań i równania wyższych rzędów

Postać Jordana macierzy

Analiza składowych głównych. Wprowadzenie

Techniki Optymalizacji: Metody regresji

Porównanie błędu predykcji dla różnych metod estymacji współczynników w modelu liniowym, scenariusz p bliskie lub większe od n

Algorytmy i struktury danych. Wykład 4

Regresja wielokrotna. PDF created with FinePrint pdffactory Pro trial version

Metody eksploracji danych Laboratorium 1. Weka + Python + regresja

Rozdział 2: Metoda największej wiarygodności i nieliniowa metoda najmniejszych kwadratów

Aproksymacja. funkcji: ,a 2. ,...,a m. - są funkcjami bazowymi m+1 wymiarowej podprzestrzeni liniowej X m+1

Projekt Sieci neuronowe

Metody systemowe i decyzyjne w informatyce

Optymalizacja systemów

WIELKA SGH-OWA POWTÓRKA ZE STATYSTYKI. Test zgodności i analiza wariancji Analiza wariancji

STATYSTYKA I DOŚWIADCZALNICTWO Wykład 8

Ekonometria egzamin 02/02/ W trakcie egzaminu wolno używać jedynie długopisu o innym kolorze atramentu niż czerwony oraz kalkulatora.

SZTUCZNA INTELIGENCJA

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka Adaline.

WYKŁAD 4. Podejmowanie decyzji dla modeli probabilistycznych Modelowanie Gaussowskie. autor: Maciej Zięba. Politechnika Wrocławska

Ekonometria. Zajęcia

3 1 + i 1 i i 1 2i 2. Wyznaczyć macierze spełniające własność komutacji: [A, X] = B

Metoda najmniejszych kwadratów

Lekcja 5: Sieć Kohonena i sieć ART

Optymalizacja systemów

MACIERZE I WYZNACZNIKI

Eksploracja Danych. wykład 4. Sebastian Zając. 10 maja 2017 WMP.SNŚ UKSW. Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja / 18

Stosowana Analiza Regresji

PROGRAMOWANIE KWADRATOWE

Elementy modelowania matematycznego

Estymacja w regresji nieparametrycznej

x x 1. Przedmiot identyfikacji System x (1) x (2) : x (s) a 1 a 2 : a s mierzone, a = zestaw współczynników konkretyzujacych F ()

MODELE LINIOWE. Dr Wioleta Drobik

Statystyka i opracowanie danych Podstawy wnioskowania statystycznego. Prawo wielkich liczb. Centralne twierdzenie graniczne. Estymacja i estymatory

Interpolacja, aproksymacja całkowanie. Interpolacja Krzywa przechodzi przez punkty kontrolne

ALGORYTM RANDOM FOREST

ESTYMACJA BŁĘDU PREDYKCJI I JEJ ZASTOSOWANIA

Prawdopodobieństwo i statystyka

Ekonometria. Wprowadzenie do modelowania ekonometrycznego Estymator KMNK. Jakub Mućk. Katedra Ekonomii Ilościowej

Zmienne zależne i niezależne

2. DZIAŁANIA NA WIELOMIANACH

Transkrypt:

Rozpoznawanie obrazów Laboratorium Python Zadanie nr 1 Regresja liniowa autorzy: A. Gonczarek, J.M. Tomczak, S. Zaręba, M. Zięba, J. Kaczmar Cel zadania Celem zadania jest implementacja liniowego zadania najmniejszych kwadratów bez i z regularyzacją l 2 na przykładzie dopasowania wielomianu do danych. Liniowe zadanie najmniejszych kwadratów Zakładamy, że dany jest model y = φ(x) T w, gdzie w = (w 0 w 1... w M 1 ) T jest wektorem parametrów, a φ(x) = (φ 0 (x) φ 1 (x)... φ M 1 (x)) T jest wektorem cech. Na przykład model może być wielomianem M-tego rzędu i wówczas cechy są argumentem podniesionym do kolejnych potęg. Interesuje nas dopasowanie modelu do dostępnych obserwacji y = (y 1 y 2... y N ) T oraz X = [x 1 x 2... x N ]. Dalej, przez Φ = [φ(x 1 ) φ(x 2 )... φ(x N )] T oznaczać będziemy macierz wyliczonych cech dla obserwacji X. Dopasowanie modelu do danych polega na znalezieniu wartości parametrów w. W tym celu będziemy minimalizować funkcję błędu, która określa różnicę między obserwacjami a wartościami zwracanymi przez model. Taką funkcją jest suma kwadratów różnic między predykcjami modelu a obserwacjami, tj. Q(w) = 1 2 y Φw 2 2. (1) Jest to tzw. liniowe zadanie najmniejszych kwadratów. Zakładając, że rząd r(φ) = M, policzenie gradientu względem parametrów i przyrównanie go do zera daje jednoznaczne rozwiązanie: w = ( Φ T Φ ) 1 Φ T y. (2) Liniowe zadanie najmniejszych kwadratów z regularyzacją l 2 Problemem w liniowym zadaniu najmniejszych kwadratów jest konieczność ustalenia liczby cech, np. stopnia wielomianu. Dobranie zbyt małej lub zbyt dużej liczby skutkować może w otrzymaniu 1

modelu, który niepoprawnie odzwierciedla charakter szukanej zależności. W tym celu proponuje się ustalenie liczby cech, zazwyczaj dostatecznie dużej, oraz zmodyfikowanie funkcji błędu przez dodanie regularyzatora l 1 2 : Q(w) = 1 2 y Φw 2 2 + λ 2 w 2 2, (3) gdzie λ > 0 jest współczynnikiem regularyzacji. Okazuje się, że zastosowanie regularyzacji nie wymaga założenia o rzędzie macierzy Φ, tj. dla dowolnego r(φ) policzenie gradientu względem parametrów i przyrównanie go do zera daje jednoznaczne rozwiązanie: w = ( Φ T Φ + λi ) 1 Φ T y, (4) gdzie I jest macierzą jednostkową. Selekcja modelu Dalej będziemy rozpatrywać wielomiany stopnia M. Problem selekcji modelu można rozwiązać na dwa sposoby: 1. Ustalić dostatecznie wysoki stopień wielomianu i zastosować regularyzację l 2. 2. Przyjąć różne modele, tj. różne stopnie wielomianu, a następnie dokonać selekcji modelu (ang. model selection), tj. wybrać model, dla której wartość funkcji błędu jest najmniejsza. Do oceny poprawności uzyskanego modelu w procesie selekcji modelu będziemy stosować błąd średniokwadratowy: E(w) = 1 N Wybór stopnia wielomianu N ( yn y(x n ) ) 2. (5) n=1 Zakładamy różne wartości M M. Przykładowo M = {0, 1, 2, 3, 4, 5, 6, 7}, czyli rozpatrywać będziemy wielomianu o stopniu od M = 0 do M = 7. Uczenie modelu, tj. wyznaczenie parametrów w wg wzoru (2), odbywa się na podstawie ciągu uczącego (treningowego) X i y. Natomiast porównanie modeli, tj. różnych stopni wielomianów, odbywa się przy użyciu osobnego zbioru walidacyjnego X val i y val. Procedura selekcji modelu jest następująca: 1. Dla każdego wielomianu stopnia M M wyznacz wartości parametrów w M korzystając z (2) w oparciu o dane X i y. 1 Regularyzację l 2 na parametry nazywa się czasem regularyzacją Tichonowa. 2

2. Dla każdego wielomianu stopnia M M o parametrach w M wyznacz wartość funkcji błędu E M o postaci (5) w oparciu o dane X val i y val. 3. Wybierz ten stopień wielomianu M, dla którego wartość funkcji błędu E M jest najmniejsza. Wybór wartości współczynnika regularyzacji W przypadku stosowania regularyzacji ustalamy dostatecznie duży stopień wielomianu, np. M = 7, a następnie wyznaczamy parametry dla różnych wartości współczynnika regularyzacji λ Λ. Na przykład Λ = {0.001, 0.003, 0.01, 0.03, 0.1, 0.3, 1, 3, 10, 30, 100, 300}. Wyznaczenie parametrów w wg wzoru (4), odbywa się na podstawie ciągu uczącego (treningowego) X i y. Natomiast porównanie modeli dla różnych wartości λ odbywa się przy użyciu osobnego zbioru walidacyjnego X val i y val. Procedura selekcji modelu jest następująca: 0. Ustal M. 1. Dla każdej wartości współczynnika regularyzacji λ Λ wyznacz wartości parametrów w λ korzystając z (4) w oparciu o dane X i y. 2. Dla każdego wielomianu o parametrach w λ wyznacz wartość funkcji błędu E λ o postaci (5) w oparciu o dane X val i y val. 3. Wybierz te wartości parametrów w λ, dla których wartość funkcji błędu E λ jest najmniejsza. Zbiór danych Dane użyte w zadaniu zostały syntetycznie wygenerowane z następującego obiektu: y = sin(2πx) + ε, (6) gdzie ε N (ε 0, σ 2 ) jest szumem gaussowskim, tj. zmienną losową o rozkładzie normalnym i średniej zero. Zbiór danych został podzielony na dwa ciągi treningowe X, y (odpowiednio po 8 i 50 obserwacji) oraz ciąg walidacyjny X val, y val (20 obserwacji). Rysunek 1 przedstawia przykładowe dane treningowe (niebieskie punkty) i walidacyjne (czerwone punkty) oraz obiekt (6) (zielona linia) i dopasowany model (czerwona linia). Testowanie poprawności działania Do sprawdzania poprawności działania zaproponowanych rozwiązań służy funkcja main w pliku main.py. W pliku main.py nie wolno czegokolwiek zmieniać ani dopisywać. 3

Rysunek 1: Zbiór danych oraz przebieg obiektu i modelu. Instrukcja wykonania zadania Dodatkowe funkcje, z których należy skorzystać znajdują się w pliku utils.py: ˆ polynomial( x, w ) funkcja zwracająca wartości predykcji y dla zadanego x oraz wektora wartości parametrów w dla domyślnego modelu wielomianu. Instrukcja: Należy zaimplementować wszystkie funkcje w pliku content.py 1. Zaimplementować funkcję mean squared error pozwalającą na liczenie średniego błędu kwadratowego (5). 2. Zaimplementować funkcję design matrix liczącą macierz Φ w pliku. 3. Zaimplementować funkcję least squares wyznaczającą rozwiązania liniowego zadania najmniejszych kwadratów. 4. Zaimplementować funkcję regularized least squares wyznaczającą rozwiązania liniowego zadania najmniejszych kwadratów z regularyzacją l 2. 5. Zaimplementować funkcję model selection dokonującą selekcji modelu dla zadanych wartości M. 4

6. Zaimplementować funkcję regularized model selection dokonującą selekcji modelu dla zadanych wartości Λ. UWAGA! Wszelkie nazwy funkcji i zmiennych w pliku content.py muszą pozostać zachowane. Pytania kontrolne 1. Proszę wyznaczyć rozwiązanie liniowego zadania najmniejszych kwadratów (1). 2. Proszę wyznaczyć rozwiązanie liniowego zadania najmniejszych kwadratów z regularyzacją l 2 (3). 3. Co to jest overfitting? Wskazać na przykładzie dopasowania wielomianu. 4. Co to jest underfitting? Wskazać na przykładzie dopasowania wielomianu. 5. Co to jest ciąg treningowy, walidacyjny, testowy? Jakie jest ich znaczenie. 6. Co to jest selekcja modelu? W jaki sposób się ją wykonuje? Czy miara oceniająca model może być inna od kryterium uczenia? 7. Które z podejść do selekcji modelu jest prostsze do zastosowania w praktyce i dlaczego? 8. Kiedy liniowe zadanie najmniejszych kwadratów ma jednoznaczne rozwiązanie, a kiedy istnieje wiele rozwiązań? Jak jest w przypadku zadania najmniejszych kwadratów z regularyzacją? 9. Zapisać wektor cech φ dla wielomianu M-tego rzędu. 10. Co to jest parametr λ? Jak jego wartość wpływa na rozwiązanie? 5