Genetické programování v úlohách predikce - Machač, Michal (Vysoké učení technické v Brně. Fakulta informačních technologií, 2020)
V této práci jsou představeny různé metody strojového učení, jež lze využít v úlohách predikce založených na regresi. Detailněji je popsáno stromové a lineární genetické programování. S vybranými algoritmy strojového učení (lineární regrese, náhodný les, vícevrstvý perceptron a stromové genetické programování) jsou provedeny experimenty na volně dostupných datových sadách za využití knihoven scikit-learn a gplearn, a získané výsledky jsou porovnány z pohledu kvality predikce. Stěžejní částí této práce byla implementace systému lineárního genetického programování v programovacím jazyce C++, která byla nejprve testována na umělých úlohách symbolické regrese, a následně na reálných datových sadách. Výsledky získané pomocí vytvořené implementace jsou porovnány vůči výsledkům získaným pomocí knihovny gplearn.

This thesis introduces various machine learning algorithms which can be used in prediction tasks based on regression. Tree genetic programming and linear genetic programming are explained more thoroughly. Selected machine learning algorithms (linear regression, random forest, multilayer perceptron and tree genetic programming) are compared on publicly available datasets with the use of scikit-learn and gplearn libraries. A core part of this project is a new implementation of linear genetic programming which was developed in C++, tested on common symbolic regression problems and then evaluated on real datasets. Results obtained with the proposed system are compared with the results obtained with gplearn.
Genetic Programming in Prediction Tasks
Keywords: genetické programování; lineární genetické programování; strojové učení; lineární regrese; náhodný les; vícevrstvý perceptron; regrese; Python; C++; scikit-learn; gplearn; genetic programming; linear genetic programming; machine learning; linear regression; random forest; multilayer perceptron; regression; Python; C++; scikit-learn; gplearn