В чем разница между поездом, валидацией и набором тестов в нейронных сетях?


Я использую библиотека для реализации обучения агентов.

Я создал обучающие случаи, но я не знаю точно, что такое наборы проверки и тестирования.
Учитель говорит:

70% должны быть случаи тренировки, 10% будут тестовыми случаями и остальные 20% должны быть случаями утверждения.

edit

у меня есть этот код для обучения, но я понятия не имею, когда остановка обучение.

  def train(self, train, validation, N=0.3, M=0.1):
    # N: learning rate
    # M: momentum factor
    accuracy = list()
    while(True):
        error = 0.0
        for p in train:
            input, target = p
            self.update(input)
            error = error + self.backPropagate(target, N, M)
        print "validation"
        total = 0
        for p in validation:
            input, target = p
            output = self.update(input)
            total += sum([abs(target - output) for target, output in zip(target, output)]) #calculates sum of absolute diference between target and output

        accuracy.append(total)
        print min(accuracy)
        print sum(accuracy[-5:])/5
        #if i % 100 == 0:
        print 'error %-14f' % error
        if ? < ?:
            break

edit

Я могу получить среднюю ошибку 0,2 с данными проверки, после, возможно, 20 итераций обучения, что должно быть 80%?

средняя ошибка = сумма абсолютной разницы между целью проверки и выходом, учитывая ввод данных проверки / размер данных проверки.

1
        avg error 0.520395 
        validation
        0.246937882684
2
        avg error 0.272367   
        validation
        0.228832420879
3
        avg error 0.249578    
        validation
        0.216253590304
        ...
22
        avg error 0.227753
        validation
        0.200239244714
23
        avg error 0.227905    
        validation
        0.199875013416
4 101

4 ответа:

наборы обучения и проверки используются во время обучения.

for each epoch
    for each training data instance
        propagate error through the network
        adjust the weights
        calculate the accuracy over training data
    for each validation data instance
        calculate the accuracy over the validation data
    if the threshold validation accuracy is met
        exit training
    else
        continue training

после того, как вы закончите обучение, то вы запустите против вашего набора тестирования и убедитесь, что точность достаточна.

Обучающий Набор: этот набор данных используется для настройки весов нейронной сети.

Проверки: этот набор данных используется для минимизации переобучения. Вы не корректируете вес сети с помощью этого набора данных, вы просто проверка того, что любое увеличение точности по набору обучающих данных фактически приводит к увеличению точности по набору данных, который ранее не был показан сети, или, по крайней мере, сеть не обучалась на нем (т. е. набор данных проверки). Если точность по набору данных обучения увеличивается, но точность по набору данных проверки остается прежней или уменьшается, то вы перекрываете свою нейронную сеть, и вы должны прекратить обучение.

Тестирование Набор: это набор данных используется только для тестирования конечного решения с целью подтверждения фактической прогностической мощности сети.

обучающий набор: набор примеров, используемых для обучения, то есть, чтобы соответствовать параметры [т. е. веса] классификатора.

проверки: Набор примеров, используемых для настройки параметров [т. е. архитектуры, а не Весов] классификатора, например, для выбора количества скрытых единиц в нейронной сети.

набор перекрестной проверки используется для выбора модели, например, выберите полиномиальную модель с наименьшим количеством ошибок для данного набора параметров. Затем тестовый набор используется для сообщения об ошибке обобщения для выбранной модели. Отсюда: https://www.coursera.org/learn/machine-learning/lecture/QGKbr/model-selection-and-train-validation-test-sets

в простых словах определить набор обучения, набор тестов, набор проверки

обучающий набор: используется для поиска ближайших соседей. Набор проверки: предназначен для поиска различных k, которые применяются к набору поездов. Тестовый набор: используется для поиска максимальной точности и невидимых данных в будущем.