machine learning - rapido - ¿Puede alguien explicarme la diferencia entre una función de costo y la ecuación de gradiente de descenso en la regresión logística?
metodo del gradiente inteligencia artificial (2)
Cada vez que entrene un modelo con sus datos, en realidad está produciendo algunos valores nuevos (pronosticados) para una característica específica. Sin embargo, esa característica específica ya tiene algunos valores que son valores reales en el conjunto de datos. Sabemos que cuanto más cerca estén los valores predichos de sus valores reales correspondientes, mejor será el modelo.
Ahora, estamos usando la función de costos para medir qué tan cerca están los valores predichos de sus valores reales correspondientes.
También debemos considerar que los pesos del modelo entrenado son responsables de predecir con precisión los nuevos valores. Imagine que nuestro modelo es y = 0.9 * X + 0.1, el valor predicho no es más que (0.9 * X + 0.1) para diferentes Xs. [0.9 y 0.1 en la ecuación son solo valores aleatorios para entender.]
Entonces, al considerar Y como el valor real correspondiente a esta x, la fórmula del costo viene a medir cuán cerca (0.9 * X + 0.1) es Y.
Somos responsables de encontrar el mejor peso (0.9 y 0.1) para que nuestro modelo tenga el costo más bajo (o valores más cercanos a los reales).
El descenso de gradiente es un algoritmo de optimización (tenemos algunos otros algoritmos de optimización) y su responsabilidad es encontrar el valor de costo mínimo en el proceso de probar el modelo con diferentes pesos o, de hecho, actualizar los pesos.
Primero ejecutamos nuestro modelo con algunos pesos iniciales y el descenso de gradiente actualiza nuestras ponderaciones y encontramos el costo de nuestro modelo con esos pesos en miles de iteraciones para encontrar el costo mínimo.
Un punto es que el descenso de gradiente no está minimizando los pesos, solo los está actualizando. Este algoritmo busca un costo mínimo.
Estoy estudiando ML Class en Coursera sobre Regresión logística y también Manning Book Machine Learning in Action. Estoy tratando de aprender implementando todo en Python.
No puedo entender la diferencia entre la función de costo y el gradiente. Hay ejemplos en la red donde las personas calculan la función de costo y luego hay lugares donde no lo hacen y simplemente van con la función de descenso de gradiente w :=w - (alpha) * (delta)w * f(w)
.
¿Cuál es la diferencia entre los dos si hay alguno?
Una función de costo es algo que desea minimizar. Por ejemplo, su función de costo puede ser la suma de errores cuadrados sobre su conjunto de entrenamiento. El descenso de gradiente es un método para encontrar el mínimo de una función de múltiples variables. De modo que puede usar el descenso de gradiente para minimizar su función de costo. Si su costo es una función de las variables K, entonces el gradiente es el vector de longitud K que define la dirección en la que el costo aumenta más rápidamente. Por lo tanto, en el descenso gradual, sigue el negativo del gradiente hasta el punto en que el costo es mínimo. Si alguien está hablando de un descenso gradual en un contexto de aprendizaje automático, la función de costo probablemente esté implícita (es la función a la que está aplicando el algoritmo de descenso de gradiente).