N - Politechnika Gdańska
Transkrypt
N - Politechnika Gdańska
WARSZTATY STATYSTYKA I ANALIZA DANYCH 20-22.02.2014 Metody automatycznego grupowania i rozpoznawania wzorców dr inż. Katarzyna Palikowska [email protected] Politechnika Gdańska Plan prezentacji 1. Wstęp 2. Zakres zastosowań 3. Podział metod 3.1 Metody redukcji wymiaru danych • • Analiza składowych głównych Skalowanie wielowymiarowe 3.2 Uczenie bez nauczyciela • • Metoda k-średnich Grupowanie hierarchiczne PCA MDS unsupervised learning K-means Hierarchical clustering Sieci Kohonena 3.3 Uczenie z nauczycielem • • • Sztuczne sieci neuronowe Maszyna wektorów nośnych Metoda najbliższego sąsiedztwa 4. Przykłady 5. Podsumowanie supervised learning ANN SVM KNN Wstęp Informatyka , Statystyka • • • • Uczenie maszyn / Systemy uczące się Sztuczna inteligencja Eksploracja danych Wydobywanie / Odkrywanie wiedzy z danych Statistical learning Machine learning Artificial intelligence Data exploration Data mining Knowledge discovery Big Data Eksploracja danych – jedna z 10 nowych technologii, które zmienią świat wg MIT Technology Review Automatyczne odkrywanie nietrywialnych, dotychczas nieznanych zależności, związków, podobieństw lub trendów – ogólnie „wzorców” Odkrywanie potencjalnie użytecznej wiedzy Przetwarzanie danych Bazy danych OLTP – Online transaction processing Dostęp do danych poprzez predefiniowane raporty lub zapytania (SQL) Kontrola dostępu, Współbieżny dostęp, Odporność na awarie Hurtownie danych OLAP – Online analytical processing Rozszerzone możliwości obsługi złożonych zapytań zawierających agregaty: • Łączna sprzedaż produktów w kolejnych kwartałach z podziałem na oddziały, miasta itd. • Podsumowanie sprzedaży z podziałem na rodzaje produktów, sprzedawców itd. Redundancja Przechowywanie danych zagregowanych Eksploracja danych • Jakie czynniki kształtują popyt na produkty? • Które oddziały wykazały się anormalnym poziomem sprzedaży w ostatnim kwartale? • Czym różnią się klienci oddziału X od Y? • Jakie dodatkowe produkty kupują najczęściej klienci wraz z winem? Zakres zastosowań PCA ANN 1933 lata 40-te K-means GA 1967 1975 SVM ACO PSO 1995 1991 2001 Wzrost mocy obliczeniowej wpłynął na rozszerzenie możliwości zastosowania eksploracji danych Algorytmy optymalizacji i inne techniki AI znalazły zastosowanie w eksploracji danych Dziedziny: • diagnostyka medyczna • bankowość, ubezpieczenia • marketing, handel • kontrola jakości • … Dostępne narzędzia: R-Projekt http://www.r-project.org/ SciLab http://www.scilab.org/ Octave http://www.gnu.org/software/octave/ Literatura z zakresu diagnostyki medycznej „Machine learning improves the accuracy of coronary artery disease diagnostic methods” Groseli C., Kukar M., Fetich J., Kononenko I., Computers in Cardiology, 1997 „Detection of echocardiographic left ventricle boundaries using neural networks” Hunter I., Soraghan J., Christie J., Durrani T., Computers in Cardiology, 1993 „A supervised machine learning algorithm for arrhythmia analysis” Guvenir H., Acar B., Demiroz, Cekin A., Computers in Cardiology, 1997 „Metabolic Syndrome Derived from Principal Component Analysis and Incident Cardiovascular Events: The Multi Ethnic Study of Atherosclerosis (MESA) and Health, Aging, and Body Composition (Health ABC)”, Cardiology Research and Practice Volume 2012 … Rozwój chemometrii Algorytmy metaheurystyczne 1975 r. Holland Algorytmy genetyczne Genetic Algorithm 1991 r. Marco Dorigo, Alberto Colorni, Vittorio Maniezzo Algorytmy mrówkowe Ant Colony Optimization 2001 r. Kennedy, Eberhart Algorytm roju cząstek Particle Swarm Optimization Proces ewolucji – inspiracją algorytmów genetycznych • • • • Dziedziczenie – organizmy potomne dziedziczą materiał genetyczny po rodzicach Zmienność – możliwość mutacji Ograniczone zasoby – organizmy konkurują ze sobą o ograniczone zasoby środowiska Dostosowanie (fitness) – pewne cechy okazują się korzystne w danym środowisku i zwiększają konkurencyjność osobnika • Zróżnicowana przeżywalność – osobniki najlepiej przystosowane mają większą szansę przeżycia i wydania na świat potomstwa Algorytm genetyczny • Każdy osobnik stanowi zakodowaną postać rozwiązania Genotyp Populacja osobników (rozwiązań) • Każdy osobnik podlega ocenie Miara dostosowania • Populacja rozwiązań poddawana jest selekcji, opartej na wynikach oceny Dobór naturalny • Osobniki poddają się działaniu operatorów genetycznych Rekombinacja Krzyżowanie (cross-over) Delecja Inwersja Mutacja Duplikacja … Algorytmy genetyczne Generacja populacji początkowej n=1 101010101111111 001011010101011 111110100101101 … Osobnik Pokolenie n+1 OCENA 101010101111111 353.12 001011010101011 230.10 111110100101101 80.2 …. SELEKCJA Zastosowanie operatorów genetycznych Ocena Algorytm roju cząstek PSO • Particle Swarm Optimization Generacja populacji początkowej n=1 • • Ocena 𝑏𝑒𝑠𝑡 𝑏𝑒𝑠𝑡 Modyfikacja 𝑝𝑖𝑑 , 𝑝𝑔𝑑 Modyfikacja 𝑣𝑖𝑑 i 𝑝𝑖𝑑 Transformacja pokolenia n w n+1 • • Każda cząsteczka ma swoja prędkość Cząsteczki posiadają pewną bezwładność Cząsteczki mogą być przyciągane przez najlepszy punkt znaleziony przez swoich sąsiadów Cząsteczki są przyciągane przez najlepszy punkt znaleziony przez siebie Cząsteczki mogą być odpychane od innych cząsteczek Algorytm mrówkowy ACO (Ant Colony Optimization) 1991 Marco Dorigo, Alberto Colorni, Vittorio Maniezzo • Znakowanie ścieżki feromonem • Losowy wybór ścieżki przez pojedynczą mrówkę z prawdopodobieństwem proporcjonalnym do stężenia feromonu • Parowanie feromonu Algorytm mrówkowy ACO (Ant Colony Optimization) … 𝜂𝑖𝑗 = … … 𝜏𝑖𝑗 = 𝑘 𝑝𝑖𝑗 (𝑡) 𝜏𝑖𝑗 (𝑡) 𝛼 𝜂𝑖𝑗 𝛼 = 0 𝑗∈𝐴𝑘 Heurystycznie wyznaczona „atrakcyjność” krawędzi Ilość feromonu na krawędzi … 𝛽 𝛽 𝑗𝑒ż𝑒𝑙𝑖 𝑗 ∈ 𝐴𝑖𝑘 𝜏𝑖𝑗 (𝑡) 𝜂𝑖𝑗 𝑤 𝑝𝑜𝑧𝑜𝑠𝑡𝑎ł𝑦𝑐ℎ 𝑝𝑟𝑧𝑦𝑝𝑎𝑑𝑘𝑎𝑐ℎ α, β – parametry algorytmu określające względny wpływ ilości feromonu i wartości heurystycznej na wybór węzła sąsiedniego dokonywany przez mrówkę Zbiory danych Machine Learning Repository, University of California, Irvine http://archive.ics.uci.edu/ml/datasets/Arrhythmia http://archive.ics.uci.edu/ml/datasets/Echocardiogram http://archive.ics.uci.edu/ml/datasets/Heart+Disease http://archive.ics.uci.edu/ml/datasets/Breast+Cancer 279 atrybutów (cech, kolumn), 452 próbki (obiekty, wiersze) 76 atrybutów, Liczba próbek: Cleveland: 303 , Hungarian: 294, Switzerland: 123 , Long Beach VA: 200 Przykładowe dane http://archive.ics.uci.edu/ml/datasets/Breast+Cancer 1) ID number 2) Outcome (R = recur, N = nonrecur) 3) Time (recurrence time if field 2 = R, disease-free time if field 2 = N) 4-33) Ten real-valued features are computed for each cell nucleus: a) radius (mean of distances from center to points on the perimeter) b) texture (standard deviation of gray-scale values) c) perimeter d) area e) smoothness (local variation in radius lengths) f) compactness (perimeter^2 / area - 1.0) g) concavity (severity of concave portions of the contour) h) concave points (number of concave portions of the contour) i) symmetry j) fractal dimension ("coastline approximation" - 1) 34) Tumor size - diameter of the excised tumor in centimeters 35) Lymph node status - number of positive axillary lymph nodes observed at time of surgery Y X 3...35 Dane ABPM Powikłania narządowe Wyniki nowoczesnej diagnostyki Pomiary Holter 663 próbki, ok. 500 atrybutów Wzrost, waga, wyniki badań laboratoryjnych, leki, używki … Gdański Uniwersytet Medyczny Analiza wielowymiarowa X 1..n o Klasyfikacja o Analiza skupień Wykrywanie klastrów x x x Rozpoznawanie wzorców Grupowanie o x x x x o x o x x x x Y Uczenie z nauczycielem Supervised learning X 1..n Uczenie bez nauczyciela Unsupervised learning Odkrywanie charakterystyk Wykrywanie reguł 𝑝→𝑞 Klasyfikacja Analiza dyskryminacyjna Badanie wiarygodności kredytowej klienta Majątek Dochód Zadłużenie Liczba członków rodziny Liczba lat pracy u obecnego pracodawcy Spłacił kredyt / nie spłacił kredytu 98 35 12 4 4 1 x 65 44 5 3 1 1 x 22 50 0 2 7 1 x 8 23 12 2 1 0 o 0 15 10 4 2 0 o 21 12 28 3 2 1 57 39 13 5 8 0 x o … Nowy klient (majątek, dochód, zadłużenie, liczba członków rodziny, …) ? Inne przykłady: • Email: • Rokowania pacjenta: Spłaci kredyt / nie spłaci kredytu zwykła treść / spam pomyślne / niepomyślne o o x o x x o x o Grupowanie - zastosowania Analiza zależności społecznoś ciowych Segmentacja rynku Błąd pomiaru lub specyficzny stan zdrowia pacjenta Wzrost prawdopodobieństwa awarii Ustalanie stref / taryf / rozmiarów Wykrywanie awarii Wykrywanie reguł 𝑝→𝑞 Odkrywanie asocjacji – analiza koszyka zakupów market basket analysis Szukanie naturalnych wzorów zachowań konsumenckich Odkrywanie wzorców sekwencji Szukanie zależności występujących pomiędzy zdarzeniami w pewnym przedziale czasu. • Analiza kataklizmów (trzęsień ziemi, huraganów, erupcji wulkanów) w celu określenia typowej sekwencji zdarzeń poprzedzających wystąpienie zdarzenia. • Wzorce zachowań klientów – wykrywanie oszustw finansowych, ubezpieczeniowych, szacowanie prawdopodobieństwa spowodowania wypadku (ustalanie wysokości składek ubezpieczeniowych) • Analiza efektywności terapii medycznych • Wykrywanie fałszywy ch recept Cele automatycznej analizy o o x x x o X 1..n x o http://archive.ics.uci.edu/ml/datasets/Breast+Cancer Uczenie z nauczycielem x x x x o - recur x - nonrecur Y o x x x x Uczenie bez nauczyciela Cel: Automatyczna klasyfikacja nowotworu jako R lub N na podstawie cech komórek X 1..n http://archive.ics.uci.edu/ml/datasets/Arrhythmia Cel: automatyczne wyodrębnienie typów arytmii na podstawie zapisów EKG http://archive.ics.uci.edu/ml/datasets/Heart+Disease Cel: automatyczne wyodrębnienie klas pacjentów, w zależności od typu/stopnia zaawansowania choroby. Analiza danych ABPM Dane dotyczące pomiarów ciśnienia tętniczego Cele: Automatyczne wyodrębnienie klas pacjentów „podobnych” grupowanie Automatyczne określanie kategorii ryzyka, prawdopodobieństwa wystąpienia powikłań klasyfikacja Odkrywanie różnic pomiędzy rozkładami wartości cech pacjentów należących do różnych klas analiza statystyczna Odkrywanie reguł / zależności pomiędzy stosowanymi lekami / używkami a zmiennością ciśnienia wykrywanie reguł Kryteria oceny klasyfikatorów • Efektywność speed Koszt obliczeniowy związany z budową i zastosowaniem klasyfikatora (istotny szczególnie w systemach czasu rzeczywistego) • Odporność robustness Zdolność modelu do poprawnej klasyfikacji w przypadku braku części danych lub występowania danych zaszumionych, punktów osobliwych • Skalowalność scalability Zdolność metody do konstrukcji klasyfikatora dla dużych wolumenów danych, odporność na „przekleństwo wymiaru” • Interpretowalność interpretability Stopień w jakim konstrukcja klasyfikatora pozwala na zrozumienie mechanizmów klasyfikacji. Zrozumienie mechanizmów może być celem samym w sobie Etapy analizy Przygotowanie danych • • • Łączenie danych pochodzących z różnych źródeł Eliminacja danych niepełnych/nieistotnych Transformacja danych do wymaganej postaci Normalizacja – mapowanie przedziału zmienności atrybutu na przedział <0,1> Standaryzacja – uzyskanie nowej zmiennej o wartości średniej = 0 i odchyleniu standardowym = 1 Wyrównanie wpływu atrybutów obiektu na wynik klasyfikacji, niezależność od jednostek w jakich wyrażone są wartości atrybutów Wybór sposobu reprezentacji atrybutów binarnych i kategorycznych (porządkowych i nominalnych) Różne typy danych: multimedialne (filmy, muzyka, zdjęcia), przestrzenne (mapy), grafy, struktury chemiczne (sekwencje DNA), dane tekstowe, semistrukturalne (dokumenty XML) • Transformacja do przestrzeni euklidesowej (reprezentacja w postaci punktów w n-wymiarowej przestrzeni, wybór metryki definiującej odległość) lub • Definicja innej miary podobieństwa lub niepodobieństwa obiektów Redukcja wymiaru danych • Eliminacja współliniowości atrybutów Współliniowość cech Źródło danych: Dane ABPM GUM Redukcja wymiaru danych Szeroko stosowane techniki: • Analiza składowych głównych • Skalowanie wielowymiarowe PCA Principal Component Analysis MDS Multidimensional scaling Cel: Eliminacja współliniowości zmiennych objaśniających (cech) X1 X2 … X7 Z1 Z2 Analiza składowych głównych Wykres osypiskowy Wagi składowych 𝜑11 𝜑21 𝜑𝑝1 𝜑12 𝜑22 … 𝜑𝑝2 ⋮ 𝜑1𝑝 𝜑2𝑝 𝜑𝑝𝑝 𝑝 𝜑𝑗𝑖 2 = 1 𝑍𝑖 = 𝜑1𝑖 ∙ 𝑋1 + 𝜑2𝑖 ∙ 𝑋2 + ⋯ + 𝜑𝑝𝑖 ∙ 𝑋𝑝 𝑗=1 Składowa główna stanowi liniową kombinację oryginalnych cech PCA Dane dotyczące zmienności ciśnienia, 126 kolumn 15 składowych głównych wyjaśnia 78,04 % zmienności Grupowanie (x1,…, xn)1, (x1,…, xn)2, … , (x1,…, xn)m Ciąg m próbek o n cechach m = 15, n = 2 kupować trzymać x Akcje firmy sprzedawać Problem określenia optymalnej liczby klastrów Problem przydziału próbki do klastra Szukamy grup – klastrów, w celu sklasyfikowania nowej próbki Algorytm K-średnich (k-means) Zbiór próbek x x x Iteracyjne powtarzanie: Kolorowanie próbek x x x Losowo wybrane położenie 2 centrów Przesuwanie centrów • • x x x x x x Brak odporności na punkty osobliwe Brak możliwości wyodrębnienia klastra wklęsłego Wynik grupowania 1 3 PC 2 2 PC 1 Rozkład cech z podziałem na klastry Różnice w obrębie klastrów Rozkład cech z podziałem na klastry Brak istotnych różnic w obrębie klastrów Rozkład cech z podziałem na klastry Grupowanie hierarchiczne • Podejście aglomeracyjne (bottom-up) • Podejście podziałowe (top-down) Grupowanie hierarchiczne • Struktura zagnieżdżona, możliwość elastycznego wyboru zbioru klastrów • Wada: podział lub połączenie są nieodwracalne i nie ma możliwości iteracyjnego poprawiania łącznego kryterium Wnioskowanie – wagi składowych + klastry Odkrywanie charakterystyk Interpretowalność Wagi PC1 𝑃𝐶1 = 𝜑11 ∙ 𝑋1 + 𝜑21 ∙ 𝑋2 + ⋯ + 𝜑𝑝1 ∙ 𝑋𝑝 MDS K-means 3 klastry Utrudniona separowalność i wnioskowanie PCA K-means 5 klastrów Utrudniona separowalność 243 kolumny (207 ciągłych) 15 PC PC 28 Klasyfikacja Klasyfikacja 𝑦 ∈ {0,1} http://archive.ics.uci.edu/ml/datasets/Breast+Cancer 1 ℎΘ (𝑥) = Θ𝑇 𝑥 y x x x 𝒉𝜣 𝒙 ≥ 𝟎. 𝟓 → 𝒚 = 𝟏 0.5 𝒉𝜣 𝒙 < 𝟎. 𝟓 → 𝒚 = 𝟎 0 x x x x1 (x1,…, xn, 0|1)1, (x1,…, xn, 0|1)2, … , (x1,…, xn, 0|1)m Ciąg m próbek o n cechach Regresja logistyczna ℎΘ (𝑥) = Θ𝑇 𝑥 ℎΘ (𝑥) = 𝑔(Θ𝑇 𝑥) 𝒉𝜣 (𝒙) = 𝑔 𝑧 = 𝟏 1 1 + 𝑒 −𝑧 0 ≤ ℎ𝛩 𝑥 ≤ 1 𝑻𝒙 𝟏 + 𝒆−𝜣 funkcja sigmoidalna Wartość hipotezy odpowiada prawdopodobieństwu, że y = 1 ℎΘ 𝑥 = 𝑃 𝑦 = 1 𝑥; Θ) g(z) 1 Należy znaleźć wektor Θ 0.5 0 z Regresja wieloraka ciąg próbek o długości m i n cechach (x1,…, xn, y)1, (x1,…, xn, y)2, … , (x1,…, xn, y)m ℎ = Θ0 + Θ1𝑥 ℎ = Θ0 + Θ1𝑥 + Θ2𝑥 2 ℎ = Θ0 + Θ1𝑥 + Θ2 𝑥 … ℎ = Θ0 + Θ1𝑥1 + Θ2𝑥2 + ⋯ + Θ𝑛𝑥𝑛 ℎ = Θ0 + Θ1𝑥1 + Θ2 𝑥12 + Θ3𝑥2 + Θ4𝑥22 + Θ5𝑥1𝑥2 1 𝑥11 𝑥12 … 𝑥1𝑛 … 𝑥2𝑛 X = 1 𝑥21 𝑥22 … 1 𝑥𝑚1 𝑥𝑚2 … 𝑥𝑚𝑛 𝑦1 𝑦2 𝑌= … 𝑦𝑚 θ0 θ θ= 1 …. θ𝑛 Θ - parametr modelu θ = 𝑋\Y θ = (𝑋 𝑇 𝑋)−1 𝑋 𝑇 𝑌 Regresja wieloraka # Regresja logistyczna Regresja wieloraka (w tym liniowa) - predykcja x x x x x x x x ℎΘ 𝑥 = Θ0 + Θ1 𝑥 x x x x x ℎΘ 𝑥 = Θ0 + Θ1 𝑥 + Θ2 𝑥 2 x x ℎΘ 𝑥 = Θ0 + Θ1 𝑥 + Θ2 𝑥 2 + Θ3 𝑥 3 + Θ4 𝑥 4 Regresja logistyczna - klasyfikacja o o o o x o x o o o o o x x x o o x x x x x ℎΘ 𝑥 = 𝑔(Θ0 + Θ1 𝑥1 + Θ2 𝑥2 ) o o o o x o x o o o o o x x x o o x x x x x o o o o o x x o o o o o x x x o o x x x x x ℎΘ 𝑥 = 𝑔(Θ0 + Θ1 𝑥1 + Θ2 𝑥2 + Θ3 𝑥12 + Θ4 𝑥22 + Θ5 𝑥1 𝑥2 ) Klasyfikatory • Sztuczne sieci neuronowe ANN Artificial Neural Networks, lata 40-te • Metoda wektorów nośnych SVM Support Vector Machine, 1995 • Metoda najbliższego sąsiedztwa KNN • Inne (np. probabilistyczne, regresyjne, drzewa klasyfikacyjne ) Klasyfikacja • Zbiór danych Walidacyjny Testowy Uczący • Funkcja klasyfikująca - klasyfikator Wybór postaci funkcji Ustalenie parametrów / wag 𝜃 • Ocena działania klasyfikatora ℎ𝜃 𝑥 → {0,1} Wynik klasyfikacji Rzeczywiście 1 Rzeczywiście 0 Sklasyfikowane jako 1 True Positive False Positive Sklasyfikowane jako 0 False negative True negative Zwrot Recall 𝐶𝑧𝑢ł𝑜ść (𝑆𝑒𝑛𝑠𝑖𝑡𝑖𝑣𝑖𝑡𝑦) = 𝑇𝑟𝑢𝑒 𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑒 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 𝑇𝑟𝑢𝑒 𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑒 + 𝐹𝑎𝑙𝑠𝑒 𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑒 𝑅𝑒𝑐𝑎𝑙𝑙 = precyzja Precision 𝑇𝑟𝑢𝑒 𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑒 𝑇𝑟𝑢𝑒 𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑒 + 𝐹𝑎𝑙𝑠𝑒 𝑛𝑒𝑔𝑎𝑡𝑖𝑣𝑒 𝑆𝑝𝑒𝑐𝑦𝑓𝑖𝑐𝑧𝑛𝑜ść(𝑆𝑝𝑒𝑐𝑖𝑓𝑖𝑡𝑦) = 𝑇𝑟𝑢𝑒 𝑛𝑒𝑔𝑎𝑡𝑖𝑣𝑒 𝐹𝑎𝑙𝑠𝑒 𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑒 + 𝑇𝑟𝑢𝑒 𝑛𝑒𝑔𝑎𝑡𝑖𝑣𝑒 Test sklasyfikował same 1 𝑇𝑟𝑢𝑒 𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑒 𝑇𝑟𝑢𝑒 𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑒 + 𝐹𝑎𝑙𝑠𝑒 𝑛𝑒𝑔𝑎𝑡𝑖𝑣𝑒 𝑃𝑅 𝑃+𝑅 Prec Recall Test A 0.01 1.0 𝑃+𝑅 2 0.505 Test B 0.5 0.3 0.4 0,375 Test C 0.6 0.1 0.35 0,1714 2 0,0198 F-miara Krzywa ROC Receiver Operating Characteristic Klasyfikator idealny 𝑇𝑃 𝑇𝑃 𝑟𝑎𝑡𝑒 = 𝑇𝑃 + 𝐹𝑁 Klasyfikator losowy 𝐹𝑃 𝑟𝑎𝑡𝑒 = Najgorszy przypadek Źródło: James G at al. 𝐹𝑃 𝐹𝑃 + 𝑇𝑁 Neuron biologiczny dendryty jądro akson ciało komórki synapsa kolaterale Model sztucznego neuronu x0=1 x0 x1 x2 𝜃1 𝜃2 𝜃0 funkcja sigmoidalna ℎ𝜃 (𝑥) g(s) 𝜃3 𝒉𝜣 (𝒙) = 𝑛 𝑠 = 𝜃𝑇 𝑥 = x3 𝟏 𝒈 𝒔 = 𝟏 + 𝒆−𝒔 𝜃𝑖 𝑥𝑖 𝟏 𝟏 + 𝒆−𝜣 𝑻𝒙 𝑖=1 𝑥0 𝑥1 x = 𝑥2 … 𝑥𝑛 𝜃0 𝜃1 θ = 𝜃2 … 𝜃𝑛 Element progowy – zostaje uaktywniony gdy suma sygnałów wejściowych przekroczy pewien poziom Sztuczna sieć neuronowa x0 x0=1 a0(2) x1 a1 𝒉𝜣 (𝒙) = (2) 𝟏 𝑻𝒙 𝟏 + 𝒆−𝜣 ℎ𝜃 (𝑥) x2 a2(2) x3 a3(2) 𝑥0 𝑥1 x = 𝑥2 … 𝑥𝑛 (1) 𝜃10 (1) θ(1) = 𝜃20 (1) 𝜃30 funkcja sigmoidalna (1) (1) (1) 𝜃11 𝜃12 𝜃13 𝜃21 𝜃22 𝜃23 𝜃31 𝜃32 𝜃33 (1) (1) (1) (1) (2) θ(2) = 𝜃10 (1) (1) 3x4 (2) 𝜃11 (2) 𝜃12 (2) 𝜃13 Sztuczna sieć neuronowa Kierunek przepływu sygnału x0 x1 a0(2) a1(2) a0(3) a0(4) a1(3) ℎ𝜃 (𝑥) a1(4) x2 a2(2) a2(3) a2(4) x3 a3(2) a3 (3) sprzężenie zwrotne Warstwa wyjściowa Warstwa wejściowa Warstwy ukryte • Sieć jednokierunkowa • Sieć rekurencyjna 𝑥0 𝑥1 x = 𝑥2 … 𝑥𝑛 Sztuczna sieć neuronowa x0 x0=1 a0 (1) x1 𝜃10 a1 (1) θ(1) = 𝜃20 ℎ𝜃 (𝑥) x2 (1) 𝜃30 a2 (2) θ(2) = 𝜃10 x3 a3 1 1 1 1 1 1 1 1 1 1 1 1 𝑎1 = 𝑔 𝜃10 𝑥0 + 𝜃11 𝑥1 + 𝜃12 𝑥2 + 𝜃13 𝑥3 𝑎2 = 𝑔 𝜃20 𝑥0 + 𝜃21 𝑥1 + 𝜃22 𝑥2 + 𝜃23 𝑥3 𝑎3 = 𝑔 𝜃30 𝑥0 + 𝜃31 𝑥1 + 𝜃32 𝑥2 + 𝜃33 𝑥3 2 2 2 2 ℎ𝜃 (𝑥) = 𝑔 𝜃10 𝑎0 + 𝜃11 𝑎1 + 𝜃12 𝑎2 + 𝜃13 𝑎3 (1) (1) (1) 𝜃11 𝜃12 𝜃13 𝜃21 𝜃22 𝜃23 𝜃31 𝜃32 𝜃33 (1) (1) (2) 𝜃11 (1) (1) (2) 𝜃12 (1) (1) (2) 𝜃13 Separowalność AND XNOR OR zbiór nie musi być spójny ani wypukły wypukły spójny zbiór Sieć neuronowa – czym jest? x0=1 a0 -30 x0 10 a1 a0=1 20 -10 20 x1 20 -20 20 x2 a2 -20 • zespół prostych, wzajemnie połączonych jednostek (neuronów) równolegle przetwarzających informację • jednostki (neurony) wykonują sumowanie i nieliniowe odwzorowanie sygnałów wejściowych • oddziaływanie każdego połączenia wyrażone jest wagą, która może być modyfikowana Modyfikacja wag następuje w procesie uczenia System przetwarzania informacji, uniwersalny dzięki możliwości uczenia. Ocena przebiegu procesu uczenia Ustalona złożoność układu Źródło: Jędruch W., 2009 Ustalona liczba obrazów uczących Wybór postaci funkcji o o o o x o x o o o o o x x x o o x x x x x ℎΘ 𝑥 = 𝑔(Θ0 + Θ1 𝑥1 + Θ2 𝑥2 ) o o o o x o x o o o o o x x x o o x x x x x o o o o o x x o o o o o x x x o o x x x x x ℎΘ 𝑥 = 𝑔(Θ0 + Θ1 𝑥1 + Θ2 𝑥2 + Θ3 𝑥12 + Θ4 𝑥22 + Θ5 𝑥1 𝑥2 ) • Problem przeuczenia sieci (overfitting) – utrata zdolności generalizujących Generalizacja – zdolność systemu do udzielania poprawnych odpowiedzi na sygnały wejściowe, które nie wystąpiły w zbiorze uczącym. Brzytwa Ockhama – „Nie należy mnożyć bytów ponad potrzebę” Podstawowy cel uczenia – nabycie przez system zdolności generalizujących. Metoda wektorów nośnych SVM Źródło: Wikipedia • Odporność metody na zjawisko przeuczenia • Szybkość • Wyniki klasyfikacji Metoda najbliższego sąsiedztwa KNN Przykład metody nieparametrycznej k=3 k=5 k=1 k=5 Projekt sieci neuronowej Architektura sieci Funkcja aktywacji Wagi • • • • • liczba warstw liczba neuronów w warstwie połączenia zwrotne kodowanie sygnału wejściowego kodowanie sygnału wyjściowego np. funkcja sigmoidalna, sgn(x) Uczenie sieci neuronowej Wiedza sieci neuronowej tkwi w jej wagach Proces uczenia 1. Losowe wygenerowanie wag inicjalnych 2. Dane wejściowe – ciąg uczący 𝑦1 1 𝑥11 𝑥12 … 𝑥1𝑛 … 𝑥2𝑛 𝑌 = 𝑦2 X = 1 𝑥21 𝑥22 … … 1 𝑥𝑚1 𝑥𝑚2 … 𝑥𝑚𝑛 𝑦𝑚 𝜃10 1 𝜃11 1 𝜃12 𝜃20 1 𝜃21 1 𝜃22 θ(2) = 𝜃102 𝜃11 2 𝜃12 θ(1) = 1 1 2 m próbek o n cechach i wyniku ym h(x) 3. Podaj wektor Xm na wejście i oblicz h(Xm) 4. Porównaj otrzymane h(Xm) z Ym i skoryguj wagi Powtórz m razy Algorytmy korekty wag (np. reguła uczenia perceptronu, propagacja wsteczna błędu) Zastosowania sieci neuronowych • • • • • … • • • … Klasyfikacja Grupowanie Optymalizacja Pamięć asocjacyjna Predykcja (generalizacja) Modelowanie przebiegu i skutków chorób neurodegradacyjnych Modelowanie wpływu substancji chemicznych na mózg Modelowanie procesów uczenia Równoległy, rozproszony system obliczeniowy programowanie liniowe problem komiwojażera rozpoznawanie obrazów kompresja danych …. Sztuczny mózg Przykład – rozpoznawanie cyfr Wzorce Kodowanie – macierze 5 x 3 z wartościami {0,1} 1 1 1 1 1 1 0 0 0 1 Wyjście 1 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 0 1 0 0 0 0 0 0 0 1 0 1 1 1 1 0 1 0 1 0 0 1 0 1 1 1 0 1 1 0 0 0 1 1 0 1 0 1 0 0 0 1 1 1 1 1 1 Dowolna liczba warstw ukrytych Przykład – rozpoznawanie cyfr SciLab – moduł ANN (Artificial Neural Network) Wybór architektury sieci N = [15, 15, 15, 15, 4]; Inicjalizacja wag W = ann_FF_init (N); Wybór algorytmu uczenia Wiedza sieci zawarta w macierzy wag [W,sW] = ann_FF_Mom_online(P,T,N,W,lp,Te); Przykład – rozpoznawanie cyfr Architektura sieci N = [15, 30, 30, 30, 4]; Wiedza sieci zawarta w macierzy wag Podajemy Otrzymujemy Y = Y = ann_FF_run(cyfra(:),N,W); Przeuczenie Przykład – prognozowanie Dane WIG Przykład – prognozowanie WIG – kurs zamknięcia 10 dni Przykład – prognozowanie WIG – kurs zamknięcia 10 dni + Obrót 10 dni ANN toolbox Podsumowanie Przedstawione metody znajdują szerokie zastosowanie w diagnostyce medycznej Dostępne narzędzia: R-Projekt http://www.r-project.org/ SciLab http://www.scilab.org/ Octave http://www.gnu.org/software/octave/ ułatwiają i przyspieszają pozyskiwanie wiedzy z danych Znaczenie współpracy interdyscyplinarnej Literatura • • • • • • • • • • Hastie T., Tibshirani R., Friedman J. „The Elements of Statistical Learning. Data Mining, Inference and Prediction”, Springer Series in Statistics James G., Witten D., Hastie T., Tibshirani R. „An Introduction to Statistical Learning with Applications in R”, Springer Texts in Statistics Larose D. „Metody i modele eksploracji danych”, Wydawnictwo Naukowe PWN, Warszawa 2012 Morzy T. „Eksploracja danych. Metody i algorytmy”, Wydawnictwo Naukowe PWN, Warszawa 2013 Żurada J., Barski M., Jędruch W., „Sztuczne sieci neuronowe”, Wydawnictwo Naukowe PWN, Warszawa 1996 Duch W., Korbicz J., Rutkowski L., Tadeusiewicz R. „Sieci neuronowe”, Akademicka Oficyna Wydawnicza Exit, Warszawa 2000 Hertz J., Krogh A., Palmer R. „Wstęp do teorii obliczeń neuronowych”, Wydawnictwa Naukowo-Techniczne, Warszawa 1995 Andrew Ng, Lectures „Machine Learning” www.ml-class.org Jędruch W., „Sztuczna inteligencja”, Materiały do wykładu, Gdańsk 2009 Russell S., Norvig P. „Artificial Intelligence. A Modern Approach””, Pearson, 2010