Regularización: ¿por qué multiplicar por 1 / 2m?

9

En las notas de la semana 3 de la clase Coursera Machine Learning de Andrew Ng , se agrega un término a la función de costos para implementar la regularización:

J+(θ)=J(θ)+λ2mj=1nθj2

Las notas de la conferencia dicen:

También podríamos regularizar todos nuestros parámetros theta en una sola suma:

minθ 12m [i=1m(hθ(x(i))y(i))2+λ j=1nθj2]

12m se aplica más tarde al término de regularización de las redes neuronales :

Recuerde que la función de costo para la regresión logística regularizada fue:

J(θ)=1mi=1m[y(i) log(hθ(x(i)))+(1y(i)) log(1hθ(x(i)))]+λ2mj=1nθj2

Para las redes neuronales, será un poco más complicado:

J(Θ)=1mi=1mk=1K[yk(i)log((hΘ(x(i)))k)+(1yk(i))log(1(hΘ(x(i)))k)]+λ2ml=1L1i=1slj=1sl+1(Θj,i(l))2
  • ¿Por qué se usa la mitad constante aquí? ¿Para que se cancele en la derivada ?J
  • ¿Por qué la división por ejemplos de entrenamiento? ¿Cómo afecta la cantidad de ejemplos de entrenamiento a las cosas?m
Tom Hale
fuente
¿está seguro de que 1 / m está en la regularización y no en la respuesta de J (theta) AFAIK @DikranMarsupial es hacer esa suposición ... o J (theta) tiene un término de 1 / m?
seanv507
Esa suposición es incorrecta: se aplica tanto a la función de costo no regularizado como al término de regularización. He actualizado la pregunta para dar las fórmulas completas. 12m
Tom Hale

Respuestas:

5

Supongamos que tiene 10 ejemplos y no divide un costo de regularización L2 por el número de ejemplos m . Entonces, un "dominio" del costo de regularización L2 en comparación con un costo de entropía cruzada será como 10: 1, porque cada ejemplo de entrenamiento puede contribuir al costo total proporcionalmente a 1 / m = 1/10.

Si tiene más ejemplos, digamos, 100, entonces el "dominio" del costo de regularización L2 será algo así como 100: 1, por lo que debe disminuir un λ en consecuencia, lo cual es inconveniente. Es mejor tener λ constante independientemente del tamaño del lote.

Actualización: para hacer este argumento más fuerte, creé un cuaderno jupyter .

grez
fuente
1
Hmm, pero ¿no es el propósito del factor 1 / m antes de la función de costo que cada ejemplo de entrenamiento contribuya igualmente al costo? Entonces, dado que ya estamos promediando los costos individuales, esto no debería ser la causa del dominio del término L2. Sin embargo, veo en su gran simulación que el factor 1 / m también antes del término L2 ayuda. Simplemente no entiendo la intuición detrás de esto (todavía).
Milania
¿Por qué es inconveniente? Es simple dividir el costo de L2 por el número de muestras. Creo que tal vez lo expresaste de la manera incorrecta. Creo que quisiste decir que es inconveniente escalar manualmente el costo L2 cada vez, es mejor dividirlo por el número de muestras como parte de la fórmula para escalarlo automáticamente.
SpaceMonkey
6

La función de pérdida en el conjunto de entrenamiento es generalmente una suma sobre los patrones que comprenden el conjunto de entrenamiento, de modo que a medida que el conjunto de entrenamiento se hace más grande, el primer término escala esencialmente linealmente con . Podemos reducir un poco el rango de búsqueda para un buen valor de si primero dividimos el término de regularización por para compensar la dependencia de de . El 2, por supuesto, está en el denominador para simplificar las derivadas necesarias para el algoritmo de optimización utilizado para determinar la óptima .m λ m J ( θ ) m θJ(θ)mλmJ(θ)mθ

Dikran Marsupial
fuente
Gracias por explicar la escala de costos no regularizada con . Todavía no entiendo cómo dividir por ayudará a que un solo valor funcione mejor con valores muy diferentes de . El costo no regularizado ya depende en gran medida de , entonces, ¿por qué preocuparse por el término de regularización que depende de parámetros, no de ejemplos? ¿Es porque con más ejemplos de entrenamiento, la varianza disminuirá dada la misma cantidad de parámetros? m λ m m n mmmλmmnm
Tom Hale
La función de pérdida en la pregunta es un promedio sobre todos los ejemplos (es decir, se divide entre m), no una suma, por lo que realmente no veo cómo funciona esta respuesta.
Denziloe
@Denziloe también se aplica al término de regularización.
Dikran Marsupial
2

Me pregunté exactamente lo mismo cuando tomé este curso, y terminé investigando esto un poco. Daré una respuesta breve aquí, pero puedes leer una descripción más detallada en una publicación de blog que escribí sobre ella .

Creo que al menos parte de la razón de esos coeficientes de escala es que la regularización L² probablemente entró en el campo del aprendizaje profundo a través de la introducción del concepto relacionado, pero no idéntico, de la pérdida de peso.

El factor 0.5 está ahí para obtener un buen coeficiente de solo λ para la disminución de peso en el gradiente, y la escala por m ... bueno, hay al menos 5 motivaciones diferentes que he encontrado o se me ocurrió:

  1. Un efecto secundario del descenso de gradiente por lotes: cuando se formaliza una sola iteración de descenso de gradiente en todo el conjunto de entrenamiento, lo que resulta en el algoritmo a veces llamado descenso de gradiente por lotes, el factor de escala de 1 / m, introducido para hacer que la función de costo sea comparable en conjuntos de datos de diferentes tamaños, se aplica automáticamente al término de pérdida de peso.
  2. Cambie la escala al peso de un solo ejemplo: vea la intuición interesante de grez.
  3. Representatividad del conjunto de capacitación: tiene sentido reducir la regularización a medida que aumenta el tamaño del conjunto de capacitación, ya que estadísticamente, también aumenta su representatividad de la distribución general. Básicamente, cuantos más datos tengamos, menos se necesita regularización.
  4. Hacer que λ sea comparable: con la esperanza de mitigar la necesidad de cambiar λ cuando m cambia, esta escala hace que λ sea comparable en conjuntos de datos de diferentes tamaños. Esto hace que λ sea un estimador más representativo del grado real de regularización requerido por un modelo específico sobre un problema de aprendizaje específico.
  5. Valor empírico: el gran portátil grezdemuestra que esto mejora el rendimiento en la práctica.
ShayPal5
fuente
0

También estaba confundido acerca de esto, pero luego en una conferencia para profundizar el aprendizaje. Andrew sugiere que esto es solo una constante de escala:

http://www.youtube.com/watch?v=6g0t3Phly2M&t=2m50s

Quizás haya una razón más profunda para usar 1 / 2m, pero sospecho que es simplemente un hiperparámetro.

Keyan P
fuente
Esto no responde la pregunta.
Michael R. Chernick