Wrocław University of Technology SPOTKANIE 1: Wprowadzenie do uczenia maszynowego Adam Gonczarek Studenckie Koło Naukowe Estymator adam.gonczarek@pwr.wroc.pl 18.10.2013
Początki uczenia maszynowego Cybernetyka (XIX-XX w.) systemy sterowania i automatycznego przetwarzania informacji w m.in. mechanice, biologii. 2/32
Początki uczenia maszynowego Cybernetyka (XIX-XX w.) systemy sterowania i automatycznego przetwarzania informacji w m.in. mechanice, biologii. Sztuczna inteligencja (lata 50. XX w.) dziedzina nauki, której celem jest zaprojektowanie inteligentnych maszyn. 2/32
Początki uczenia maszynowego Cybernetyka (XIX-XX w.) systemy sterowania i automatycznego przetwarzania informacji w m.in. mechanice, biologii. Sztuczna inteligencja (lata 50. XX w.) dziedzina nauki, której celem jest zaprojektowanie inteligentnych maszyn. Systemy ekspertowe (lata 70. XX w.) systemy komputerowe wykorzystujące logikę matematyczną do imitacji wnioskowania człowieka. 2/32
Początki uczenia maszynowego Cybernetyka (XIX-XX w.) systemy sterowania i automatycznego przetwarzania informacji w m.in. mechanice, biologii. Sztuczna inteligencja (lata 50. XX w.) dziedzina nauki, której celem jest zaprojektowanie inteligentnych maszyn. Systemy ekspertowe (lata 70. XX w.) systemy komputerowe wykorzystujące logikę matematyczną do imitacji wnioskowania człowieka. Nauki kognitywne (lata 70. XX w.) poznanie i modelowanie zjawisk dotyczących działania umysłu. 2/32
Początki uczenia maszynowego Cybernetyka (XIX-XX w.) systemy sterowania i automatycznego przetwarzania informacji w m.in. mechanice, biologii. Sztuczna inteligencja (lata 50. XX w.) dziedzina nauki, której celem jest zaprojektowanie inteligentnych maszyn. Systemy ekspertowe (lata 70. XX w.) systemy komputerowe wykorzystujące logikę matematyczną do imitacji wnioskowania człowieka. Nauki kognitywne (lata 70. XX w.) poznanie i modelowanie zjawisk dotyczących działania umysłu. Uczenie maszynowe (lata 90. XX w.) zastosowanie modeli statystycznych i metod optymalizacji do projektowania algorytmów uczenia maszyn. 2/32
Definicja uczenia maszynowego Mówimy, że maszyna uczy się zadania T w oparciu o doświadczenie E i miarę jakości P, jeśli wraz z przyrostem doświadczenia E poprawia się jakość wykonywanego zadania T mierzona przez miarę P. (Tom M. Mitchell, Machine Learning, McGraw Hill, 1997) Przykład: Nauka gry w szachy T : Gra w szachy P : Liczba wygranych partii w turnieju z człowiekiem E: Rozgrywanie partii przeciw sobie 3/32
Przykłady danych Cześć 1 4/32
Przykłady danych Cześć 2 5/32
1. Uczenie z nadzorem (ang. supervised learning) Regresja (ang. regression) Klasyfikacja (ang. classification) 2. Uczenie bez nadzoru (ang. unsupervised learning) Klasteryzacja (ang. clustering) Redukcja wymiarów (ang. dimensionality reduction) 3. Uczenie ze wzmocnieniem (ang. reinforcement learning) 6/32
Uczenie z nadzorem: Regresja Regresja (ang. Regression): Dysponujemy obserwacjami z odpowiadającymi im wartościami ciągłymi. Celem uczenia jest skonstruowanie modelu regresji na podstawie danych. Model konstruowany jest tak, aby możliwe było przewidywanie nowych obserwacji. 7/32
Uczenie z nadzorem: Regresja Regresja (ang. Regression): Dysponujemy obserwacjami z odpowiadającymi im wartościami ciągłymi. Celem uczenia jest skonstruowanie modelu regresji na podstawie danych. Model konstruowany jest tak, aby możliwe było przewidywanie nowych obserwacji. 7/32
Uczenie z nadzorem: Regresja Regresja (ang. Regression): Dysponujemy obserwacjami z odpowiadającymi im wartościami ciągłymi. Celem uczenia jest skonstruowanie modelu regresji na podstawie danych. Model konstruowany jest tak, aby możliwe było przewidywanie nowych obserwacji. 7/32
Uczenie z nadzorem: Regresja Regresja (ang. Regression): Dysponujemy obserwacjami z odpowiadającymi im wartościami ciągłymi. Celem uczenia jest skonstruowanie modelu regresji na podstawie danych. Model konstruowany jest tak, aby możliwe było przewidywanie nowych obserwacji. 7/32
Regresja: Śledzenie ruchu Cel: Dane: Wyznaczenie następnego położenia obiektu. Sekwencja obrazów z poruszającymi się obiektami. Na podstawie dotychczas zarejestrowanej sekwencji obrazów wyznaczane jest położenie obiektu. 8/32
Regresja: Predykcja notowań giełdowych Cel: Dane: Wycena akcji. Notowania akcji z poprzednich okresów oraz inne czynniki wpływające na cenę akcji. Na podstawie notowań historycznych i innych czynników mających wpływ na cenę akcji budowany jest model predykcyjny. Model aktualizowany jest z wykorzystaniem bieżących notowań. 9/32
Uczenie z nadzorem: Klasyfikacja Klasyfikacja (ang. Classification): Dysponujemy obserwacjami z etykietami (klasami), które przyjmują wartości nominalne. Celem uczenia jest skonstruowanie klasyfikatora separującego obiekty należące do różnych klas. Klasyfikator konstruowany jest tak, aby możliwe było przewidywanie klas nowych, niesklasyfikowanych obserwacji. 10/32
Uczenie z nadzorem: Klasyfikacja Klasyfikacja (ang. Classification): Dysponujemy obserwacjami z etykietami (klasami), które przyjmują wartości nominalne. Celem uczenia jest skonstruowanie klasyfikatora separującego obiekty należące do różnych klas. Klasyfikator konstruowany jest tak, aby możliwe było przewidywanie klas nowych, niesklasyfikowanych obserwacji. 10/32
Uczenie z nadzorem: Klasyfikacja Klasyfikacja (ang. Classification): Dysponujemy obserwacjami z etykietami (klasami), które przyjmują wartości nominalne. Celem uczenia jest skonstruowanie klasyfikatora separującego obiekty należące do różnych klas. Klasyfikator konstruowany jest tak, aby możliwe było przewidywanie klas nowych, niesklasyfikowanych obserwacji. 10/32
Uczenie z nadzorem: Klasyfikacja Klasyfikacja (ang. Classification): Dysponujemy obserwacjami z etykietami (klasami), które przyjmują wartości nominalne. Celem uczenia jest skonstruowanie klasyfikatora separującego obiekty należące do różnych klas. Klasyfikator konstruowany jest tak, aby możliwe było przewidywanie klas nowych, niesklasyfikowanych obserwacji. 10/32
Klasyfikacja: Detekcja obiektów Cel: Dane: Wykrycie obiektu na obrazie. Obraz na którym bada się wystąpienie obiektu, oraz zestaw obrazów treningowych przedstawiających dany obiekt. Do analizy obrazu wykorzystuje się okno przesuwne. W każdym kroku obraz z okna przesuwnego klasyfikowany jest jako obiekt poszukiwany lub nie. 11/32
Klasyfikacja: Detekcja SPAMU Cel: Dane: Zbadać, czy dana wiadomość jest SPAMEM. Zestaw zawierający zaetykietowane wiadomości mailowe. Wydobywane są cechy (występowanie słów) różnicujące SPAM od zwykłej poczty. Klasyfikacja nowej wiadomości odbywa się z wykorzystaniem wydobytych cech. 12/32
Klasyfikacja: Credit Scoring Cel: Dane: Zbadać zdolność kredytową klienta bankowego. Charakterystyki klientów bankowych pochodzące z systemów informatycznych i kwestionariuszy. Wydobywane są cechy mające wpływ na decyzje kredytowe. Klasyfikatory do oceny zdolności kredytowej są powszechnie stosowanym narzędziem. 13/32
Klasyfikacja: Rozpoznawanie mowy Cel: Dane: Interpretacja wybranych słów na podstawie wypowiedzi. Próbki dźwięków wraz ich znaczeniem. Wydobywane są cechy dźwięku charakterystyczne dla danego słowa, głoski, bądź zestawu słów. Klasyfikowany sygnał jest przetwarzany, a następnie rozpoznawane jest znaczenie słowa. 14/32
Uczenie bez nadzoru: Klasteryzacja Klasteryzacja (ang. Clustering): Dysponujemy obserwacjami bez etykiet. Celem uczenia jest znalezienie grup (klastrów), w których skupione są dane. Obserwacje z danej grupy charakteryzują się podobieństwem. Inne nazwy: grupowanie, analiza skupień. 15/32
Uczenie bez nadzoru: Klasteryzacja Klasteryzacja (ang. Clustering): Dysponujemy obserwacjami bez etykiet. Celem uczenia jest znalezienie grup (klastrów), w których skupione są dane. Obserwacje z danej grupy charakteryzują się podobieństwem. Inne nazwy: grupowanie, analiza skupień. 15/32
Klateryzacja: Kompresja obrazu Cel: Dane: Kodowanie pikseli wartościami z mniejszego zakresu. Obraz. Zakłada się, że każdy piksel może przyjąć K wartości. Piksele grupowane są do K klastrów algorytmem klasteryzacji. Podobne piksele trafiają do tego samego klastra. Piksel kodowany jest poprzez numer klastra. 16/32
Klateryzacja: Grupowanie osób w sieci społecznej Cel: Dane: Wyodrębnienie grup znajomych w sieci społecznej. Dane o interakcji między osobami. Wyodrębnione grupy znajomych przy pomocy TouchGraph dla Facebook a. Znajomi w tych samych klastrach charakteryzują się wewnętrzną interakcją między sobą. 17/32
Klateryzacja: Grupowanie słów Cel: Dane: Wyodrębnienie grup słów w tytułach artykułów. Artykuły prasowe. Grupowaniu podlegają słowa, które pojawiły się w tytule artykułu. Słowa uważane są za podobne, jeśli pojawiają się w kontekście tych samych słów z artykułu. Słowa z jednej grupy zazwyczaj opisują to samo zdarzenie. 18/32
Uczenie bez nadzoru: Redukcja wymiarów Redukcja wymiarów (ang. Dimensionality Reduction): Dysponujemy obserwacjami bez etykiet. Celem uczenia jest znalezienie niskowymiarowej podprzestrzeni (rozmaitości), na której leżą dane. Obserwacje mogą zostać zakodowane przy pomocy układu współrzędnych związanego z niskowymiarową podprzestrzenią. 19/32
Uczenie bez nadzoru: Redukcja wymiarów Redukcja wymiarów (ang. Dimensionality Reduction): Dysponujemy obserwacjami bez etykiet. Celem uczenia jest znalezienie niskowymiarowej podprzestrzeni (rozmaitości), na której leżą dane. Obserwacje mogą zostać zakodowane przy pomocy układu współrzędnych związanego z niskowymiarową podprzestrzenią. 19/32
Redukcja wymiarów: Kodowanie i kompresja zdjęć Cel: Znalezienie twarzy bazowych rozpinających niskowymiarową przestrzeń. Dane: Zdjęcia twarzy. Wyróżnione M twarzy bazowych rozpina M-wymiarową podprzestrzeń w przestrzeni twarzy. Twarze mogą być kodowane poprzez położenie na niskowymiarowej przestrzeni. Metoda może służyć, jako automatyczna ekstrakcja cech ze zdjęć. 20/32
Redukcja wymiarów: Wizualizacja danych Cel: Dane: Wizualizacja 2D lub 3D wysokowymiarowych danych. Dowolne dane, np. zdjęcia. Redukcja wymiarów pozwala na wizualizację struktury wysokowymiarowych danych. Podobne obserwacje znajdują się blisko siebie w niskowymiarowej przestrzeni. Na rysunku przedstawiono obrazy ręcznie pisanych cyfr oraz zdjęć twarzy z różnej perspektywy. 21/32
Uczenie ze wzmocnieniem Uczenie ze wzocnieniem (ang. Reinforcement Learning): Maszyna (agent) wchodzi w interakcje z otoczeniem (środowiskiem), w którym chce osiągnąć określony cel. Maszyna podejmuje akcje aby osiągnąć cel, które są ocenianie przez otoczenie. Akcje są nagradzane lub karane. Maszyna poprzez podejmowanie akcji poznaje otoczenie. 22/32
Uczenie ze wzmocnieniem Uczenie ze wzocnieniem (ang. Reinforcement Learning): Maszyna (agent) wchodzi w interakcje z otoczeniem (środowiskiem), w którym chce osiągnąć określony cel. Maszyna podejmuje akcje aby osiągnąć cel, które są ocenianie przez otoczenie. Akcje są nagradzane lub karane. Maszyna poprzez podejmowanie akcji poznaje otoczenie. 22/32
Uczenie ze wzmocnieniem Uczenie ze wzocnieniem (ang. Reinforcement Learning): Maszyna (agent) wchodzi w interakcje z otoczeniem (środowiskiem), w którym chce osiągnąć określony cel. Maszyna podejmuje akcje aby osiągnąć cel, które są ocenianie przez otoczenie. Akcje są nagradzane lub karane. Maszyna poprzez podejmowanie akcji poznaje otoczenie. 22/32
Uczenie ze wzmocnieniem Uczenie ze wzocnieniem (ang. Reinforcement Learning): Maszyna (agent) wchodzi w interakcje z otoczeniem (środowiskiem), w którym chce osiągnąć określony cel. Maszyna podejmuje akcje aby osiągnąć cel, które są ocenianie przez otoczenie. Akcje są nagradzane lub karane. Maszyna poprzez podejmowanie akcji poznaje otoczenie. 22/32
Uczenie ze wzmocnieniem Uczenie ze wzocnieniem (ang. Reinforcement Learning): Maszyna (agent) wchodzi w interakcje z otoczeniem (środowiskiem), w którym chce osiągnąć określony cel. Maszyna podejmuje akcje aby osiągnąć cel, które są ocenianie przez otoczenie. Akcje są nagradzane lub karane. Maszyna poprzez podejmowanie akcji poznaje otoczenie. 22/32
Uczenie ze wzmocnieniem: Gra w szachy Cel: Dane: Wyuczyć algorytm gry w szachy. Rozgrywki szachowe. Zakładano, że komputer zawsze gra białymi. Znany był ostatni stan szachownicy i ocena (1 dla wygranej białych, 0 dla remisu, 1 dla wygranej czarnych), natomiast maszyna miała się nauczyć jakie akcje podejmować, aby osiągnąć wygraną. Stan szachownicy reprezentowano za pomocą sieci neuronalnej. 23/32
Uczenie ze wzmocnieniem: Sterowanie helikopterem Cel: Dane: Wyuczyć algorytm sterowania helikopterem. Sterowanie helikopterem przez pilota (operatora). Dane posłużyły do określenia dynamiki helikoptera oraz określenia funkcji nagrody. Następnie zastosowano algorytm uczenia ze wzmocnieniem do nauki sterowania helikopterem. Projekt wykonano na Stanford University (http://heli.stanford.edu/). 24/32
Projekty naszej grupy Anna Gut Mateusz Kucharczyk Przemysław Kłysz Szymon Zaręba Celem projektu jest ocena atrakcyjności człowieka na podstawie zdjęcia. Stosowane techniki uczenia maszynowego: 1. Probabilistyczne Modele Grafowe 2. Procesy Gaussa 3. Principal Component Analysis 4. Support Vector Machine 25/32
Projekty naszej grupy Piotr Klukowski (Max Planck Dresden) Michał Walczak (ETH Zürich) Adam Gonczarek Celem projektu jest automatyczne oznaczenie pików na obrazach z Magnetycznego Rezonansu Jądrowego (NMR). Stosowane techniki uczenia maszynowego: 1. Support Vector Machine 2. Probabilistyczne Modele Grafowe (PGM) 26/32
Projekty naszej grupy Adam Gonczarek Celem projektu jest odtworzenie konfiguracji człowieka na podstawie obrazu z kamer. Stosowane techniki uczenia maszynowego: 1. Filtry cząsteczkowe 2. Metody próbkowania 3. Nieliniowa redukcja wymiarów (GPLVM) 4. Wnioskowanie bayesowskie 5. Support Vector Machine 27/32
Projekty naszej grupy Jakub M. Tomczak Celem projektu jest wspomaganie terapii cukrzycy na podstawie pomiarów. Stosowane techniki uczenia maszynowego: 1. Indukcja reguł decyzyjnych 2. Uczenie przyrostowe 3. Mechanizm zapominania wykładniczego 4. Procesy Gaussa 5. Ukryte łańcuchy Markowa 28/32
Projekty naszej grupy Jakub M. Tomczak Celem projektu jest modelowanie procesów wnioskowania w ludzkim mózgu. Stosowane techniki uczenia maszynowego: 1. Modelowanie Bayesowskie 2. Regularyzacja i wiedza a priori 3. Modele Isinga 4. Maszyny Boltzmanna 29/32
Projekty naszej grupy Maciej Zięba Celem projektu jest opracowanie modeli predykcji okresu przeżycia pacjenta po operacji raka płuc. Stosowane techniki uczenia maszynowego: 1. Klasyfikatory SVM dla problemów niezbalansowania 2. Klasyfikatory typu Ensemble 3. Metody próbkowania typu SMOTE 4. Metody uczenia wrażliwe na koszt 30/32
Projekty naszej grupy Adam Gonczarek Jakub Tomczak Szymon Zaręba Celem projektu jest rozpoznawanie obrazów z użyciem uczenia głębokiego i architektur głębokich. Stosowane techniki uczenia maszynowego: 1. Maszyny Boltzmanna 2. Algorytm Contrastive Divergence 3. DropOut 31/32
Zespół 32/32