Algoritmos de optimización en aprendizaje automático

Conceptos básicos de aprendizaje automático y optimización

Aprendizaje automático y optimización

Para citar al gran Pedro Domingos: El aprendizaje automático en realidad se compone de tres partes: representación del modelo, optimización y evaluación del modelo . Transforme un problema práctico en un modelo a resolver, use un algoritmo de optimización para resolver el modelo, use datos de verificación o prueba para evaluar el modelo y repita estos tres pasos hasta obtener un modelo satisfactorio.

Por lo tanto, el algoritmo de optimización juega un papel de conexión en el aprendizaje automático.

Las propuestas de optimización involucradas en el aprendizaje automático general se pueden expresar como:

Y así sucesivamente, los algoritmos de aprendizaje automático son similares.

Conceptos básicos de los algoritmos de optimización

El orden del algoritmo de optimización.

El llamado orden del algoritmo de optimización en realidad se refiere al proceso de optimización usando

qué información en .

Si se desconoce la forma de la función, el gradiente es difícil de encontrar o no existe, a menudo se usa el algoritmo de optimización de orden cero; en el campo del aprendizaje automático, el algoritmo de primer orden generalmente se usa con más frecuencia y el de segundo orden. algoritmo de orden puede converger más rápido, pero el costo de cálculo también es mayor.

Componentes comunes de un algoritmo de optimización

  • descenso de gradiente

 

  • doble

Al resolver una proposición de optimización, si su forma dual es fácil de resolver, a menudo es posible evitar resolver directamente el problema original resolviendo el problema dual. Por ejemplo, la SVM típica en el aprendizaje automático implica la teoría de la dualidad, así como conceptos como el método del multiplicador de Lagrange y la condición KKT. En primer lugar, permítanme explicar brevemente para qué sirven estos conceptos.

  1. Teoría de la dualidad: la dualidad son gemelos, y una propuesta de optimización también tiene su correspondiente propuesta de optimización hermana.

  2. Función lagrangiana: integre la función objetivo y las restricciones de la propuesta de optimización original en una sola función.

  3. Condición KKT: La propiedad que satisface el valor óptimo de la función.

Si el problema original es un problema convexo, entonces la condición KKT es una condición necesaria y suficiente, es decir, el punto que satisface la condición KKT es la solución óptima del problema original y el problema dual, entonces el problema dual puede ser reemplazado resolviendo la pregunta original de la condición KKT. (La derivación específica y los detalles no se ampliarán, y puede escribir un artículo por separado la próxima vez)

  • aleatorizar

Algoritmos típicos para problemas sin restricciones

  • Descenso de gradiente

Se ha mencionado anteriormente y no se repetirá.

Algoritmos clásicos para problemas restringidos

  • Descenso de gradiente proyectado

Mirando el nombre, podemos saber que la idea de este método es en realidad una operación de descenso de gradiente más proyección para satisfacer las restricciones . Se puede entender como un algoritmo de dos etapas,

En la primera etapa, primero se realiza el descenso de gradiente

 

  • método de descenso por coordenadas

La idea del método de coordenadas ascendentes es un poco similar a ADMM, es decir, solo optimizar una o una parte de las variables en cada optimización, y luego corregir otras variables , es decir

Esto es un poco como un sistema de coordenadas de alta dimensión, donde optimiza una dimensión por una en orden.

Cuando los problemas de optimización se encuentran con Big Data

Cuando la cantidad de datos es grande, la solución simple es usar la idea de la aleatorización.Por ejemplo, el método de descenso de gradiente se puede cambiar a un descenso de gradiente aleatorio, y el método de ascenso de coordenadas se puede cambiar a un ascenso de coordenadas aleatorio.

Acelere la optimización y Outlook

Los llamados estudios de optimización acelerada mejoran los algoritmos para aumentar la velocidad de convergencia sin hacer suposiciones más fuertes . Los ejemplos comunes incluyen el método Heavy-Ball, el método de descenso de gradiente acelerado de Nesterov, el método de gradiente proximal acelerado (APG), el método de gradiente de reducción de varianza aleatoria, etc. Estos algoritmos pueden estar un poco más allá del esquema. Quienes estén interesados ​​o se especialicen en este tipo de problema pueden consultar el nuevo libro del Sr. Lin Zhouchen.

Se pueden realizar algunas investigaciones sobre optimización a gran escala desde las siguientes perspectivas: optimización estocástica, optimización distribuida, optimización asíncrona, optimización basada en el aprendizaje, etc.

 

Supongo que te gusta

Origin blog.csdn.net/qq_29788741/article/details/131443803
Recomendado
Clasificación