¿Cuál es el descenso de gradiente

descenso de gradiente (pendiente de descenso GD) es simplemente una función de destino se reduce al mínimo para encontrar un método, que utiliza la información de gradiente para encontrar un objetivo adecuado a través de parámetro de ajuste iterativo continua. Este artículo presentará su principio y su aplicación.

¿Cuál es la pendiente?

En la introducción de un gradiente, que se puede dividir en cuatro conceptos: derivado - "derivada parcial -" derivada direccional - "gradiente.

Derivado de : una función se define en el dominio del tiempo y los valores del dominio de número real, el derivado puede representar la pendiente de la curva de la función tangente.

Las derivadas parciales : la derivada parcial es en realidad la derivada parcial de la función de una función multivariante multivariante es su derivada con respecto a una variable, mientras se mantiene otro constante variables. Debido a que cada punto tiene un número infinito de tangente en la superficie curvada, describir la derivada de la función es muy difícil. derivada parcial se selecciona en el que la tangente, y se determina su pendiente. La significación es una superficie de fijación pendiente punto tangente geométrica.

De la función de variación gota dimensión de tiempo, tal como una función binaria fija y, por lo que sólo un único x cambia, por lo que cambia a un yuan como una función de x a estudio.

[Oficial]Se refiere a una función en la dirección y es constante, la tasa de valores de la función de cambio a lo largo de la dirección del eje x,

[Oficial]Se refiere a una función en la dirección x no se cambia, la relación de cambio de la función a lo largo de la dirección del eje y

Sin embargo, las derivadas parciales tienen la desventaja de que sólo representa la tasa de cambio en la función de polihídrico eje de coordenadas dirección, pero una gran cantidad de tiempo para considerar la tasa de cambio en cualquier función multivariable dirección, por lo que es la derivada direccional.

derivada direccional : derivado en una dirección determinada, es esencialmente una numerosa pendiente de definición de función de la tangente en el punto A, y cada uno representa una dirección tangencial, cada dirección es bien guía números.

Gradiente : Gradiente es un vector, la derivada direccional en la dirección de su más grande, el cambio más rápido es una función de la dirección del gradiente en este punto, la velocidad máxima de cambio.

Así que paso a paso en el aprendizaje de máquina, la solución de una iteración de optimización, a menudo usando el gradiente a lo largo de la dirección del vector gradiente es el más rápido, más fácil encontrar el valor máximo de los aumentos de función de función, a su vez, a lo largo del vector gradiente opuesto lugar, reduciendo el gradiente de los más rápidos, más fáciles de encontrar el mínimo.

¿Cuál es el descenso de gradiente

Por ejemplo común: se pone de pie en el algún lugar de la montaña, que quiere bajar de la montaña, tan pronto como sea posible, por lo que decidió dar un paso, es decir, cuando cada uno se fue a una posición resuelto posición actual del gradiente en la dirección negativa de la pendiente, que es el actual la más baja precipitada marcha, ir hasta el final, el pie es probable que lleguen a la etapa, pero una montaña local más bajo. Como se muestra a continuación:

1584274080296

Por encima, podemos resumir: método de descenso de gradiente es resolver el mínimo en la dirección del gradiente descendente a lo largo de la dirección de ascenso gradiente máximo se puede obtener, este método se llama gradiente de ascenso.

En el mapa se puede ver: el punto de partida se ve afectada y características de la función de la diana, el descenso de gradiente es una solución global óptima, puede ser sólo una solución óptima parcial, entonces cuando pude conseguir la solución global óptima no necesariamente encontrar? Esta función está relacionada con la pérdida cuando la función de pérdida es una función convexa, se puede encontrar el óptimo global.

Algunos conceptos importantes

De acuerdo con el principio de la solución del descenso de gradiente se ha mencionado anteriormente, es necesario entender algunos conceptos importantes como el descenso de gradiente relacionadas con:

Paso (tasa de aprendizaje): la dirección de la longitud de la línea de meta en frente de cada descenso de gradiente paso, por la montaña con el ejemplo anterior, el tamaño de paso está caminando a lo largo de la mayor pendiente cuesta abajo de la posición más vulnerable en la ubicación actual que esta longitud de paso a paso .

Supongamos que la función (función de hipótesis) : En supervisado de aprendizaje, con el fin de adaptarse a las muestras de entrada, y asumiendo la función de uso general H () representa, para un modelo de regresión lineal, suponiendo que la función es la función
\ [Y = w_0 + W_1X1 + W_2X2 +. .. + W_nX_n \]
función de pérdida (función de pérdida): J común () que con el fin de evaluar la calidad del modelo, generalmente función de pérdida para medir el grado de ajuste. Minimizado la función de pérdida, lo que significa el mejor ajuste, el parámetro de modelo correspondiente es los parámetros óptimos. El propósito de cada máquina de los modelos de aprendizaje tienen una pérdida de la función, el aprendizaje es minimizar la función de pérdida,

algoritmos detallados

implementación específica del algoritmo de descenso de gradiente es:

  1. Y la determinación de una función de la función de pérdida de los supuestos del modelo
  2. parámetros relacionados de inicialización, que comprende: un parámetro, y los termina algoritmo de paso
  3. La determinación de la posición actual del gradiente de la función de pérdida
  4. Multiplicando gradiente de paso, que resulta de la posición bajada de la corriente
  5. Determinar si todos los parámetros de distancia pendiente de descenso algoritmo termina un menor que la distancia, si menos de las termina algoritmo, de lo contrario el paso siguiente
  6. Actualizar todos los parámetros, vaya al paso 1 actualizado

problemas

La experiencia de todos los problemas de optimización de descenso de gradiente comunes a dos cuestiones: los mínimos locales y puntos de silla.

mínimo local

Este es un problema más común método de descenso de gradiente, cuando no es una función de muchos mínimos locales, el método de descenso de gradiente es probable que acaba de encontrar un mínimo local de que se detengan.

¿Cómo evitarlo?

Ejemplos abajo, vemos un valor inicial diferente, un valor mínimo se obtiene puede variar, por lo que la evitación mínimo local puede ser la forma más fácil varias veces con diferentes valores de la ejecución inicial del algoritmo, un valor inicial de la función de pérdida mínima seleccionada.

Punto de silla de montar

punto de silla es un problema de optimización fenómeno a menudo encontrados punto matemático significado de silla de montar es: el gradiente de la función objetivo es cero en este punto, no es una función del máximo de puntos en una dirección pero desde el punto de partida, y la otra dirección es una función de punto mínimo. función de punto de silla de montar punto de silla típica es típicamente una función f (x) = x ^ 3 (0,0), la función z = x ^ 2-y ^ una pluralidad de punto de silla (0,0,0) 2 (1 , 1,0), (2,2,0)).

En unos espacios altamente no convexos, un gran número de puntos de silla, lo que hace que el descenso de gradiente a veces no, aunque no es el valor mínimo, pero parece ciertamente convergen.

afinación

Desde el punto de vista de los pasos de ejecución del algoritmo, en caso necesario de ajuste comprende:

  1. Paso: diferentes escenarios para seleccionar el tamaño de paso deseado y pesan experimentos, el paso más largo, el más rápido iteración, es probable que se pierda la solución óptima, el tamaño del paso es iteración demasiado pequeño, demasiado lento, el algoritmo no puede ser el final de un tiempo muy largo. Así algoritmo de la etapa de la necesidad de ejecutar varias veces para obtener un valor más óptimo.
  2. Valor inicial: valores iniciales diferentes, un valor mínimo obtenido finalmente puede ser diferente, pero puede obtener un mínimo local; supuesto, si la función de pérdida es convexa solución necesariamente óptima. Varias veces con diferentes valores iniciales necesitan para ejecutar el algoritmo, seleccionar el valor inicial de la función de pérdida se reduce al mínimo.

descenso de gradiente común

descenso de gradiente por lotes (batch pendiente de descenso BGD)

Algoritmo descrito anteriormente es en realidad un descenso de gradiente por lotes. En primer lugar calcular la pérdida de todos los valores de datos, y luego realizar un descenso de gradiente, los pasos específicos son: atravesar todo el recuento de conjunto de datos como una función de pérdida, y las funciones de gradiente calculados para cada parámetro, actualiza el gradiente. Este método se actualiza una vez cada parámetro, debe se calcula de nuevo el conjunto de datos de todas las muestras, la capacidad de computación, cálculo de la velocidad es lenta, no apoyar el aprendizaje en línea.

Descenso de gradiente estocástico (estocástico pendiente de descenso SGD)

La cantidad total de la muestra no se utiliza para calcular el gradiente, como sería ser aproximado usando un solo gradiente, puede reducir enormemente la cantidad de cálculo, la eficiencia computacional. Los pasos específicos son: cada selección de una muestra aleatoria del conjunto de entrenamiento, la pérdida correspondiente se calcula y el gradiente, la actualización de parámetros iteración.

De esta manera, un tamaño de datos relativamente grande puede reducir la complejidad computacional, una sola muestra a partir del gradiente del sentido probabilidad es estimación insesgada de todo el gradiente de conjunto de datos, pero hay cierta incertidumbre, y por lo tanto la proporción de la tasa de convergencia lote pendiente de descenso más lenta.

Pequeño pendiente de descenso por lotes (batch Mini-pendiente de descenso)

Con el fin de superar los inconvenientes de los dos métodos anteriores, el medio por una solución de compromiso: los datos en una pluralidad de lotes, los parámetros de actualización de lotes, cada conjunto de datos en un solo lote juntos determinan la dirección de este gradiente disminuyó que no será fácil desviación, reducir la aleatoriedad, por otro lado, debido a que el número de muestras en lotes de mucho menos que todo el conjunto de datos, el cálculo de la cantidad no es muy grande.

Cada usar una pluralidad de muestras para estimar el gradiente, lo que reduce la incertidumbre a mejorar la velocidad de convergencia, el número de muestras en el que cada iteración se refiere como la selección de tamaño de lote (tamaño del lote).

referencia:

¿Cuál es el descenso de gradiente

¿Por qué gradiente en la dirección opuesta es una función del valor de la disminución local en la dirección más rápida?

Resumen gradiente de descenso

Supongo que te gusta

Origin www.cnblogs.com/ybjourney/p/12508027.html
Recomendado
Clasificación