Допустим, у меня есть классификатор логистической регрессии. В обычном пакетном обучении я бы использовал термин регуляризатор, чтобы предотвратить переоснащение и сохранить вес небольшим. Я также нормализую и масштабирую свои функции.
В режиме онлайн обучения я получаю непрерывный поток данных. Я делаю обновление градиентного спуска с каждым примером и затем отбрасываю его. Должен ли я использовать понятие масштабирования и регуляризации в онлайн-обучении? Если да, как я могу это сделать? Например, у меня нет набора обучающих данных для сравнения. У меня также нет проверки для настройки параметра регуляризации. Если нет, то почему нет?
В своем онлайн-обучении я постоянно получаю поток примеров. Для каждого нового примера я делаю прогноз. Затем на следующем шаге времени я получаю фактическую цель и выполняю обновление градиентного спуска.
--power_t
и--initial_t
являются глобальными (не по функциям) независимыми опциями.--sgd
возвращается только к "классическому" SGD. IOW:--sgd
только отменяет--invariant
,--normalized
и--adaptive
(что подразумевает отдельную,В этой статье описывается методика онлайн-регуляризации, которую они применяют к различным алгоритмам, включая логистическую регрессию: http://ai.stanford.edu/~chuongdo/papers/proximal.pdf
источник
да, вам, безусловно, нужна регуляризация ... это также помогает градиентному спуску (и инициализирует скорость обучения до 1 / C)
см., например, документ SGD-QN http://leon.bottou.org/papers документы
Вы на самом деле не объяснили, что вы подразумеваете под онлайн-обучением: например, за каждую точку вы получаете целевое значение? Я не знаю, как бы вы включили ... поиск C ... Я думаю, у вас было бы несколько классификаторов с различными терминами регуляризации и отслеживания ошибки прогнозирования (до обновления весов)
источник