Podobne dokumenty
Algorytm grupowania danych typu kwantyzacji wektorów

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

Agnieszka Nowak Brzezińska Wykład III

ALGORYTM RANDOM FOREST

Agnieszka Nowak Brzezińska Wykład III

Testowanie modeli predykcyjnych

Klasyfikacja LDA + walidacja

Agnieszka Nowak Brzezińska

Metody systemowe i decyzyjne w informatyce

Optymalizacja ciągła

Metody systemowe i decyzyjne w informatyce

Rozpoznawanie obrazów

Rozpoznawanie obrazów

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

Rozpoznawanie wzorców. Dr inż. Michał Bereta p. 144 / 10, Instytut Informatyki


Klasyfikator. ˆp(k x) = 1 K. I(ρ(x,x i ) ρ(x,x (K) ))I(y i =k),k =1,...,L,

Optymalizacja systemów

Systemy uczące się Lab 4

KLASYFIKACJA. Słownik języka polskiego

Metody systemowe i decyzyjne w informatyce

Algorytmy metaheurystyczne Wykład 11. Piotr Syga

ALGORYTMY SZTUCZNEJ INTELIGENCJI

Projekt Sieci neuronowe

Automatyczne wyodrębnianie reguł

Matlab podstawy + testowanie dokładności modeli inteligencji obliczeniowej

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

Podstawy OpenCL część 2

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

Zastosowania sieci neuronowych

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Rozpoznawanie obrazów

Metody Sztucznej Inteligencji II

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

Elementy modelowania matematycznego

Metody systemowe i decyzyjne w informatyce

Wprowadzenie do uczenia maszynowego

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

6. Perceptron Rosenblatta

Metody klasyfikacji danych - część 1 p.1/24

Matlab Składnia + podstawy programowania

PODSTAWY STATYSTYCZNEJ ANALIZY DANYCH

Elementy inteligencji obliczeniowej

Klasyfikacja obiektów Drzewa decyzyjne (drzewa klasyfikacyjne)

Matlab Składnia + podstawy programowania

Hierarchiczna analiza skupień

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

Mail: Pokój 214, II piętro

Adrian Horzyk

Obliczenia iteracyjne

Własności statystyczne regresji liniowej. Wykład 4

Algorytm grupowania danych typu kwantyzacji wektorów

METODY INŻYNIERII WIEDZY

Systemy uczące się wykład 2

Politechnika Warszawska

P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H

Metody systemowe i decyzyjne w informatyce

Metody sztucznej inteligencji Zadanie 1: Perceptron Rosenblatt a w wersji nieliniowej

4.1. Wprowadzenie Podstawowe definicje Algorytm określania wartości parametrów w regresji logistycznej...74

P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H

METODY INŻYNIERII WIEDZY

WYKŁAD 7. Testowanie jakości modeli klasyfikacyjnych metodyka i kryteria

STATYSTYKA I DOŚWIADCZALNICTWO Wykład 7

METODY INŻYNIERII WIEDZY

Wprowadzenie. Metody bayesowskie Drzewa klasyfikacyjne i lasy losowe Sieci neuronowe SVM. Klasyfikacja. Wstęp

Uczenie się pojedynczego neuronu. Jeśli zastosowana zostanie funkcja bipolarna s y: y=-1 gdy z<0 y=1 gdy z>=0. Wówczas: W 1 x 1 + w 2 x 2 + = 0

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

STATYSTYKA I DOŚWIADCZALNICTWO Wykład 5

Sieci neuronowe w Statistica

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

Podstawy sztucznej inteligencji

Uczenie sieci typu MLP

Przykład eksploracji danych o naturze statystycznej Próba 1 wartości zmiennej losowej odległość

Celem tych ćwiczeń jest zapoznanie się z klasyfikacją za pomocą sieci neuronowych.

Aproksymacja funkcji a regresja symboliczna

Inteligentne systemy przeciw atakom sieciowym

Transformaty. Kodowanie transformujace

Wstęp. Regresja logistyczna. Spis treści. Hipoteza. powrót

Instrukcja realizacji ćwiczenia

Wstęp do sieci neuronowych, wykład 09, Walidacja jakości uczenia. Metody statystyczne.

SIECI RBF (RADIAL BASIS FUNCTIONS)

SVM: Maszyny Wektorów Podpieraja cych

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

Co to jest grupowanie

Podstawy MATLABA, cd.

Asocjacyjna reprezentacja danych i wnioskowanie

8. Neuron z ciągłą funkcją aktywacji.

Statystyczna analiza danych

Zastosowania sieci neuronowych

Regresja liniowa, klasyfikacja metodą k-nn. Agnieszka Nowak Brzezińska

Laboratorium 11. Regresja SVM.

Pattern Classification

Zbiory wypukłe i stożki

Elementy statystyki wielowymiarowej

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA

Klasyfikacja i regresja Wstęp do środowiska Weka

Stan dotychczasowy. OCENA KLASYFIKACJI w diagnostyce. Metody 6/10/2013. Weryfikacja. Testowanie skuteczności metody uczenia Weryfikacja prosta

Ćwiczenie 1. Wprowadzenie do programu Octave

Wprowadzenie. { 1, jeżeli ˆr(x) > 0, pozatym. Regresja liniowa Regresja logistyczne Jądrowe estymatory gęstości. Metody regresyjne

Transkrypt:

Klasyfikator liniowy Wstęp Klasyfikator liniowy jest najprostszym możliwym klasyfikatorem. Zakłada on liniową separację liniowy podział dwóch klas między sobą. Przedstawia to poniższy rysunek: 5 4 3 2 1 0-1 -2-3 -4-5 -5-4 -3-2 -1 0 1 2 3 4 Gdzie dwie klasy oddzielone są hiperpłaszczyzną, która dla przestawionego przypadku redukuje się do linii prostej w n-wymiarowej przestrzeni. Funkcje taką nazywamy funkcją decyzyjną Gdzie w szukany wektor wag g(x) = wx T + b = w 1 x 1 + w 2 x 2 + + w n x n + b x wektor wejściowy/wektor sygnału wejściowego b wyraz wolny Funkcja decyzyjna rozdziela więc obydwie klasy i określa wyjście modelu wg. zależności g(x) > 0 - klasa c1 g(x) < 0 - klasa c2

W pewnych sytuacjach dyskryminacja liniowa nie jest możliwa do osiągnięcia, jak na poniższym obrazku, 8 6 4 2 0-2 -4-6 -8-6 -4-2 0 2 4 6 dlatego też część modeli liniowych uwzględnia taką możliwość poprzez minimalizację liczby popełnianych błędów. Do typowych modeli dyskryminacji liniowej można zaliczyć: algorytm Rosenblatta algorytm Fishera algorytm minimalizacji MSE czyli wykorzystanie regresji liniowej Algorytm Rosenblatta Algorytm Rosenblatta zakłada liniową separowalność klas. Stara się on minimalizować funkcję kosztu zdefiniowaną jako: T J( w) ( w x) x Gdzie - zbiór wektorów błędnie klasyfikowanych. Algorytm Rosenblatta można opisać w postaci minikodu

t numer iteracji w wektor wag y i etykieta (klasa) wektora x i m liczba wektorów uczących współczynnik uczenia -> funkcja malejąca w czasie np. α = 0.5t/max _iter t = 0 w = generuj losowo b = generuj losowo for t=max_iter : 1 for i=1:m g = w T x i +b; if (y i =1) and (g<0) => w=w+*x i b = b *g; if (y i =-1) and (g>0) => w=w-*x i b = b *g; end end Algorytm k-nn Algorytm k najbliższych sąsiadów jest prostym ale niezwykle ważnym algorytmem. Jego idea działania polega na odnalezieniu w zbiorze danych najbardziej podobnych przypadków i zaklasyfikowaniu ich dokonując głosowania owych k najbliższych przypadków. Uczenie: Uczenie polega na zapamiętaniu zbioru uczącego zarówno zmiennych opisujących jak i wartości przewidywanych Testowanie: Testowanie polega na policzeniu odległości od danego wektora testowego do wszystkich wektorów zapamiętanych podczas uczenia Posortowaniu odległości w celu znalezienie najbardziej podobnych wektorów w zbiorze uczącym Wybraniu k-najbardziej podobnych wektorów Dokonaniu głosowania k najbardziej podobnych wektorów

Zliczeniu głosów i wybraniu najczęściej głosowanego przypadku Problem Zad 1) Zaimplementuj klasyfikator liniowy Rosenblatta. W celu realizacji zadania 1 otwórz skrypt skryptlin2d, zawiera on gotowy skrypt matlaba wywołujący funkcję uczącą klasyfikatora liniowego: klasyfikatorliniowy Jego wyniki są przekazywane do funkcji klasyfikatorliniowytest która dokonuje predykcji. Do poprawnego uruchomienia skryptu niezbędne jest uzupełnienie funkcji klasyfikatorliniowy, klasyfikatorliniowytest dokonaj niezbędnych modyfikacji tak aby klasyfikator zaczął działac Wykonując skrypt skryptlin2d zwróć uwagę na sposób modyfikacji działania klasyfikatora. Skrypt nanosi na wykres Figure 1 kolejne uzyskane rozwiązania. Zwróć uwagę na uzyskiwane dokładności klasyfikatora Zad 2) Wykonaj skrypt skryptlin. Skrypt ten służy do analizy działania klasyfikatora na realnych problemach. Skrypt pozwala na załadowanie dwóch różnych zbiorów danych (jeden należy zakomentować). Ocena jakości klasyfikatora polega tutaj na uruchomieniu tego samego skryptu na dwóch różnych konfiguracjach podzbiorów zbioru danych. Tzn każdorazowo zbiór danych dzielony jest v =10 razy na część treningowa na której klasyfikator jest uczony, oraz część testową która służy ocenie jakości klasyfikatora. Uzyskane wyniki gromadzone są w zmiennej acc. Wartość średnia z acc obrazuje średnią dokładność klasyfikatora, choć skrypt wyświetla również wartości indywidualne Uruchom skrypt dwukrotnie zmieniając wykorzystywany zbiór danych. Zanotuj uzyskane dokładności. Co możemy powiedzieć o uzyskanych wynikach? W szczególności zwróć uwagę na wyniki z poszczególnych iteracji Zad 3) Uruchom skrypt skryptknn2d.m słuzy on do wizualizacji działania klasyfikatora knn. Jest to klasyfikator nieliniowy. Aby móc uruchomić skrypt należy dokończyć implementacji tego algorytmu zawartego w funkcji klasyfikatorknntest. Zwróć uwagę na komentarze. Uruchom i zaobserwuj uzyskane wyniki Zad 4) Powtórz zadanie 2 dla klasyfikatora knn, w tym celu wykonaj skrypt skryptknn. Skrypt jest identyczny z zad2 z tą różnica iż wykorzystano inny klasyfikator. Przydatne funkcje matlaba y transpozycja wektora

x*y mnożenie wektorów (uwaga należy pamiętać o wymiarach, gdy x i y są wektorami poziomymi wówczas konieczna jest transpozycja x*y ) rand(n,m) generuje macierz losową o rozkładzie jednostajnym o wymiarach n x m. [s,id] = sort(a); - funkcja sortuje wartości w a, a wynik sortowania zapisuje w s. Sortowanie odbywa się od liczby najmniejszej do największej. Zmienna id zawiera indeksy wektorów od najbliższego do najdalszego, tak iż s = a(id); Y = sign(x) badanie znaku dla x. Jeśli x > 0 => y=1, jeśli x<0 => y=-1 D = Odleglosc2(x,y); - funkcja liczy odległość między wektorem lub wektorami z x, a y, w efekcie jeśli x i y są wektorami wynikiem D będzie liczba, jeśli x jest wektorem a y jest macierzą wówczas D będzie wektorem odległości od x do każdego wiersza z y. Jeśli x i y są macierzami wówczas wyliczona odległość będzie macierzą.