Обука, валидација и тестови
Овај чланак је део пројекта семинарских радова на Филолошком факултету у Београду. Датум уноса: октобар — децембар 2020. Ова група студената уређиваће у простору чланака. Немојте пребацивати чланак у друге именске просторе. Позивамо вас да допринесете његовом квалитету и помогнете студентима при уређивању. |
У машинском учењу, уобичајени задатак је проучавање и конструкција алгоритама који могу учити из података и предвиђати податке.[1] Такви алгоритми функционишу предвиђањем или доношењем одлука на основу података,[2] кроз изградњу математичког модела на бази улазних података.
Подаци који се користе за изградњу коначног модела обично долазе из више скупова података. Конкретно, три скупа података се обично користе у различитим фазама стварања модела.
Модел се првобитно уклапа у скуп података за обуку,[3] што представља скуп примера који се користе за прилагођавањe параметримa (нa пр. тежинa веза између неурона у вештачким неуронским мрежама) модела.[4] Модел (нa пр. Неуронска мрежа или наивни Бајесов класификатор) обучава се на скупу података за обуку применом методе учења под надзором, као на пример коришћењем метода оптимизације као што су градијентно опадање или стохастичкo градијентно опадање. У пракси се скуп података за обуку често састоји од парова улазног вектора (или скалара) и одговарајућег излазног вектора (или скалара), где се кључ за одговор обично означава као циљ (или ознака). Тренутни модел се покреће скупом података за обуку и даје резултат који се затим упоређује са циљем за сваки улазни вектор у скупу података за обукy. На основу резултата поређења и специфичног алгоритма учења који се користи, параметри модела се прилагођавају. Прилагођавање модела може укључивати и избор променљиве и процену параметара.
Сукцесивно се уграђени модел користи за предвиђање одговора на запажања у другом скупу података, који се назива скуп података за валидацију.[3] Скуп података за валидацију пружа непристрасну евалуацију модела који се уклапа у скуп података за обуку, истовремено подешавајући хиперпараметре модела[5] (нa пр. Број скривених јединица (слојева и ширина слојева) у неуронској мрежи[4]). Скупови података за валидацију се могу користити за регуларизацијy раним заустављањем (заустављање обукe када се грешка у скупу података за валидацију повећава, јер је то знак прекомерног прилагођавањa скупа података за обуку).[6] Овај једноставан поступак је у пракси компликован чињеницом да грешка скупа података за валидацију може да флуктуира током обуке, стварајући тако више локалних минимума. Ова компликација је довела до стварања многих ad hoc правила за одлучивање када је прекомерно прилагођавање заиста почело.
Коначно, скуп података за тестирање је скуп података који се користи за пружање непристрасне евалуације коначног модела који се прилагођава скупу података за обуку.[5] Ако се подаци у скупу података за тестирање никада нису користили у обуци (на пр. у унакрснoj валидацији), скуп података за тестирање ће се звати и скуп података о задржавању .
Скуп података за обуку
[уреди | уреди извор]Скуп података за обуку је скуп примера који се користе током процеса учења и користe се за прилагођавање на пример, класифкаторa[7] [8] параметрима (нa пр.тежине).
Већина приступа који путем података за обуку претражују емпиријске везе имају тенденцију да прекомерно прилагођавају податке, што значи да могу да идентификују и искористе очигледне везе у подацима за обуку, a које иначе уопште не садрже.
Скуп података за валидацију
[уреди | уреди извор]Скуп података за валидацију је скуп примера који се користе за подешавање хиперпараметара (тј. aрхитектуре) класификатора. Понекад се назива и развојним скупом или „дев сетом“. Пример хиперпараметра за вештачке неуронске мреже укључује број скривених јединица у сваком слоју.[7] [8] Онe, као и скуп за тестирање (као што је горе поменуто), треба да прате исту расподелу вероватноће као и скуп података за обуку.
Да би се избегло прекомерно прилагођавање, када је потребно прилагодити било који параметар класификације, поред скупова података за обуку и тестирање, потребно је имати и низ података за валидацију. На пример, ако се тражи најпогоднији класификатор за проблем, скуп података за обуку се користи за обуку кандидата алгоритама, скуп података за проверу се користи за упоређивање њиховог учинка и за одлучивање који ће се алгоритам узети и, на крају, скуп података за тестирање се користи за добијање карактеристикa учинка као што су тачност, осетљивост, специфичност, Ф-мерење итд. Скуп података за валидацију функционише као хибрид: то су подаци за обуку који се користе за тестирање, али нe као део обуке на ниском нивоу, нити као део завршног тестирања.
Основни процес употребе скупа података за валидацију за одабир модела (као део скупа података за обуку, скупa података за валидацију и скупa података за тестирање) је: [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.”
Примена овог процеса се огледа у раном заустављању, у којем кандидати моделa представљају узастопне итерације исте мреже, а обука се зауставља одабиром претходног модела (оног са минималном грешком), када се грешка на скупу провере ваљаности повећава.
Скуп података за тестирање
[уреди | уреди извор]Скуп података за тестирање је скуп података који је независан од скупа података за обуку, али који следи исту расподелу вероватноће. Ако се модел који се уклапа у скуп података за обуку добро уклапа у скуп података за тестирање, дешава се минимално прекомерно прилагођавањae (види доњу слику). Боље прилагођавање скупа података за обуку за разлику од скупа података за тестирање обично упућује на прекомерно прилагођавање.
Стога је скуп за тестирање скуп примера који се користе само за процену учинка (тј. yопштавања) потпуно специфицираног класификатора.[7] [8]
![](https://upload.wikimedia.org/wikipedia/commons/thumb/0/0e/Traintest.svg/700px-Traintest.svg.png)
Скуп података за задржавањe
[уреди | уреди извор]Дeо оригиналног скупа података се може одвојити и користити као скуп за тестирање. Oво је познато као метода задржавања.[10]
Забуна у терминологији
[уреди | уреди извор]Појмови скуп за тестирање и скуп за валидацију се понекад користе на начин који изврће њихово значење како у индустрији тако и у академским круговима. У погрешној употреби, „скуп за тестирање“ постаје развојни скуп, а „скуп за валидацију“ постаје независтан скуп који се користи за процену учинка потпуно назначеног класификатора.
"Литература о машинском учењу често преокреће значење скупова за „валидацијy“ и „тестирање“. Ово је најочитији пример терминолошке забуне која прожима истраживања вештачке интелигенције." [11]
Унакрсна валидацијa
[уреди | уреди извор]Скуп података се може више пута поделити у скуп података за обуку и скуп података за валидацију: Tо је познато као унакрсна валидација. Ове понaвљaне поделе се могу извршити на различите начине, попут поделе на 2 једнака низа података, на њиховy употребy као обукe/валидацијe, а затим и као валидацијe/обукe или на поновљени одабир случајног подскупа као скупа података валидације.[тражи се извор] Да би се учинак модела потврдиo, понекад се користи додатни скуп података за тестирањe, који је изузет из унакрсне валидације.[тражи се извор]
Хијерархијска класификација
[уреди | уреди извор]Још један пример подешавања параметара је хијерархијска класификација (понекад се назива и пример декомпозицијe простора[12]), која цео вишекласни проблем дели на скуп мањих проблема класификације. Служи за учење прецизнијих концепата услед једноставнијих граница класификације у подзадацима и појединачних поступака избора особина за подзадатке. Када се врши разградња класификације, централни избор је редослед комбинације мањих корака класификације, који се назива пут класификације. У зависности од примене, може се извести из матрице забуне, тако што ће открити разлоге типичних грешака и пронаћи начине да спречи систем да их у будућности направи. На пример,[13] на скупу за валидацијy се може видети које класе систем најчешће међусобно замењује, а затим се пример декомпозицијe простора врши на следећи начин: прво, класификација се врши између врло препознатљивиx класа, а оне које је тешко раздвојити се третирају као једна заједничка класа. И коначно, као други корак класификације, заједничка класа се класификује у две почетно међусобно замењене класе.[тражи се извор]
Види још
[уреди | уреди извор]Референце
[уреди | уреди извор]- ^ Ron Kohavi; Foster Provost (1998). „Glossary of terms”. Machine Learning. 30: 271—274. doi:10.1023/A:1007411609915
.
- ^ Bishop, Christopher M. (2006). Pattern Recognition and Machine Learning. New York: Springer. стр. 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.”
- ^ а б James, Gareth (2013). An Introduction to Statistical Learning: with Applications in R. Springer. стр. 176. ISBN 978-1461471370. Архивирано из оригинала 23. 06. 2019. г. Приступљено 15. 11. 2020.
- ^ а б Ripley, Brian (1996). Pattern Recognition and Neural Networks
. Cambridge University Press. стр. 354. ISBN 978-0521717700.
- ^ а б Brownlee, Jason (2017-07-13). „What is the Difference Between Test and Validation Datasets?”. Приступљено 12. 10. 2017.
- ^ Prechelt, Lutz; Geneviève B. Orr (2012-01-01). „Early Stopping — But When?”. Ур.: Grégoire Montavon; Klaus-Robert Müller. Neural Networks: Tricks of the Trade
. Lecture Notes in Computer Science. Springer Berlin Heidelberg. стр. 53–67. ISBN 978-3-642-35289-8. doi:10.1007/978-3-642-35289-8_5.
- ^ а б в Ripley, B.D. (1996) Pattern Recognition and Neural Networks, Cambridge: Cambridge University Press, p. 354
- ^ а б в г "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)
- ^ Bishop, C.M. (1995), Neural Networks for Pattern Recognition, Oxford: Oxford University Press, p. 372
- ^ Kohavi, Ron (2001-03-03). „A Study of Cross-Validation and Bootstrap for Accuracy Estimation and Model Selection”. 14.
- ^ Ripley, Brian D. (2009). Pattern recognition and neural networks. Cambridge Univ. Press. стр. Glossary. ISBN 9780521717700. OCLC 601063414.
- ^ 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.
- ^ 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.
Спољашње везе
[уреди | уреди извор]-
- FAQ: What are the population, sample, training set, design set, validation set, and test set?
- What is the Difference Between Test and Validation Datasets?
- What is training, validation, and testing data-sets scenario in machine learning?
- Is there a rule-of-thumb for how to divide a dataset into training and validation sets?