Регуляризация

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

Как работает регуляризация?

Допустим, я использую логистическую регрессию, поэтому моя функция затрат определяется как:

Чтобы добавить регуляризацию к логистической регрессии, вы добавляете \Lambda, который называется параметром регуляризации.

Почему же мы регуляризируем только параметр w? почему бы вам не добавить что-нибудь сюда еще и о б. т.е. предвзятости? На практике вы могли бы сделать это, но я на самом деле опускаю это. Потому что, если вы посмотрите на свои параметры, w обычно является довольно многомерным вектором параметров, особенно с проблемой высокой дисперсии. Может быть, у w просто много параметров, так что вы не подходите под все параметры, тогда как b — просто действительное число. Таким образом, почти все параметры находятся в w, а не в b, и если вы добавите этот последний член на практике, это не будет иметь большого значения, потому что b — это всего лишь один параметр из очень большого числа параметров.

Почему регуляризация уменьшает переоснащение?

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

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