Uczenie maszynowe w zastosowaniu do fizyki cząstek

Podobne dokumenty
Machine learning Lecture 6

Optymalizacja kryteriów selekcji dla rozpadu Λ+c pμ+μza pomocą wielowymiarowej analizy danych

Machine learning Lecture 2

Drzewa decyzyjne i lasy losowe

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

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

Uczenie sieci neuronowych i bayesowskich

Projekt Sieci neuronowe

ALGORYTM RANDOM FOREST

Python : podstawy nauki o danych / Alberto Boschetti, Luca Massaron. Gliwice, cop Spis treści

Algorytmy metaheurystyczne Wykład 11. Piotr Syga

Machine learning Lecture 5

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Podstawy Sztucznej Inteligencji (PSZT)

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

Systemy agentowe. Uczenie ze wzmocnieniem. Jędrzej Potoniec

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

ALGORYTMY SZTUCZNEJ INTELIGENCJI

Systemy pomiarowo-diagnostyczne. Metody uczenia maszynowego wykład III 2016/2017

Systemy agentowe. Sieci neuronowe. Jędrzej Potoniec

Metody systemowe i decyzyjne w informatyce

Zastosowania sieci neuronowych


Rozpoznawanie obrazów

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

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

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Systemy agentowe. Sieci neuronowe. Jędrzej Potoniec

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

Systemy agentowe. Uwagi organizacyjne. Jędrzej Potoniec

Metody Sztucznej Inteligencji II

Data Mining Wykład 4. Plan wykładu

Temat: Sztuczne Sieci Neuronowe. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Uczenie sieci typu MLP

Poszukiwanie gwiazd zmiennych w eksperymencie Pi of the Sky

Optymalizacja ciągła

Automatyczna predykcja. Materiały/konsultacje. Co to jest uczenie maszynowe? Przykład 6/10/2013. Google Prediction API, maj 2010

Sieci neuronowe w Statistica

Systemy uczące się Lab 4

Metody systemowe i decyzyjne w informatyce

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

Sieć przesyłająca żetony CP (counter propagation)

1. Historia 2. Podstawy neurobiologii 3. Definicje i inne kłamstwa 4. Sztuczny neuron i zasady działania SSN. Agenda

Adrian Horzyk

Indukowane Reguły Decyzyjne I. Wykład 8

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

Deep Learning na przykładzie Deep Belief Networks

Metody klasyfikacji i rozpoznawania wzorców. Najważniejsze rodzaje klasyfikatorów

Algorytmy uczące się

8. Drzewa decyzyjne, bagging, boosting i lasy losowe

Wprowadzenie do klasyfikacji

Widzenie komputerowe (computer vision)

Agnieszka Nowak Brzezińska Wykład III

OpenAI Gym. Adam Szczepaniak, Kamil Walkowiak

TEORETYCZNE PODSTAWY INFORMATYKI

Recenzja rozprawy doktorskiej mgr inż. Szymona Lechwara

Optymalizacja optymalizacji

Zastosowania sieci neuronowych

Zastosowanie optymalizacji rojem cząstek (PSO) w procesie uczenia wielowarstwowej sieci neuronowej w problemie lokalizacyjnym, kontynuacja badań

Algorytmy uczące się

Wstęp do głębokich sieci neuronowych. Paweł Morawiecki IPI PAN

Rozpoznawanie obrazów

Agnieszka Nowak Brzezińska Wykład III

Drzewa decyzyjne. Inteligentne Obliczenia. Wydział Mechatroniki Politechniki Warszawskiej. Anna Sztyber

Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.

A Zadanie

Wprowadzenie do uczenia maszynowego

Wstęp do sieci neuronowych, wykład 04. Skierowane sieci neuronowe. Algorytmy konstrukcyjne dla sieci skierowanych

Prof. Stanisław Jankowski

Klasyfikacja LDA + walidacja

Ontogeniczne sieci neuronowe. O sieciach zmieniających swoją strukturę

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE

Metody systemowe i decyzyjne w informatyce

Praktyki studenckie na LHC IFJ PAN, 5 lipca 2017

Optymalizacja systemów

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

Rozpoznawanie obrazów

Wprowadzenie do uczenia maszynowego

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

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

Wstęp do teorii sztucznej inteligencji Wykład III. Modele sieci neuronowych.

Elementy inteligencji obliczeniowej

Algorytm do rozpoznawania człowieka na podstawie dynamiki użycia klawiatury. Paweł Kobojek, prof. dr hab. inż. Khalid Saeed

ED Laboratorium 3. Drzewa decyzyjne

NEURAL NETWORK ) FANN jest biblioteką implementującą SSN, którą moŝna wykorzystać. w C, C++, PHP, Pythonie, Delphi a nawet w środowisku. Mathematica.

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Uczenie sieci radialnych (RBF)

Agnieszka Nowak Brzezińska

METODY SZTUCZNEJ INTELIGENCJI 2 Opis projektu

SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska

Systemy pomiarowo-diagnostyczne. Metody uczenia maszynowego wykład II 2017/2018

Wrocław University of Technology. Uczenie głębokie. Maciej Zięba

Wybrane zagadnienia uczenia maszynowego. Zastosowania Informatyki w Informatyce W2 Krzysztof Krawiec

Sieci neuronowe do przetwarzania informacji / Stanisław Osowski. wyd. 3. Warszawa, Spis treści

S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor

Podstawy sztucznej inteligencji

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

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

UCZENIE MASZYNOWE III - SVM. mgr inż. Adam Kupryjanow

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

Transkrypt:

Uczenie maszynowe w zastosowaniu do fizyki cząstek Wykorzystanie uczenia maszynowego i głębokich sieci neuronowych do ćwiczenia 3. M. Kaczmarczyk, P. Górski, P. Olejniczak, O. Kosobutskyi Instytut Fizyki Jądrowej im. Henryka Niewodniczańskiego 20 lipca 2017

Spis treści 1 Kilka słów o uczeniu maszynowym Uczenie maszynowe Podstawowe pojęcia BDT Sieci neuronowe 2 Uczenie maszynowe w ćwiczeniu 3 Poszukiwanie Higgsa i SuSy Poszukiwanie H ± w rozpadzie τν Podsumowanie 3 BDT i DNN oraz optymalizacja hiperparametrów w ćwiczeniu 3 Optymalizacja hiperparametrów Głębokie sieci neuronowe w ćw. 3 Podsumowanie

Kilka słów o uczeniu maszynowym

Uczenie maszynowe Czym jest uczenie maszynowe? Uczenie maszynowe (ang. Machine Learning) jest analizą procesów uczenia się oraz tworzeniem systemów, które doskonalą swoje działanie na podstawie doświadczeń z przeszłości. Wyróżniamy dwa rodzaje uczenia maszynowego: Uczenie z nauczycielem - zakłada obecność ludzkiego nadzoru nad tworzeniem funkcji odwzorowującej wejście systemu na jego wyjście. Uczenie bez nauczyciela - zakłada brak obecności dokładnego lub nawet przybliżonego wyjścia w danych uczących.

Uczenie maszynowe Gdzie wykorzystujemy uczenie maszynowe? Uczenie maszynowe wciąż się rozwija i znajduje nowe praktyczne zastosowania. Ilość możliwych zastosowań jest niezwykle ogromna i pozwala przewidzieć, że w przyszłości każdy aspekt techniki będzie zawierać jakąś implementację algorytmów maszynowego uczenia się. skanowanie pisma ręcznego (OCR) oprogramowanie do rozpoznawania mowy automatyczna nawigacja i sterowanie analiza i klasyfikacja danych

Uczenie maszynowe Popularność w Internecie Można znaleźć około 2500 artykułów na scholar.google.com od 2016, które zawierają wyrażenie deep learning w tytule.

Uczenie maszynowe Pakiety używane w uczeniu maszynowym TMVA (ang. The Toolkit for Multivariate Data Analysis) jest to zintegrowany z ROOTem pakiet zapewniający możliwość analizy danych z wieloma zmiennymi przy pomocy uczenia maszynowego Keras jest biblioteką napisaną w Pythonie służącą do tworzenia sieci neuronowych. Działa wraz z bibliotekami Tensorflow i Theano. scikit-learn jest biblioteką uczenia maszynowego dla Pythona

Podstawowe pojęcia Krzywe ROC ROC (ang. Receiver Operating Characteristic) - charakterystyka odbiornika radarowego Każdy kwalifikator zwraca wartość z jakiegoś obszaru, można po niej ciąć. Dla wartości zbyt dużej usuniemy całe tło ale też i prawie cały sygnał Dla wartości zbyt małej przepuścimy zbyt dużo tła. Obydwie wydajności można zaznaczyć na wykresie. Krzywa ROC jest to wykres dla wszystkich możliwych cięć. Powierzchnia pod krzywą ROC jest jedną z miar dobroci kwalifikatora. ROC = 1 - losowe dane 2 ROC = 1 - idealne

Podstawowe pojęcia Przetrenowanie Poprawny trening Zapobieganie przetrenowaniu Większa sieć więcej możliwości ale i łatwiej o przeuczenie. Regularyzacje L1, L2 kara za zbyt duże wagi. Ćwiczenie tylko na małej losowej części danych Dodawanie małego szumu do sygnału Przetrenowanie Przykład z użyciem NN

BDT Co to jest BDT? BDT - Wzmocnione drzewo decyzyjne (ang. Boosted Decision Tree) Drzewo decyzyjne szereg następujących po sobie cięć, każdy końcowy liść ma przypisaną klasyfikację, np. sygnał i tło. Boosted Decision Tree Decision Tree - algorytm znany od dawna, powszechnie stosowany we wszelakich systemach eksperckich. Jako drzewo decyzyjne formułuje się np. schematy działania przy udzielaniu pierwszej pomocy: jeśli coś to zrób to i to, sprawdź dalej inny warunek itd. Boosted - Metoda łączenia wielu słabych klasyfikatorów w celu uzyskania mocnego klasyfikatora. Nie musi się ograniczać do drzew decyzyjnych, choć z nimi jest najchętniej używana.

BDT Budowanie drzewa decyzyjnego Tworzenie BDT 1 Zaczynamy budowę drzewa od korzenia. 2 Dzielimy zbiór treningowy na dwa poprzez cięcie najlepiej separujące na najlepszej zmiennej. 3 Powtarzamy procedurę aż spełnione zostaną warunki końcowe, np. liczba liści, liczba przypadków w liściu itd. Stosunek S/B w liściu określa klasyfikację (binarnie sygnał, tło lub liczba rzeczywista określająca prawdopodobieństwo, że jest to sygnał).

BDT AdaBoost AdaBoost jest najczęściej używanym algorytmem przy budowie drzew decyzyjnych Procedura algorytmu AdaBoost 1 Zbuduj drzewo decyzyjne 2 Zwiększ wagi źle sklasyfikowanych przypadków 3 Powtarzaj wiele razy (typowo 100-1000) 4 Klasyfikuj przypadki na podstawie głosowania wszystkich drzew.

Sieci neuronowe Płytkie sieci neuronowe Cechy sieci neuronowych Podstawowym elementem jest neuron Neuron posiada wiele wejść i jedno wyjście Sygnał na wyjściu jest równy funkcji aktywacyjnej policzonej od ważonej sumy wejść oraz biasu Funkcje aktywacji to na przykład funkcja logistyczna, tangens hiperboliczny lub max(0, x) Sieć składa się z warstw, a każda warstwa z pewnej ilości neuronów Wejście każdego neuronu to wyjścia wszystkich neuronów z poprzedniej warstwy. Można regulować wszystkie wagi oraz biasy Można minimalizować funkcje błędu jako funkcje R N - schodzenie po gradiencie Uczenie można przyspieszyć przy użyciu wstecznej propagacji błędu.

Sieci neuronowe Głębokie sieci neuronowe Cechy głębokich sieci neuronowych Środkowe warstwy mogą budować zmienne wyższego rzędu na postawie których ostatnia warstwa podejmuje decyzje. Działa podobnie jak zadanie 3 - najpierw szukamy dobrych zmiennych a potem robimy na ich podstawie kwalifikacje. Uczenie jest trudne dużo zmiennych oraz gradient zanika lub wybucha wykładniczo w głębszych warstwach.

Uczenie maszynowe w ćwiczeniu 3

Poszukiwanie Higgsa i SuSy Zastosowanie pakietu TMVA Wykorzystaliśmy pakiet TMVA do wygenerowania krzywych ROC dla danych z ćwiczenia 3. Background rejection Background rejection versus Signal efficiency 1 0.9 MVA Method: 0.8 BDT MLPBNN 0.7 KNN RuleFit 0.6 SVM 0.5 Likelihood FDA_GA 0.4 LD PDERS 0.3 LikelihoodPCA Background rejection Background rejection versus Signal efficiency 1 0.9 0.8 0.7 0.6 MVA Method: 0.5 BDT LikelihoodPCA 0.4 Likelihood LD 0.3 FDA_GA 0.2 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Signal efficiency Krzywa ROC dla 4 zmiennych wysokiego poziomu 0.2 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Signal efficiency Krzywa ROC dla 16 zmiennych niskiego poziomu Zmienne wysokiego poziomu Różnice kątów Suma pędów poprzecznych Zmienne niskiego poziomu Pędy Położenia

Poszukiwanie Higgsa i SuSy W 2014 roku Baldi, Sadowski i Whiteson wykorzystali DNN do poszukiwania bozonu Higgsa i cząstek SuSy.

Poszukiwanie Higgsa i SuSy Krzywa ROC dla płytkiej sieci neuronowej Krzywa ROC dla głębokiej sieci neuronowej

Poszukiwanie Higgsa i SuSy Background rejection Background rejection versus Signal efficiency 1 0.9 0.8 0.7 0.6 Background rejection Background rejection versus Signal efficiency 1 0.9 0.8 0.7 0.6 0.5 MVA Method: PyKeras 0.5 MVA Method: PyKeras 0.4 BDT 0.4 DNN 0.3 DNN Fisher 0.3 BDT Fisher 0.2 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Signal efficiency 0.2 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Signal efficiency ROC dla 4 zmiennych wysokiego poziomu ROC dla 16 zmiennych niskiego poziomu Background rejection Background rejection versus Signal efficiency 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 MVA Method: PyKeras BDT DNN Fisher 0.2 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Signal efficiency Suma zmiennych wysokiego i niskiego poziomu (20)

Poszukiwanie H ± w rozpadzie τν Zadanie Identyfikacja rozpadów H± τ ν w eksperymencie ATLAS za pomocą metod uczenia maszynowego

6 3 6 6 6 3 3 6 6 3 Poszukiwanie H ± w rozpadzie τν 0.0805 (1/N) dn / (1/N) dn / 2.03e+04 0.0805 (1/N) dn / Input variable: dphi_met_tau 1.6 Signal Background 1.4 1.2 1 0.8 0.6 0.4 0.2 0 0 0.5 1 1.5 2 2.5 3 dphi_met_tau Input variable: pt_bjet 10 8 7 6 5 4 3 2 1 0 10 100 200 300 400 500 600 700 800 pt_bjet Input variable: dphi_met_bjet 1 0.8 0.6 0.4 0.2 0 0 0.5 1 1.5 2 2.5 3 dphi_met_bjet U/O flow (S,B): (0.0, 0.0)% / (0.0, 0.0)% (1/N) dn / 1.16e+04 U/O flow (S,B): (0.0, 0.0)% / (0.0, 0.0)% (1/N) dn / 2.25e+04 U/O flow (S,B): (0.0, 0.0)% / (0.0, 0.0)% (1/N) dn / 9.22e+03 Input variable: pt_tau Input variable: MET 10 10 30 10 25 20 15 10 5 0 10 50 100 150 200 250 300 350 400 450 500 pt_tau Input variable: pt_bjet_jet 10 10 8 6 4 2 0 10 0 100 200 300 400 500 600 700 800 900 Input variable: sub_light_jet_pt 10 25 20 15 10 5 0 10 50 100 150 200 250 300 350 sub_light_jet_pt U/O flow (S,B): (0.0, 0.0)% / (0.1, 0.0)% U/O flow (S,B): (0.0, 0.0)% / (0.1, 0.0)% 1.67e+04 (1/N) dn / 0.13 (1/N) dn / 8 6 4 2 0 10 200 300 400 500 600 700 MET Input variable: dr_tau_bjet 0.6 0.5 0.4 0.3 0.2 0.1 0 1 2 3 4 5 pt_bjet_jet dr_tau_bjet U/O flow (S,B): (0.0, 0.0)% / (0.1, 0.2)% (1/N) dn / 9.68e+04 Input variable: tau_0_leadtrk_pt 10 10 8 6 4 2 0 10 500 1000 1500 2000 2500 3000 3500 tau_0_leadtrk_pt U/O flow (S,B): (0.0, 0.0)% / (0.1, 0.0)% U/O flow (S,B): (0.0, 0.0)% / (0.0, 0.0)% U/O flow (S,B): (0.0, 0.0)% / (0.0, 0.0)% Input variable: tau_0_n_tracks Input variable: upsilon 0.0512 (1/N) dn / 16 14 12 10 8 6 4 2 0 1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3 tau_0_n_tracks U/O flow (S,B): (0.0, 0.0)% / (0.0, 0.0)% (1/N) dn / 0.0766 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0 0.5 0 0.5 1 1.5 2 upsilon U/O flow (S,B): (0.0, 0.0)% / (0.0, 0.0)% Zmienne wysokiego poziomu używane w analizie prowadzonej przez grupę eksperymentu ATLAS

Poszukiwanie H ± w rozpadzie τν Background rejection Background rejection versus Signal efficiency 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 MVA Method: BDTG Likelihood 0.2 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Signal efficiency Krzywa ROC dla 11 zmiennych wysokiego poziomu Background rejection Background rejection versus Signal efficiency 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 MVA Method: BDTG Likelihood 0.2 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Signal efficiency Krzywa ROC dla 46 zmiennych niskiego poziomu Wyraźnie lepsza separacja sygnału od tła Plany 1 Identyfikacja znaczących zmiennych niskiego poziomu 2 Zastosowanie DNN - Czy umożliwi poprawę wyników?

Podsumowanie Podsumowanie i wnioski Udowodniliśmy że dla analizy wielu zmiennych algorytmy uczenia maszynowego mogą być bardzo skuteczne. Użyliśmy pakietów TMVA i Keras do separacji sygnału od tła z ćwiczenia 3 - automatyczna selekcja jest lepsza od ręcznej. BDT lepiej sobie radzi dla zmiennych wysokiego poziomu, ale DNN dają lepszy wynik dla zmiennych niskiego poziomu, który przekracza wszystkie poprzednie.

Podsumowanie Dziękujemy za uwagę!

BDT i DNN oraz optymalizacja hiperparametrów w ćwiczeniu 3

Optymalizacja hiperparametrów Hiperparametry są to parametry, które określają w jaki sposób uczy się dany kwalifikator Zastosowaliśmy pakiet hyperopt do optymalizacji hiperparametrów, próbując zmaksymalizować pole powierzchni pod krzywą ROC Przykładowe hiperparametry Liczba warstw sieci neuronowych Maksymalna głębokość drzew w lesie Tempo nauki

Optymalizacja hiperparametrów Porównanie krzywych ROC dla różnych hiperparametrów AdaBoost

Głębokie sieci neuronowe w ćw. 3 Uczenie DNN dla zmiennych niskiego poziomu

Głębokie sieci neuronowe w ćw. 3 Uczenie DNN dla zmiennych wysokiego poziomu

Podsumowanie AdaBoost okazał się bardzo dobrym algorytmem Płytkie sieci neuronowe dają słabe wyniki Porównanie krzywych ROC dla różnych metod: Głębokie sieci neuronowe - 4 warstwy po 100 neuronów Płytkie sieci neuronowe - 2 warstwy po 300 neuronów

Podsumowanie Dziękujemy za uwagę!