Я только что узнал о регуляризации как о подходе к управлению перетеканием, и я хотел бы включить эту идею в простую реализацию обратного распространения и многослойного персептрона (MLP), которую я собрал.
В настоящее время, чтобы избежать чрезмерной подгонки, я проверяю и сохраняю сеть с лучшими показателями на данный момент по набору проверки. Это работает нормально, но добавление регуляризации помогло бы мне в том, что правильный выбор алгоритма регуляризации и параметра заставил бы мою сеть более систематически сходиться на модели, отличной от наложения.
Формула, которую я имею для термина обновления (из курса Coursera ML), указывается как пакетное обновление, например, для каждого веса, после суммирования всех применимых дельт для всего тренировочного набора по распространению ошибок lambda * current_weight
добавляется также корректировка перед комбинированным дельта вычитается в конце пакета, где lambda
находится параметр регуляризации.
Моя реализация backpropagation использует обновления веса для каждого элемента. Я обеспокоен тем, что не могу просто скопировать пакетный подход, хотя он выглядит интуитивно понятным для меня. Работает ли меньший срок регуляризации для каждого элемента так же хорошо?
Например, lambda * current_weight / N
где N - размер тренировочного набора - на первый взгляд это выглядит разумно. Я не смог найти ничего по этому вопросу, и мне интересно, если это потому, что регуляризация не работает так хорошо с обновлением для каждого элемента, или даже идет под другим именем или измененной формулой.