¿Qué son la función de descenso de gradiente y costo en la regresión logística?

  1. La pendiente de gradiente es un proceso iterativo para calcular los coeficientes de peso [matemática] w [/ matemática], que minimizan la función de costo [matemática] J (w) [/ matemática], es decir, la suma de los errores al cuadrado entre real ([matemática] y [/ matemática] ]) y etiquetas predichas ([matemáticas] h (w ^ Tx) [/ matemáticas]) es decir, [matemáticas] J (w) = \ frac {1} {2m} \ sum ^ {m} (yh (w ^ Tx) ) ^ 2 [/ math], donde [math] h (z) [/ math] es la función de hipótesis, [math] m [/ math] es el número de muestras. En caso de regresión logística, [matemáticas] h (z) = \ frac {1} {1 + e ^ {- z}} [/ matemáticas]
  2. Para que el Descenso de degradado converja al mínimo global, tiene que ser una función convexa. Pero, arriba [math] J (w) [/ math] será una función cóncava.
  3. Entonces, remodelamos la función de costo para la regresión logística como [matemáticas] J (w) = \ frac {1} {2m} \ sum ^ {m} y \ log (h (w ^ Tx)) + (1-y) \ log (1-h (w ^ Tx)) [/ math], por lo que será una función convexa que satisfaga todas las restricciones.

Consulte los tutoriales de Andrew Ng Machine Learning para obtener más detalles.

Un uso típico de la regresión logística es la clasificación, que asigna un conjunto de variables a una clase desde un conjunto predefinido de clases. Al aplicar una entrada a los parámetros del modelo, el modelo selecciona la clase de la entrada.

Desea entrenar su modelo para clasificar con el menor error posible. La función de costo cuantifica el error, ya que compara la respuesta del modelo con la respuesta correcta. El descenso de gradiente es un algoritmo de aprendizaje que, dado el valor de la función de costo / pérdida, encuentra nuevos valores para los parámetros que dan como resultado un error menor. El descenso proviene de minimizar el error. La parte de gradiente se refiere a cómo el algoritmo actualiza los parámetros del modelo en cada paso de entrenamiento. La actualización se basa en el gradiente de la función de costo wrt para cada parámetro. El gradiente es la primera derivada parcial de la función de pérdida wrt a un parámetro.

Supongamos que sus datos se componen de ejemplos, cada uno de los cuales consta de 2 variables independientes (por ejemplo, x1, x2) y una etiqueta de clase y. Su modelo de regresión logística proporciona un parámetro para cada indep. variable (por ejemplo, theta1, theta2).

La respuesta de su modelo h (X, Theta) es una función de xy los parámetros.

Su función de pérdida es una medida de distancia entre h y la respuesta correcta y. Si probara todas las combinaciones de parámetros diferentes para una sola muestra de datos, obtendría una superficie, donde la altura en cada punto le indica qué tan equivocado está su modelo si usa ese conjunto de parámetros. Debe seleccionar el punto más bajo en esa superficie. Una búsqueda exhaustiva del punto más bajo no es factible. Por lo tanto, optamos por un algoritmo como el aprendizaje de descenso que comenzará en una ubicación aleatoria en esta superficie inexplorada y lo exploraremos dando pasos iterativos en la dirección con mayor descenso. Calcula la pendiente a lo largo de cada eje en esta superficie y va en la dirección de donde disminuye la pérdida.

Función de costo de regresión logística

La regresión logística encuentra una estimación que minimiza la función de costo logístico inverso.

[matemáticas] J (\ theta) = – \ frac {1} {m} \ sum_ {i = 1} ^ {m} y ^ {i} \ log (h_ \ theta (x ^ {i})) + ( 1-y ^ {i}) \ log (1-h_ \ theta (x ^ {i})) \ tag {2} [/ math]

Donde [math] h _ {\ theta} (x) [/ math] se define de la siguiente manera,

[matemáticas] h _ {\ theta} (x) = \ frac {1} {1 + e ^ {- \ theta (x)}} \ tag {3} [/ matemáticas]

Para comprender mejor la función de costo anterior, consulte el siguiente diagrama.

y = etiqueta real (se necesita 0 para clase negativa y 1 es clase positiva)

[matemáticas] h _ {\ theta} (x) [/ matemáticas] = Probabilidades predichas por regresión logística.

Si una etiqueta real de un punto de datos en particular ([matemática] y (x_ {i}) [/ matemática]) es cero, entonces el costo de la función logística estará dado por un gráfico verde. Si una etiqueta real de un punto de datos en particular [matemática] (y (x_ {i})) [/ matemática] es una, entonces el costo de la función logística se dará mediante un gráfico rojo.

Muestra que, si una etiqueta real de un punto de datos particular [matemática] (y (x_ {i})) [/ matemática] es cero y la probabilidad predicha de [matemática] x_ {i} [/ matemática] es una, entonces el costo de la función logística será muy alto. Del mismo modo, si una etiqueta real de un punto de datos particular [matemática] (y (x_ {i})) [/ matemática] y la probabilidad predicha de [matemática] x_ {i} [/ matemática] son ​​iguales, entonces el costo de una función logística será cero. Entonces, necesitamos encontrar una estimación ([matemática] \ hat {\ beta} [/ matemática]) de tal manera que la función de costo tenga que ser mínima.

El gráfico anterior muestra que la función de costo logístico es una función de costo convexa, por lo que no debemos preocuparnos por el mínimo local. Pero, no es posible encontrar un punto mínimo global utilizando una solución de forma cerrada como regresión lineal ([math] \ hat \ beta = (X ^ TX) ^ {- 1} X ^ Ty [/ math]) porque la función sigmoidea es no lineal

Algoritmo de descenso de gradiente

Podemos utilizar muchos algoritmos de optimización como el descenso de gradiente, el gradiente conjugado, BFGS para encontrar el punto mínimo global, que no es más que una estimación de [math] \ beta [/ math]. Entre esos algoritmos, el más popular es el algoritmo de descenso de gradiente. No encuentra una estimación en un solo paso como la regresión. Mueve el valor estimado hacia óptimo de forma iterativa. Necesitamos elegir el tamaño de paso adecuado para el algoritmo de gradiente, que decide la cantidad de iteración requerida para que nuestra estimación converja en el punto óptimo. Es un parámetro de ajuste importante para un algoritmo. Un tamaño de paso demasiado pequeño hará que la convergencia del algoritmo sea más lenta. Del mismo modo, un tamaño de paso demasiado grande puede omitir el punto óptimo. Algunos de los algoritmos de optimización avanzados como BFGS encuentran el tamaño de paso óptimo por sí mismo.

El descenso de gradiente es el método de optimización, que sirve para maximizar la función de costo. Y puede utilizar tres métodos de descenso de gradiente, a saber, el descenso de gradiente estocástico (SGD), el ascenso coordinado (CA) o el método de mini lotes. La actualización para cada parámetro de una característica es: [matemática] (y_i – p_i) x_ {ij} [/ matemática] para SGD, [matemática] \ sum_i (y_i – p_i) x_ {ij} [/ matemática] para CA. Y la función de costo es la probabilidad condicional de registro. Cuando el estimador cumple la condición de optimización, dicha ecuación tendrá: [math] \ sum_i y_i x_ {ij} = \ sum_i p_i x_ {ij} [/ math]. (i es el índice del ejemplo u observación, j es el índice de la característica, x es la variable independiente, y es la variable dependiente)

Espero tener razón. Si no, por favor ayuda a resolverlo. Gracias.

Mi publicación de blog puede responder a tu pregunta

Inicio | Srishti Sawla

Este tutorial cubre la parte matemática, así como la implementación en Python: Regresión logística con TensorFlow

El valor de retorno de la función de costo que representa el rendimiento de su modelo. Es como una función que le da la cantidad de tasa de error.

Para encontrar el modelo óptimo que tiene una tasa de error mínima (función de costo), usamos el descenso de gradiente.