2015-08-05 4 views
2

У меня очень простой вопрос. Когда мы выполняем градиентный спуск с параметрами регуляризации типов $ L_1 $ и/или $ L_2 $, а именно: расширение функции потерь $ L $ сОценка значения множителей типа L1 и L2

$$ L_r = L + l_1 \ sum_i | \ pi_i | + l_2 \ sum_j || \ pi_j ||^2 $$

Почему мы не включаем переменные $ l_1 $ и $ l_2 $ в правило обновления градиентного спуска?

+0

Может быть, я не понял ваш вопрос, но если вы хотите добавить термин упорядочению к вашей функции затрат вы увидите его в градиентных правилах обновления спуска. И вы увидите его с параметром l1 или l2, этот параметр устанавливает компромисс между необходимой точностью классификации на тестовом наборе и нормой веса. Например, этот параметр называется лямбдой здесь http://dudarev.com/wiki/ml-class-logistic-regression.html –

+0

Вопрос в том, почему мы оптимизируем условия l1 и l2 внутри градиента приличным? Я предполагаю, что это будет всегда возвращать значения l1 и l2 = 0, но я не уверен. – emanuele

ответ

1

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

Но вы можете сделать grid search