Optimizacija hiperparametara
U mašinskom učenju, optimizacija hiperparametara [1] ili podešavanje je problem izbora skupa optimalnih hiperparametara za algoritam učenja. Hiperparametar je parametar čija vrednost se koristi za kontrolu procesa učenja.
Optimizacija hiperparametara pronalazi niz hiperparametara pomoću kojih se dobija optimalni model koji minimizira funkciju gubitka. [2] Funkcija cilja uzima niz hiperparametara i vraća povezani gubitak. [2] Unakrsna validacija se često koristi za procenu performansi, pa se na osnovu nje vrši odabir vrednosti hiperparametara iz određenog skupa tako da odabrane vrednosti maksimiziraju performanse. [3]
Metode
[uredi | uredi izvor]Pretraga mreže
[uredi | uredi izvor]Tradicionalna metoda za optimizaciju hiperparametara je pretraga mreže (engl. grid search) ili pretraga parametara odnosno pretraga grubom silom nad ručno definisanim podskupom skupa hiperaparametara korišćenim u algoritmu učenja. Algoritam pretrage mreže mora biti praćen nekom metrikom za merenje performansi, koja se uobičajeno meri unakrsnom validacijom nad skupom za treniranje.[4][5]
S obzirom da parametri mogu da imaju realne ili neograničene vrednosti, može biti neophodno ručno postaviti granice i izvršiti diskretizaciju pre primene pretrage mreže.
Na primer, SVM klasifikator sa RBF jezgrom ima najmanje dva hiperparametra koja treba da se podese kako bi performanse nad nepoznatim podacima bile dobre: regularizaciona konstanta C i hiperparametar jezgra γ. Oba parametra su kontinualna, tako da se za izvođenje pretrage mreže bira konačan skup vrednosti za svaki, recimo
Metoda pretrage mreže onda trenira SVM sa parom (C, γ) u obliku Dekartovog proizvoda ova dva skupa i procenjuje performanse na validacionim skupu (ili unakrsnom validacijom na podacima za treniranje, u kom slučaju se više SVM-ova trenira po paru). Na kraju, algoritam pretrage mreže daje ona podešavanja koja su postigla najbolji rezultat u procesu validacije.
Mana metode pretrage mreže je problem dimenzionalnosti. Sa druge strane ovaj problem se lako može paralelizovati jer su podešavanja hiperparametara koje metoda procenjuje obično nezavisna jedna od drugih. [3]
Slučajna pretraga
[uredi | uredi izvor]Sluačajna pretraga je proces koji zamenjuje iscrpljujuće nabrajanje svih kombinacija tako što se one biraju nasumično. Prednost u odnosu na pretragu mreže jeste to što slučajna pretraga može da istraži mnogo više vrednosti za kontinualne hiperparametre nego što bi to pretraga mreže mogla. Može nadmašiti pretragu mreže, posebno kada samo mali broj hiperparametara utiče na konačne performanse algortima mašinskog učenja.[3] U ovom slučaju se kaže da problem optimizacije ima nisku unutrašnju dimenzionalnost.[6] Slučajna pretraga se takođe može lako paralelizovati i ona dodatno dozvoljava uključivanje prethodnog znanja, određivanjem raspodele iz koje se uzorkuje. Uprkos svojoj jednostavnosti, slučajna pretraga ostaje jedna od važnih osnova u odnosu na koju se porede performanse novih metoda za optimizaciju hiperparametara.
Bajesova optimizacija
[uredi | uredi izvor]Bajesova optimizacija je metoda globalne optimizacije za black-box funkcije. Kod optimizacije hiperparametara, Bajesova optimizacija gradi model verovatnoće funkcije. U praksi se pokazalo[7][8][9][10] da Bajesova optimizacija daje bolje rezultate sa manje evaluacija u poređenju sa pretragom mreže i slučajnom pretragom, zahvaljujući sposobnosti da pre sprovođenja eksperimenata razmišlja o njihovom kvalitetu.
Optimizacija zasnovana na gradijentu
[uredi | uredi izvor]Za određene algoritme učenja, moguće je izračunati gradijent u odnosu na hiperparametre i nakon toga optimizovati hiperparametre koristeći algoritam opadajućeg gradijenta. Prva upotreba ovih tehinka bila je usmerena na neuronske mreže.[11] Od tada, ove metode su proširene na druge modele, kao što su metoda potpornih vektora[12] ili logistička regresija.[13]
Evoluciona optimizacija
[uredi | uredi izvor]Evoluciona optimizacija je metodologija za globalnu optimizaciju black-box funkcija. Kod optimizacije hiperparametara, evoluciona optimizacija koristi evolucione algoritme za pretragu prostora hiperparametara za zadati algoritam.[8]
Treniranje zasnovano na populaciji
[uredi | uredi izvor]U toku treniranja zasnovanog na populaciji (engl. Population Based Training - PBT) uče se i vrednosti hiperparametara i težine mreže. Više procesa učenja radi nezavisno, koristeći različite hiperparametre.
Algoritmi zasnovani na ranom zaustavljanju
[uredi | uredi izvor]Klasa algoritama za optimizaciju hiperparametara zasnovanih na ranom zaustavljanju je specijalno napravljena za velike prostore pretrage kontinualnih i diskretnih hiperparametara, posebno za slučaj kada su zahtevi u pogledu vremena i resursa potrebnih za procenu performansi skupa hiperparametara visoki.
Ostalo
[uredi | uredi izvor]RBF[14] i spektralne[15] metode su takođe razvijene.
Problemi kod optimizacije hiperparametara
[uredi | uredi izvor]Kada se vrši optimizacija hiperparametara, skup hiperparametara se često prilagođava na skupu podataka za treniranje i bira na osnovu performansi generalizacije ili rezultata na validacionom skupu podataka. Međutim, ovaj postupak je u riziku od preprilagođavanja (engl. overfitting) hiperparametara na validacionom skupu. Stoga, ocena performansi generalizacije na validacionom skupu (u slučaju unakrsne validacije može biti nekoliko skupova) ne može biti istovremeno korišćena za procenu performanski generalizacije konačnog modela.
Reference
[uredi | uredi izvor]- ^ Matthias Feurer i Frank Hutter. Hyperparameter optimization. In: AutoML: Methods, Systems, Challenges, strane 3–38.
- ^ a b Claesen, Marc; Bart De Moor. „Hyperparameter Search in Machine Learning”. arXiv:1502.02127 [cs.LG].
- ^ a b v Bergstra, James; Bengio, Yoshua (2012). „Random Search for Hyper-Parameter Optimization” (PDF). Journal of Machine Learning Research. 13: 281—305.
- ^ Chin-Wei Hsu, Chih-Chung Chang and Chih-Jen Lin (2010). A practical guide to support vector classification. Technical Report, National Taiwan University.
- ^ Chicco D (decembar 2017). „Ten quick tips for machine learning in computational biology”. BioData Mining. 10 (35): 35. PMC 5721660 . PMID 29234465. doi:10.1186/s13040-017-0155-3 .
- ^ Ziyu, Wang; Frank, Hutter; Masrour, Zoghi; David, Matheson; Nando, de Feitas (2016). „Bayesian Optimization in a Billion Dimensions via Random Embeddings”. Journal of Artificial Intelligence Research (na jeziku: engleski). 55: 361—387. S2CID 279236. arXiv:1301.1942 . doi:10.1613/jair.4806.
- ^ Hutter, Frank; Hoos, Holger; Leyton-Brown, Kevin (2011), „Sequential Model-Based Optimization for General Algorithm Configuration”, Learning and Intelligent Optimization (PDF), Lecture Notes in Computer Science, 6683, str. 507—523, CiteSeerX 10.1.1.307.8813 , ISBN 978-3-642-25565-6, S2CID 6944647, doi:10.1007/978-3-642-25566-3_40
- ^ a b Bergstra, James; Bardenet, Remi; Bengio, Yoshua; Kegl, Balazs (2011), „Algorithms for hyper-parameter optimization” (PDF), Advances in Neural Information Processing Systems
- ^ Snoek, Jasper; Larochelle, Hugo; Adams, Ryan (2012). „Practical Bayesian Optimization of Machine Learning Algorithms” (PDF). Advances in Neural Information Processing Systems. Bibcode:2012arXiv1206.2944S. arXiv:1206.2944 .
- ^ Thornton, Chris; Hutter, Frank; Hoos, Holger; Leyton-Brown, Kevin (2013). „Auto-WEKA: Combined selection and hyperparameter optimization of classification algorithms” (PDF). Knowledge Discovery and Data Mining. Bibcode:2012arXiv1208.3719T. arXiv:1208.3719 .
- ^ Larsen, Jan; Hansen, Lars Kai; Svarer, Claus; Ohlsson, M (1996). „Design and regularization of neural networks: The optimal use of a validation set” (PDF). Neural Networks for Signal Processing VI. Proceedings of the 1996 IEEE Signal Processing Society Workshop. str. 62—71. CiteSeerX 10.1.1.415.3266 . ISBN 0-7803-3550-3. S2CID 238874. doi:10.1109/NNSP.1996.548336.
- ^ Olivier Chapelle; Vladimir Vapnik; Olivier Bousquet; Sayan Mukherjee (2002). „Choosing multiple parameters for support vector machines” (PDF). Machine Learning. 46: 131—159. doi:10.1023/a:1012450327387 . Arhivirano iz originala (PDF) 24. 12. 2016. g. Pristupljeno 15. 08. 2024.
- ^ Chuong B; Chuan-Sheng Foo; Andrew Y Ng (2008). „Efficient multiple hyperparameter learning for log-linear models” (PDF). Advances in Neural Information Processing Systems. 20.
- ^ Diaz, Gonzalo; Fokoue, Achille; Nannicini, Giacomo; Samulowitz, Horst (2017). „An effective algorithm for hyperparameter optimization of neural networks”. arXiv:1705.08520 [cs.AI].
- ^ Hazan, Elad; Klivans, Adam; Yuan, Yang (2017). „Hyperparameter Optimization: A Spectral Approach”. arXiv:1706.00764 [cs.LG].