En el aprendizaje automático, ¿cómo estima el descenso de gradiente la pendiente de la función de pérdida en un punto dado?

Exactamente de la misma manera.

La función de pérdida está dada. De hecho, lo elegiste. En el caso del error cuadrático medio (MSE), se parece mucho al ejemplo que dio, pero posiblemente con una regla de cadena muy desordenada.

Un algoritmo de aprendizaje automático generalmente aprende alguna función, [matemática] h [/ matemática], desde la entrada [matemática] x_i [/ ​​matemática] a una aproximación de [matemática] y_i [/ ​​matemática]. Esa función depende de los pesos aprendidos del modelo, [math] \ Theta [/ math], por lo que lo llamaremos [math] h_ \ Theta [/ math].

Volviendo a esa función de pérdida que mencioné, llamándola [matemáticas] L (\ Theta, X, Y) [/ matemáticas]

[matemáticas] \ displaystyle L (\ Theta, X, Y) = \ frac {1} {N} \ sum_ {i = 1} ^ N (h_ \ Theta (x_i) -y_i) ^ 2 [/ matemáticas]

Queremos su derivada con respecto a [matemáticas] \ Theta [/ matemáticas]

[matemáticas] \ displaystyle \ frac {\ partial L (\ Theta, X, Y)} {\ partial \ Theta} [/ math]

[matemáticas] \ displaystyle \ frac {\ partial} {\ partial \ Theta} \ frac {1} {N} \ sum_ {i = 1} ^ N (h_ \ Theta (x_i) -y_i) ^ 2 [/ matemáticas]

Al aplicar la regla de la cadena

[matemáticas] \ displaystyle = \ frac {1} {N} \ sum_ {i = 1} ^ N 2 * (h_ \ Theta (x_i) -y_i) * \ frac {\ partial h_ \ Theta (x_i)} {\ parcial \ Theta} [/ math]

Entonces necesitas calcular

[matemáticas] \ displaystyle \ frac {\ partial h_ \ Theta (x_i)} {\ partial \ Theta} [/ math]

para cada [matemática] x_i [/ ​​matemática]. Eso depende del modelo particular que estés construyendo. En regresión lineal, es bastante sencillo. Recomiendo probarlo en papel en lugar de buscarlo. No te preocupes si te lleva un tiempo. Eso es totalmente normal. Valdrá la pena.

Para modelos más complicados, es posible que necesitemos utilizar métodos como la propagación hacia atrás como lo hacemos para las redes neuronales. No te preocupes por eso todavía. Si puede calcular la derivada para la regresión lineal, encontrará que la propagación hacia atrás no será tan complicada.

Como señala Connor Davis … por lo general, puede usar algunos cálculos de la escuela secundaria (regla de la cadena, etc.) para elaborar una fórmula para la primera derivada. Si olvidó estas reglas, puede usar una herramienta como Mathematica para resolverlo por usted.

Los marcos modernos como TensorFlow lo hacen automáticamente. Usted especifica la función de pérdida, y utiliza algo como Mathematica internamente para descubrir la fórmula para la primera derivada.

Sin embargo, en realidad no es tan simple para métodos más simples, como un SVM con regularización L1. Aquí, la función L1 | x | no tiene una primera derivada única, y necesita un método especializado que pueda decir manejar subgraduados, como un método de punto interior, un solucionador de paquetes, etc. Se ha investigado mucho para hacer solucionadores L1 muy rápidos que también den el correcto responder.

More Interesting

Al entrenar una red neuronal, ¿es común tener un tamaño de paso diferente para los parámetros en cada capa y las compensaciones al realizar el Descenso de gradiente?

¿Qué es un modelo de mezcla de Bernoulli?

Cómo interpretar los resultados de un análisis de PCA

En Tensorflow: ¿qué tipo de red neuronal debo usar?

¿Cuál es la definición de 'conjunto de desarrollo' en el aprendizaje automático?

¿Cómo funciona el sistema de recomendación de filtrado basado en contenido por word2vec usando etiquetas?

Estamos viendo el comienzo de las máquinas que pueden codificar. ¿Aprender un lenguaje de programación aún sería útil en la carrera de ML?

¿Qué es una transformación de características en el aprendizaje automático?

¿Qué tan cerca estamos de poder crear máquinas autorreplicantes que puedan replicarse utilizando minerales que se encuentran en el espacio exterior?

¿Cuáles son algunos problemas de aprendizaje automático que están más allá del poder de scikit-learn para resolver?

¿Cómo aprendió Ajit Rajasekharan tanta PNL?

¿Cuáles son las buenas heurísticas para elegir el tamaño de un lote en el entrenamiento de la red neuronal?

Cómo leer esta arquitectura de red neuronal convolucional

¿Cómo puedo comparar diferentes arquitecturas de redes neuronales sin entrenarlas durante semanas? ¿Hay alguna forma práctica de verificar si las redes merecen la capacitación completa o no?

¿Cuál es la derivación matemática de la regresión logística?