Systemy pomiarowo-diagnostyczne Metody uczenia maszynowego wykład III bogumil.konopka@pwr.edu.pl 2016/2017
Wykład III - plan Regresja logistyczna Ocena skuteczności klasyfikacji Macierze pomyłek Krzywe ROC Sieci neuronowe Propagacja informacji Algorytm gradientu prostego Wsteczna propagacja błędu 2
Klasyfikacja, a model liniowy Problemy z modelem liniowym: W modelu liniowym f x może być >1 lub < od 0 Interpretacja jest trudna Problemem jest również określenie parametru odcięcia Przy klasyfikacji chcemy żeby: 0 f x 1 3
Regresja logistyczna Przy klasyfikacji chcemy żeby: 0 f x 1 Funkcja logistyczna: f x = 1 1 + e z f x = 1 1 + e (β 0+β 1 x 1 + +β p x p ) 4
Interpretacja modelu logistycznego f x = P y = 1 X - prawdopodobieństwo, tego że y = 1 przy zadanych wartościach x Przykład: Jeżeli, dla modelu klasyfikującego nowotwory f x = 0.7 To możemy powiedzieć: Jest 70% szans na to, że nowotwór jest złośliwy 5
Graficzna interpretacja z Dane w przestrzeni atrybutów f x = 1 1 + e (β 0+β 1 x 1 +β 2 x 2 ) 3 Model dopasowany do danych: x 2 f x = 1 1 + e ( 3+x 1+x 2 ) Kiedy y = 1? Granica decyzji: x 1 3 6
Dopasowanie współczynników Najczęściej współczynniki modelu dopasowuje się metodą maksymalnej wiarygodności (maximum likelihood) Intuicja algorytmu: Wyszukiwane są takie wartości współczynników, dla których prawdopodobieństwo uzyskania danego przyporządkowania do klas jest największe Maksymalizowana funkcja ma postać: l β = p(x i ; β) (1 p(x j ; β)) i:y i =1 j:y j =0 7
Ocena dokładności współczynników Współczynniki ocenia tak jak dla regresji liniowej: Przedziały ufności Test t-studenta f(z) z f x = 1 1 + e (β 0+β 1 x 1 +β 2 x 2 ) 8
Zadanie domowe na punkt z aktywności Jaka jest interpretacja współczynników w modelu regresji logistycznej? Wskazówki: β 0 :Wychodząc od f x = pamiętając, że f x = p(y = 1 x) 1 1+e (β 0+β1x1) wyprowadzić β 0 lub e β 0dla x=0, β 1 : Wyprowadzić e β 1 wylicząjc stosunek e (β 0+β1x1) e (β 0+β1x 1), gdy x 1 = x 1 + 1 9
Ocena dokładności klasyfikatora (klasyfikator binarny) x 2 3 Dane w przestrzeni atrybutów Możliwe wyniki klasyfikacji: TP True Positive Prawidłowo zaklasyfikowany przypadek pozytywny FP False Positive Fałszywy pozytywny Przypadek negatywny zaklasyfikowany jako pozytywny TN True Negative Prawidłowo zaklasyfikowany przypadek negatywny FN False Negative Fałszywy negatywny Przypadek pozytywny zaklasyfikowany jako negatywny Próbka pozytywna x 1 3 Próbka negatywna 10
Ocena dokładności klasyfikatora (klasyfikator binarny) x 2 3 Dane w przestrzeni atrybutów Możliwe wyniki klasyfikacji: TP True Positive Prawidłowo zaklasyfikowany przypadek pozytywny FP False Positive Fałszywy pozytywny Przypadek negatywny zaklasyfikowany jako pozytywny TN True Negative Prawidłowo zaklasyfikowany przypadek negatywny FN False Negative Fałszywy negatywny Przypadek pozytywny zaklasyfikowany jako negatywny Próbka pozytywna x 1 3 Próbka negatywna 11
Przewidywana klasa Negatywna Pozytywna Macierz pomyłek Rzeczywista klasa Pozytywna Negatywna TP FP TP P predicted Positive Predictive Value/Precision celność przewidywania przypadków pozytywnych TN FN TP TN TN N predicted TP + TN Negative Predictive Value celność przewidywania przypadków negatywnych P total N total P total + N total Accuracy (ACC) dokładność Sensitivity - czułość Specificity - swoistość 12
Przewidywana klasa Negatywna Pozytywna Macierz pomyłek FP False Positive Rate N odsetek predykcji total fałszywie pozytywnych Rzeczywista klasa Pozytywna TP Negatywna FP TP P predicted Positive Predictive Value/Precision celność przewidywania przypadków pozytywnych FN TP TN TN TN N predicted TP + TN Negative Predictive Value celność przewidywania przypadków negatywnych P total N total P total + N total Accuracy (ACC) dokładność Sensitivity - czułość Specificity - swoistość 13
Pełna macierz pomyłek z wszystkimi parametrami http://en.wikipedia.org/wiki/sensitivity_and_specificity 14
Przewidywana klasa N P Przewidywana klasa N P Dlaczego ogólna skuteczność klasyfikacji (ACC) nie wystarcza? Zbiór liczy 50 pacjentów chorych (P) oraz 50 zdrowych (N) Zbiór liczy 1000 pacjentów chorych (P) oraz 100 zdrowych (N) Rzeczywista klasa Rzeczywista klasa P = 50 N = 50 P = 1000 N = 100 45 997 47 1 15
Przewidywana klasa N P Przewidywana klasa N P Dlaczego ogólna skuteczność klasyfikacji (ACC) nie wystarcza? Zbiór liczy 50 pacjentów chorych (P) oraz 50 zdrowych (N) Zbiór liczy 1000 pacjentów chorych (P) oraz 100 zdrowych (N) Rzeczywista klasa Rzeczywista klasa P = 50 N = 50 P = 1000 N = 100 45 997 47 1 Przy równolicznych zbiorach próbek pozytywnych i negatywnych Acc jest ok. Jeżeli jedna klasa jest zdecydowanie nadreprezentowana, wówczas Acc może przeceniać lub nie doceniać klasyfikator. 16
Krzywa ROC (Receiver Operating Characteristic) Cel stosowania: Ocena klasyfikatora Porównywanie klasyfikatorów Wybór optymalnego progu odcięcia Pole pod krzywą (Area Under Curve - AUC) mówi o ogólnej skuteczności klasyfikatora 1.0 0.9 bardzo dobry 0.9 0.8 dobra 0.8 0.7 dość dobra 0.7 0.6 słaby 0.6 0.5 bardzo słaby 17
True Positive Rate Krzywa ROC - algorytm Negative Positive Uszeregować od największego do najmniejszego Obliczać TPR i FPR przy kolejnych wartościach stężenia hormonu jako progach podziału na klasy TPR = TP P total FPR = FP N total P total = 3 N total = 3 1 2 3 Jaki jest optymalny próg klasyfikacji? False Positive Rate 18
Dobór optymalnego progu klasyfikacji Minimalizacja odległości od punktu (0,1) na krzywej ROC Maksymalizacja różnicy pomiędzy True Positive Rate i False Positive Rate tzw. Indeks Youden a Perkins NJ, Schisterman EF. The Inconsistency of Optimal Cut-points Using Two ROC Based Criteria. American journal of epidemiology. 2006;163(7):670-675. doi:10.1093/aje/kwj063. 19
Klasyfikacja nieliniowa x 2 3 Dane w przestrzeni atrybutów Liniowa granica decyzji: 1 f x = 1 + e (β 0+β 1 x 1 +β 2 x 2 ) Nieliniowa granica decyzji: f x = 1 1 + e (β 0+β 1 x 1 +β 2 x 1 2 +β 3 x 2 +β 4 x 2 2 ) 3 x 1 Jak wybrać formułę funkcji? 20
Sztuczne sieci neuronowe - inspiracja Inspiracja biologiczna Neuron otrzymuje bodźce od innych neuronów Bodźce mogą podwyższać lub obniżać poziom potencjału elektrycznego Jeżeli poziom przekroczy określony próg, neuron jest aktywowany i wyzwala impuls Siła wpływu impulsu na inne neurony zależy od warunków chemicznych w synapsie pomiędzy neuronami Modyfikacja połączeń umożliwia sieci uczenie się i rozpoznawanie wzorców pobudzeń http://askabiologist.asu.edu/neuron-anatomy 21
Sztuczna sieć neuronowa - architektura http://www.codeproject.com/articles/175777/financial-predictor-via-neural-network GtIDA, 2010 22
Sztuczna sieć neuronowa - obliczenia Obliczenia w sieci feed-forward +1 w I 01 +1 w II 01 x 1 x 2 w I 11 w I 21 w II 11 w II 21 w II 31 x 3 w I 31 w II 41 (część połączeń na rysunku pominięto dla zachowania czytelności) 23
Algorytm gradientu prostego (gradient descent) dla regresji liniowej
Algorytm gradientu prostego dla sieci neuronowych i wsteczna propagacja błędu +1 +1 w I 01 w I 11 w II 11 x 1 w I 21 w I 31 w II 12 x 2 x 3 (część połączeń na rysunku pominięto dla zachowania czytelności)
Algorytm gradientu prostego znajduje lokalne minima funkcji www.coursera.org, Stanford, Machine learning, Andrew Ng
Ocena skuteczności sieci neuronowej W przypadku regresji: RSE R2 F-statystyka W przypadku klasyfikacji: Macierze pomyłek Krzywe ROC
Uczenie sieci w środowisku MATLAB
Ocena sieci w środowisku MATLAB
Najważniejsze dzisiaj: Regresja logistyczna modeluje prawdopodobieństwo przynależności obiektu do klasy Do oceny klasyfikatorów mogą służyć: Macierze pomyłek Krzywe ROC Sieci neuronowe to rodzina modeli nieparametrycznych i nieinterpretowalnych Algorytm spadku gradientu algorytm poszukiwania minimum funkcji Wsteczna propagacja błędu pozwala wykorzystać algorytm spadku gradientu do ustalenia wag w sieci neuronowej
Plan wykładów - podsumowanie 1. Wykład I Podstawowe pojęcia, wprowadzenie do metod uczenia maszynowego 2. Wykład II Regresja liniowa, regresja logistyczna (WIII), ocena skuteczności modelu (WIII) 3. Wykład III Sieci neuronowe, algorytm spadku gradientu, algorytm wstecznej propagacji błędu 31