Evolutionary optimization of machine learning workflows
Optimalizace metod strojového učení na základě evolučních algoritmů
bakalářská práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/108354Identifikátory
SIS: 208475
Kolekce
- Kvalifikační práce [11978]
Autor
Vedoucí práce
Oponent práce
Pilát, Martin
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Obecná informatika
Katedra / ústav / klinika
Katedra teoretické informatiky a matematické logiky
Datum obhajoby
27. 6. 2019
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Výborně
Klíčová slova (česky)
Strojové učení, Evoluční algoritmy, Meta-učení, WorkflowsKlíčová slova (anglicky)
Machine learning, Evolutionary computing, Meta-learning, WorkflowsPráce se zabývá automatickým strojovým učením (AutoML), které má za cíl automati- zovat proces výběru vhodného modelu strojového učení pro daný problém. Vyvinuli jsme systém, který pro zadanou úlohu učení s učitelem reprezentovanou množinou dat najde vhodné schéma řešení (pipeline) - kombinaci metod strojového učení, ansámblů a metod předzpracování. Jako prohledávací algoritmus jsme navrhli speciální variantu develop- mentálního genetického programování, která umožňuje reprezentovat orientované acyk- lické grafy schémat řešení pomocí stromů. Systém je implementován v programovacím jazyce Python a využívá knihovnu scikit-learn. Úspěšnost našeho řešení byla ověřena na 72 datových množinách benchmarku OpenML-CC18, na kterém jsme dosáhli dobrých výsledků. 1
This work deals with automated machine learning (AutoML), which is a field that aims to automatize the process of model selection for a given machine learning problem. We have developed a system that, for a given supervised learning task represented by a dataset, finds a suitable pipeline - combination of machine learning, ensembles and preprocessing methods. For the search we designed a special instance of the developmental genetic programming which enables us to encode directed acyclic graph pipelines into a tree representation. The system is implemented in the Python programming language and operates on top of the scikit-learn library. The performance of our solution was tested on 72 datasets of the OpenML-CC18 benchmark with very good results. 1
