Obuka, validacija i testovi

U mašinskom učenju, uobičajeni zadatak je proučavanje i konstrukcija algoritama koji mogu učiti iz podataka i predviđati podatke.[1] Takvi algoritmi funkcionišu predviđanjem ili donošenjem odluka na osnovu podataka,[2] kroz izgradnju matematičkog modela na bazi ulaznih podataka.

Podaci koji se koriste za izgradnju konačnog modela obično dolaze iz više skupova podataka. Konkretno, tri skupa podataka se obično koriste u različitim fazama stvaranja modela.

Model se prvobitno uklapa u skup podataka za obuku,[3] što predstavlja skup primera koji se koriste za prilagođavanje parametrima (na pr. težina veza između neurona u veštačkim neuronskim mrežama) modela.[4] Model (na pr. Neuronska mreža ili naivni Bajesov klasifikator) obučava se na skupu podataka za obuku primenom metode učenja pod nadzorom, kao na primer korišćenjem metoda optimizacije kao što su gradijentno opadanje ili stohastičko gradijentno opadanje. U praksi se skup podataka za obuku često sastoji od parova ulaznog vektora (ili skalara) i odgovarajućeg izlaznog vektora (ili skalara), gde se ključ za odgovor obično označava kao cilj (ili oznaka). Trenutni model se pokreće skupom podataka za obuku i daje rezultat koji se zatim upoređuje sa ciljem za svaki ulazni vektor u skupu podataka za obuky. Na osnovu rezultata poređenja i specifičnog algoritma učenja koji se koristi, parametri modela se prilagođavaju. Prilagođavanje modela može uključivati i izbor promenljive i procenu parametara.

Sukcesivno se ugrađeni model koristi za predviđanje odgovora na zapažanja u drugom skupu podataka, koji se naziva skup podataka za validaciju.[3] Skup podataka za validaciju pruža nepristrasnu evaluaciju modela koji se uklapa u skup podataka za obuku, istovremeno podešavajući hiperparametre modela[5] (na pr. Broj skrivenih jedinica (slojeva i širina slojeva) u neuronskoj mreži[4]). Skupovi podataka za validaciju se mogu koristiti za regularizacijy ranim zaustavljanjem (zaustavljanje obuke kada se greška u skupu podataka za validaciju povećava, jer je to znak prekomernog prilagođavanja skupa podataka za obuku).[6] Ovaj jednostavan postupak je u praksi komplikovan činjenicom da greška skupa podataka za validaciju može da fluktuira tokom obuke, stvarajući tako više lokalnih minimuma. Ova komplikacija je dovela do stvaranja mnogih ad hoc pravila za odlučivanje kada je prekomerno prilagođavanje zaista počelo.

Konačno, skup podataka za testiranje je skup podataka koji se koristi za pružanje nepristrasne evaluacije konačnog modela koji se prilagođava skupu podataka za obuku.[5] Ako se podaci u skupu podataka za testiranje nikada nisu koristili u obuci (na pr. u unakrsnoj validaciji), skup podataka za testiranje će se zvati i skup podataka o zadržavanju .

Skup podataka za obuku uredi

Skup podataka za obuku je skup primera koji se koriste tokom procesa učenja i koriste se za prilagođavanje na primer, klasifkatora[7] [8] parametrima (na pr.težine).

Većina pristupa koji putem podataka za obuku pretražuju empirijske veze imaju tendenciju da prekomerno prilagođavaju podatke, što znači da mogu da identifikuju i iskoriste očigledne veze u podacima za obuku, a koje inače uopšte ne sadrže.

Skup podataka za validaciju uredi

Skup podataka za validaciju je skup primera koji se koriste za podešavanje hiperparametara (tj. arhitekture) klasifikatora. Ponekad se naziva i razvojnim skupom ili „dev setom“. Primer hiperparametra za veštačke neuronske mreže uključuje broj skrivenih jedinica u svakom sloju.[7] [8] One, kao i skup za testiranje (kao što je gore pomenuto), treba da prate istu raspodelu verovatnoće kao i skup podataka za obuku.

Da bi se izbeglo prekomerno prilagođavanje, kada je potrebno prilagoditi bilo koji parametar klasifikacije, pored skupova podataka za obuku i testiranje, potrebno je imati i niz podataka za validaciju. Na primer, ako se traži najpogodniji klasifikator za problem, skup podataka za obuku se koristi za obuku kandidata algoritama, skup podataka za proveru se koristi za upoređivanje njihovog učinka i za odlučivanje koji će se algoritam uzeti i, na kraju, skup podataka za testiranje se koristi za dobijanje karakteristika učinka kao što su tačnost, osetljivost, specifičnost, F-merenje itd. Skup podataka za validaciju funkcioniše kao hibrid: to su podaci za obuku koji se koriste za testiranje, ali ne kao deo obuke na niskom nivou, niti kao deo završnog testiranja.

Osnovni proces upotrebe skupa podataka za validaciju za odabir modela (kao deo skupa podataka za obuku, skupa podataka za validaciju i skupa podataka za testiranje) je: [8] [9]

“Since our goal is to find the network having the best performance on new data, the simplest approach to the comparison of different networks is to evaluate the error function using

data which is independent of that used for training. Various networks are trained by minimization of an appropriate error function defined with respect to a training data set. The

performance of the networks is then compared by evaluating the error function using an independent validation set, and the network having the smallest error with respect to the

validation set is selected. This approach is called the hold out method. Since this procedure can itself lead to some overfitting to the validation set, the performance of the selected

network should be confirmed by measuring its performance on a third independent set of data called a test set.”


Primena ovog procesa se ogleda u ranom zaustavljanju, u kojem kandidati modela predstavljaju uzastopne iteracije iste mreže, a obuka se zaustavlja odabirom prethodnog modela (onog sa minimalnom greškom), kada se greška na skupu provere valjanosti povećava.

Skup podataka za testiranje uredi

Skup podataka za testiranje je skup podataka koji je nezavisan od skupa podataka za obuku, ali koji sledi istu raspodelu verovatnoće. Ako se model koji se uklapa u skup podataka za obuku dobro uklapa u skup podataka za testiranje, dešava se minimalno prekomerno prilagođavanjae (vidi donju sliku). Bolje prilagođavanje skupa podataka za obuku za razliku od skupa podataka za testiranje obično upućuje na prekomerno prilagođavanje.

Stoga je skup za testiranje skup primera koji se koriste samo za procenu učinka (tj. yopštavanja) potpuno specificiranog klasifikatora.[7] [8]

 
Ckup za obuku (levo) i skup za testiranje (desno) iz iste statističke populacije prikazani su kao plave tačke. Dva predskazujuća modela odgovaraju podacima za obuku. Oba ugrađena modela ucrtana su i u skupove za obuku i za testiranje. U skupu za obuku, SKG (SKG- srednja kvadratna greška) krive prikazane narandžastom bojom je 4, dok je SKG nagiba prikazanog zelenom bojom 9. U skupu za testiranje, SKG za krivy prikazany narandžastom bojom je 15, a SKG za nagib prikazan zelenom bojom je 13. Narandžasta kriva je značajno prilagođena podacima za obuku, jer se njena SKG povećava za gotovo četiri faktora kada se upoređuje skup za testiranje sa skupom za obuku. Zelena kriva se mnogo manje prilagođava u podatke za obuku, jer se njena SKG povećava za faktor manji od 2.

Skup podataka za zadržavanje uredi

Deo originalnog skupa podataka se može odvojiti i koristiti kao skup za testiranje. Ovo je poznato kao metoda zadržavanja.[10]

Zabuna u terminologiji uredi

Pojmovi skup za testiranje i skup za validaciju se ponekad koriste na način koji izvrće njihovo značenje kako u industriji tako i u akademskim krugovima. U pogrešnoj upotrebi, „skup za testiranje“ postaje razvojni skup, a „skup za validaciju“ postaje nezavistan skup koji se koristi za procenu učinka potpuno naznačenog klasifikatora.

"Literatura o mašinskom učenju često preokreće značenje skupova za „validacijy“ i „testiranje“. Ovo je najočitiji primer terminološke zabune koja prožima istraživanja veštačke inteligencije." [11]

Unakrsna validacija uredi

Skup podataka se može više puta podeliti u skup podataka za obuku i skup podataka za validaciju: To je poznato kao unakrsna validacija. Ove ponavljane podele se mogu izvršiti na različite načine, poput podele na 2 jednaka niza podataka, na njihovy upotreby kao obuke/validacije, a zatim i kao validacije/obuke ili na ponovljeni odabir slučajnog podskupa kao skupa podataka validacije.[traži se izvor] Da bi se učinak modela potvrdio, ponekad se koristi dodatni skup podataka za testiranje, koji je izuzet iz unakrsne validacije.[traži se izvor]

Hijerarhijska klasifikacija uredi

Još jedan primer podešavanja parametara je hijerarhijska klasifikacija (ponekad se naziva i primer dekompozicije prostora[12]), koja ceo višeklasni problem deli na skup manjih problema klasifikacije. Služi za učenje preciznijih koncepata usled jednostavnijih granica klasifikacije u podzadacima i pojedinačnih postupaka izbora osobina za podzadatke. Kada se vrši razgradnja klasifikacije, centralni izbor je redosled kombinacije manjih koraka klasifikacije, koji se naziva put klasifikacije. U zavisnosti od primene, može se izvesti iz matrice zabune, tako što će otkriti razloge tipičnih grešaka i pronaći načine da spreči sistem da ih u budućnosti napravi. Na primer,[13] na skupu za validacijy se može videti koje klase sistem najčešće međusobno zamenjuje, a zatim se primer dekompozicije prostora vrši na sledeći način: prvo, klasifikacija se vrši između vrlo prepoznatljivix klasa, a one koje je teško razdvojiti se tretiraju kao jedna zajednička klasa. I konačno, kao drugi korak klasifikacije, zajednička klasa se klasifikuje u dve početno međusobno zamenjene klase.[traži se izvor]

Vidi još uredi

Reference uredi

  1. ^ Ron Kohavi; Foster Provost (1998). „Glossary of terms”. Machine Learning. 30: 271—274. doi:10.1023/A:1007411609915 . 
  2. ^ Bishop, Christopher M. (2006). Pattern Recognition and Machine Learning. New York: Springer. str. vii. ISBN 0-387-31073-8. „Pattern recognition has its origins in engineering, whereas machine learning grew out of computer science. However, these activities can be viewed as two facets of the same field, and together they have undergone substantial development over the past ten years. 
  3. ^ a b James, Gareth (2013). An Introduction to Statistical Learning: with Applications in R. Springer. str. 176. ISBN 978-1461471370. Arhivirano iz originala 23. 06. 2019. g. Pristupljeno 15. 11. 2020. 
  4. ^ a b Ripley, Brian (1996). Pattern Recognition and Neural Networks . Cambridge University Press. str. 354. ISBN 978-0521717700. 
  5. ^ a b Brownlee, Jason (2017-07-13). „What is the Difference Between Test and Validation Datasets?”. Pristupljeno 12. 10. 2017. 
  6. ^ Prechelt, Lutz; Geneviève B. Orr (2012-01-01). „Early Stopping — But When?”. Ur.: Grégoire Montavon; Klaus-Robert Müller. Neural Networks: Tricks of the Trade . Lecture Notes in Computer Science. Springer Berlin Heidelberg. str. 53–67. ISBN 978-3-642-35289-8. doi:10.1007/978-3-642-35289-8_5. 
  7. ^ a b v Ripley, B.D. (1996) Pattern Recognition and Neural Networks, Cambridge: Cambridge University Press, p. 354
  8. ^ a b v g "Subject: What are the population, sample, training set, design set, validation set, and test set?", Neural Network FAQ, part 1 of 7: Introduction (txt), comp.ai.neural-nets, Sarle, W.S., ed. (1997, last modified 2002-05-17)
  9. ^ Bishop, C.M. (1995), Neural Networks for Pattern Recognition, Oxford: Oxford University Press, p. 372
  10. ^ Kohavi, Ron (2001-03-03). „A Study of Cross-Validation and Bootstrap for Accuracy Estimation and Model Selection”. 14. 
  11. ^ Ripley, Brian D. (2009). Pattern recognition and neural networks. Cambridge Univ. Press. str. Glossary. ISBN 9780521717700. OCLC 601063414. 
  12. ^ Cohen, S.; Rokach, L.; Maimon, O. (2007). „Decision-tree instance-space decomposition with grouped gain-ratio”. Information Sciences. Elsevier. 177 (17): 3592—3612. doi:10.1016/j.ins.2007.01.016. 
  13. ^ Sidorova, J., Badia, T. "ESEDA: tool for enhanced speech emotion detection and analysis". The 4th International Conference on Automated Solutions for Cross Media Content and Multi-Channel Distribution (AXMEDIS 2008). Florence, November, 17-19, pp. 257–260. IEEE press.

Spoljašnje veze uredi