Klasyfikacja LDA + walidacja Dr hab. Izabela Rejer Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie
Plan wykładu 1. Klasyfikator 2. LDA 3. Klasyfikacja wieloklasowa 4. Walidacja
Klasyfikator (1) Formalnie klasyfikator jest funkcją, która przypisuje klasę do wektora cech. klasy - zadania mentalne, które ma wykonywać użytkownik wektor cech wartości cech opisujące zarejestrowany w danym momencie sygnał EEG. Sterowanie za pomocą wyobrażenia ruchów rąk: 2 klasy: ręka lewa/prawa, np. 6 cech: moc sygnału w paśmie alfa w kanale C3 i C4 w sekundzie 1, 2 oraz 3.
Klasyfikator (2) Klasyfikator może występować w formie: 1 reguły decyzyjnej, operującej albo na jednej, albo na wielu cechach, zestawu reguł decyzyjnych, modelu black-box, zestawu połączonych klasyfikatorów,... drzewa decyzyjne, tabele decyzyjne, regresja logistyczna, klasyfikator Bayesa, LDA, QDA, k-najbliższych sąsiadów, sieci neuronowe, SVM
Klasyfikator (3) Prawie każdy klasyfikator posiada parametry, których wartość należy ustalić przed rozpoczęciem użytkowania klasyfikatora. Parametry klasyfikatora można zdefiniować: manualnie na podstawie własnej wiedzy oraz wcześniejszych obserwacji podmiotu, automatycznie w procesie tzw. treningu klasyfikatora. Zdecydowana większość klasyfikatorów jest definiowana w procesie automatycznego strojenia ich parametrów.
Uczenie klasyfikatora (1) Najpierw należy wybrać model klasyfikatora, a następnie nastroić jego parametry. Parametry klasyfikatora są strojone na podstawie zbioru uczącego. Zbiór uczący powstaje w wyniku eksperymentu uczącego (przykłady, epoki) Każdy przykład (epoka) obejmuje wektor cech wyekstrahowanych z sygnału EEG oraz etykietę klasy.
Uczenie klasyfikatora (2) Uczenie klasyfikatora może być procesem jednoetapowym lub iteracyjnym zależy to od wybranego formalnego modelu klasyfikatora: klasyfikator LDA uczenie jednoetapowe, nieliniowa sieć neuronowa uczenie iteracyjne. Liczba powtórzeń algorytmu uczącego może być różna: klasyfikatory o małej liczbie parametrów i niewielkim stopniu nieliniowości - kilkadziesiąt powtórzeń, bardziej skomplikowane klasyfikatory miliony powtórzeń.
Klasyfikatory w analizie sygnału EEG W analizie sygnału EEG rzadko kiedy stosuje się klasyfikatory wysoce-nieliniowe o dużej liczbie parametrów. Klasyfikatory liniowe są bardzo skuteczne. Ewentualna poprawa działania po użyciu klasyfikatorów nieliniowych jest zbyt mała. LDA (Linear Discriminant Analysis) - liniowa analiza dyskryminacyjna.
Eksperyment z Graz Sterowanie interfejsem BCI za pomocą wyobrażonych ruchów lewej i prawej ręki: zgromadzono 140 próbek sygnału EEG, 70 próbek - klasa 1-sza - ruch ręki prawej, 70 próbek - klasa 2-ga - ruch ręki lewej. Załóżmy, że zbiór opisano za pomocą 2 cech pasmowych: cecha1 - moc sygnału w paśmie 8-13Hz mierzona w kanale C4 w 6-tej sekundzie eksperymentu, cecha 2 - moc sygnału w paśmie 10-11Hz mierzona w kanale C3 w 5-tej sekundzie eksperymentu.
LDA (1) Celem LDA jest znalezienie kierunku w przestrzeni cech rozdzielającego dane reprezentujące dwie różne klasy obiektów. Klasyfikator LDA podejmując decyzję o przynależności obiektu do klasy będzie badał, po które stronie hiperpłaszczyzny prostopadłej do wyznaczonego kierunku znajduje się obiekt. Kryterium optymalizacji: maksymalizacja wariancji międzyklasowej, minimalizacja wariancji wewnątrzklasowej.
LDA (2) Wariancja międzyklasowa będzie największa wtedy, kiedy odległość między średnimi wyznaczonymi dla obu klas będzie największa. wyznaczamy wektory średnich dla obu klas, szukamy takiego kierunku w przestrzeni cech, który zapewni największą odległość między rzutami średnich.
Zbiór punktów z dwóch klas
Kierunek dyskryminujący klasy
Kierunek nie dyskryminujący klas
LDA (3) Wariancja wewnątrzklasowa będzie minimalna, jeżeli rozproszenie obserwacji będzie jak najmniejsze. Szukamy takiego kierunku w przestrzeni cech, który maksymalizuje odległości między średnimi obu klas jednocześnie minimalizując wariancję obu klas. Szukamy więc kierunku a, który maksymalizuje wyrażenie: a T xa a T a Ca T x B
LDA (4) Rozwiązaniem wyrażenia jest wektor a: a C -1 xb x A gdzie C to wspólna macierz kowariancji łącząca macierze kowariancji wyznaczone dla obu klas: 1 C n C A A n BC B n n A B Przy czym kowariancja między dwoma zmiennymi jest liczona z wzoru: cov xy 1 n 1 n xi xi yi yi i 1 T
LDA (5) Klasyfikacja nowego punktu danych: należy zrzutować ten punkt na wyznaczony kierunek a i sprawdzić bliżej której średniej się on znajduje Reguła decyzyjna klasyfikatora: zaklasyfikuj x do klasy A jeżeli: a T x a T x A a T x a T x B a do klasy B w przeciwnym wypadku.
Cecha 2 Prosta separacyjna 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Cecha 1 a b s s 1 a y ax śr śr
Klasyfikacja wieloklasowa (1) Strategia "jeden przeciwko pozostałym" (one versus rest). stosujemy klasyfikację binarną na zmodyfikowanym zbiorze danych - klasa 1-sza zawiera przypadki z jednej klasy, a klasa 2-ga przypadki z pozostałych klas; liczba klasyfikatorów jest równa liczbie klas. Przy 4 klasach mamy: klasa A przeciwko klasie B+C+D klasa B przeciwko klasie A+C+D klasa C przeciwko klasie A+B+D klasa D przeciwko klasie A+B+C
Klasyfikacja wieloklasowa (2) Strategia "jeden przeciwko jednemu" (one versus one): każdy klasyfikator rozdziela 2 klasy; liczba klasyfikatorów jest równa liczbie możliwych par klas, czyli k(k-1)/2; wyniki poszczególnych klasyfikatorów są łączone w celu uzyskania ostatecznej klasy, do której należy sklasyfikować podany przypadek. Przy 4 klasach mamy: A-B; A-C; A-D; B-C; B-D; C-D.
Niebieskie trójkąty: klasa A (powyżej) klasa B (prawy górny róg) klasa C (prawy dolny róg)
Dokładność klasyfikacji Informacja o dokładności klasyfikacji jest potrzebna do porównania klasyfikatora z innymi klasyfikatorami zdefiniowanymi dla tego samego zbioru danych. Nawet jeżeli nie będziemy chcieli budować innych klasyfikatorów, to i musimy oszacować dokładność klasyfikatora po to, żeby wiedzieć czy jest ona: wystarczająca dla danego zastosowania oraz istotnie wyższa niż dokładność klasyfikacji czysto losowej, wynoszącej w przypadku 2 klas 50%.
Dopasowanie klasyfikatora do zbioru uczącego Dla wszystkich przykładów ze zbioru uczącego należy: podstawić na wejścia klasyfikatora przykład uczący odczytać z wyjścia klasyfikatora klasę, którą obliczył on dla tego przykładu, porównać klasę wyznaczoną przez klasyfikator z klasą rzeczywistą zawartą w zbiorze danych. liczba poprawnych odpowiedzi * 100% liczba wszystkich przykładów W przypadku problemu liniowo separowalnego dopasowanie klasyfikatora LDA będzie wynosiło 100%.
Dokładność klasyfikatora (1) Czy jeżeli dopasowanie klasyfikatora do danych uczących wynosi 100%, to jego dokładność również wynosi 100%? Absolutnie nie! Dokładność klasyfikatora wyznaczamy po to, żeby wiedzieć jak dobrze będzie on działał dla danych, które nie były znane w trakcie jego uczenia. Klasyfikator tworzymy po to, żeby móc wykorzystywać go dla nowo napływających danych.
Dokładność klasyfikatora (2) Dokładność nie jest równoważna dopasowaniu klasyfikatora do danych ze zbioru uczącego. Można stworzyć klasyfikator w 100% dopasowany do zbioru danych uczących, który w praktyce będzie pracował na poziomie klasyfikatora losowego. Dotyczy to zwłaszcza klasyfikatorów nieliniowych, w których poprzez zastosowanie odpowiednio wysokiego stopnia nieliniowości można tak powyginać powierzchnię odpowiedzi klasyfikatora, żeby idealnie dopasować go do każdego zbioru.
Szacowanie dokładności klasyfikatora Najważniejsze założenie - nie można szacować dokładności klasyfikatora na zbiorze uczącym. Aby oszacować dokładność klasyfikatora musimy więc dysponować drugim zbiorem danych. Przyjęta metoda szacowania dokładności klasyfikatora zależy przede wszystkim od liczności posiadanego zbioru danych: walidacja prosta, k-krotną walidacja krzyżowa. walidacja krzyżowa typu leave-one-out. bootstrapping, czyli wielokrotne repróbkowanie.
Walidacja prosta Dzielimy posiadany zbiór przykładów na dwa niezależne podzbiory: podzbiór uczący - służy do zdefiniowania parametrów klasyfikatora podzbiór testowy - służy do oszacowania dokładności klasyfikatora. Dokładność klasyfikatora jest szacowana standardowo: przykłady ze zbioru testowego są wprowadzane na wejścia klasyfikatora, który wyznacza właściwe im klasy. klasy są porównywane z klasami rzeczywistymi, obliczany jest stosunek poprawnie rozpoznanych klas do wszystkich przykładów testowych.
K-krotna walidacja krzyżowa Początkowy zbiór przykładów jest losowo dzielony na k możliwie równych, niezależnych podzbiorów. Tworzonych jest k klasyfikatorów, każdy z nich jest uczony na innych k-1 podzbiorach I testowany na k-tym podzbiorze. Tworzony jest klasyfikator ostateczny (w oparciu o cały dostępny zbiór przykładów). Dokładność klasyfikatora ostatecznego np. średnia dokładność wszystkich klasyfikatorów cząstkowych.
10-krotna walidacja krzyżowa - przykład Zbiór 140 przykładów dzielimy na 10 podzbiorów, po 14 przykładów każdy i tworzymy 10 klasyfikatorów: 1-szy klasyfikator uczymy na 126 przykładach z podzbiorów: 1-9; testujemy na 14 przykładach z podzbioru 10; 2-gi klasyfikator uczymy na podzbiorach: 1-8 i 10; testujemy na podzbiorze 9; 10-ty klasyfikator uczymy na podzbiorach: 2-10; testujemy na podzbiorze 1. Wyznaczamy klasyfikator ostateczny na zbiorze 140 danych. Szacujemy jego dokładność - uśredniając dokładność 10-ciu klasyfikatorów cząstkowych.
Wiele klasyfikatorów - walidacja prosta Zadanie: 1000 przykładów, 10 cech, 10 klasyfikatorów z jedną cechą Treningowy Walidacyjny Testowy 600 200 200 1. Budujemy 10 klasyfikatorów (zbiór treningowy) 2. Szacujemy ich dokładność (zbiór walidacyjny) 3. Wybieramy klasyfikator o najwyższej dokładności walidacyjnej 4. Szacujemy jego dokładność (zbiór testowy)
Wiele klasyfikatorów - walidacja krzyżowa Zadanie: 1000 przykładów, 10 cech, 10 klasyfikatorów z jedną cechą 8 treningowych 8 walidacyjnych 1 testowy 70 10 20 1. Budujemy 10 klasyfikatorów (każdy trenujemy na 8 zb. treningowych, walidujemy na 8 zb. walidacyjnych). 2. Wyznaczamy średnią dokładność każdego z 10 klasyfikatorów (z 8 zb. walidacyjnych) 3. Wybieramy klasyfikator o najwyższej średniej dokładności 4. Szacujemy jego dokładność (zbiór testowy)
Dziękuję za uwagę