Digamos que tengo un clasificador de regresión logística. En el aprendizaje por lotes normal, tendría un término regularizador para evitar el sobreajuste y mantener mis pesos pequeños. También normalizaría y escalaría mis características.
En un entorno de aprendizaje en línea, obtengo un flujo continuo de datos. Hago una actualización de descenso de gradiente con cada ejemplo y luego la descarto. ¿Se supone que debo usar el término de escala y regularización de funciones en el aprendizaje en línea? En caso afirmativo, ¿cómo puedo hacer eso? Por ejemplo, no tengo un conjunto de datos de entrenamiento para escalar. Tampoco tengo la validación configurada para ajustar mi parámetro de regularización. Si no, ¿por qué no?
En mi aprendizaje en línea, recibo una corriente de ejemplos continuamente. Para cada nuevo ejemplo, hago una predicción. Luego, en el siguiente paso, obtengo el objetivo real y hago la actualización de descenso de gradiente.
--power_t
y--initial_t
son opciones independientes globales (no por función).--sgd
solo vuelve al SGD "clásico". IOW:--sgd
solo cancela--invariant
,--normalized
y--adaptive
(lo que implica tasas de aprendizaje separadas por función)Este documento describe una técnica para la regularización en línea que aplican a varios algoritmos, incluida la regresión logística: http://ai.stanford.edu/~chuongdo/papers/proximal.pdf
fuente
sí, ciertamente necesita regularización ... también ayuda a la pendiente del gradiente (e inicializa la tasa de aprendizaje a 1 / C)
ver, por ejemplo, el documento SGD-QN http://leon.bottou.org/papers papeles de bottou
usted realmente no ha explicado lo que quiere decir con aprendizaje en línea: por ejemplo, para cada punto, ¿obtiene el valor objetivo? No sé cómo incorporaría ... buscando C ... Supongo que tendría varios clasificadores con diferentes términos de regularización y rastrearía el error de predicción (antes de actualizar los pesos)
fuente