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

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

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

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

редактировать

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

  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

редактировать

Я могу получить среднюю ошибку 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 ответов


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

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, который применяется к набору поездов. Тестовый набор: используется для поиска максимальной точности и невидимых данных в будущем.