Supongamos que estamos en la siguiente situación. Tenemos algunos datos , donde cada puede ser un número o un vector, y nos gustaría determinar una función que se aproxime a la relación , en el sentido de que los mínimos cuadrados error:{xi,yi}xiff(xi)≈yi
12∑i(yi−f(xi))2
es pequeño.
Ahora, entra la pregunta de qué nos gustaría que fuera el dominio de . Una opción degenerada para el dominio son solo los puntos en nuestros datos de entrenamiento. En este caso, podemos definir , cubriendo todo el dominio deseado, y terminar con él. Una forma aproximada de llegar a esta respuesta es haciendo un descenso de gradiente con este espacio discreto como dominio. Esto requiere un poco de cambio en el punto de vista. Veamos la pérdida como una función del punto verdadero y la predicción (por el momento, no es una función, sino solo el valor de la predicción)ff(xi)=yy ff
L(f;y)=12(y−f)2
y luego tomar el gradiente con respecto a la predicción
∇fL(f;y)=f−y
Entonces la actualización de gradiente, comenzando desde un valor inicial de esy0
y1=y0−∇f(y0,y)=y0−(y0−y)=y
Así que recuperamos nuestra predicción perfecta en un paso de gradiente con esta configuración, ¡lo cual es bueno!
El defecto aquí es, por supuesto, que queremos que se defina en mucho más que solo nuestros puntos de datos de entrenamiento. Para hacer esto, debemos hacer algunas concesiones, ya que no podemos evaluar la función de pérdida, o su gradiente, en ningún punto que no sea nuestro conjunto de datos de entrenamiento. f
La gran idea es débilmente aproximada . ∇L
Start
con una suposición inicial en , casi siempre una función constante simple , esto se define en todas partes. Ahora genere un nuevo conjunto de datos de trabajo evaluando el gradiente de la función de pérdida en los datos de entrenamiento, utilizando la suposición inicial para :ff(x)=f0f
W={xi,f0−y}
Now approximate
∇L encajando débil aprende a . Decimos que obtenemos la aproximación . Hemos obtenido una extensión de los datos en todo el dominio en forma de , aunque hemos perdido precisión en los puntos de entrenamiento, ya que nos adaptamos a un pequeño alumno.WF≈∇LWF(X)
Finally
, use en lugar de en la actualización de gradiente de en todo el dominio:F∇Lf0
f1(x)=f0(x)−F(x)
Salimos de , una nueva aproximación de , un poco mejor que . Comienza de nuevo con e itera hasta que estés satisfecho.f1ff0f1
Con suerte, verá que lo realmente importante es aproximar el gradiente de la pérdida. En el caso de la minimización de mínimos cuadrados, esto toma la forma de residuos en bruto, pero en casos más sofisticados no. Sin embargo, la maquinaria todavía se aplica. Mientras se pueda construir un algoritmo para calcular la pérdida y el gradiente de pérdida en los datos de entrenamiento, podemos usar este algoritmo para aproximar una función que minimice esa pérdida.