Articulo de referencia

Optimización mínima secuencial

La optimización mínima secuencial ( SMO ) es un algoritmo para resolver el problema de programación cuadrática (QP) que surge durante el entrenamiento de máquinas de vectores de...

La optimización mínima secuencial ( SMO ) es un algoritmo para resolver el problema de programación cuadrática (QP) que surge durante el entrenamiento de máquinas de vectores de soporte (SVM). Fue inventado por John Platt en 1998 en Microsoft Research . [ 1 ] SMO se utiliza ampliamente para entrenar máquinas de vectores de soporte y está implementado por la popular herramienta LIBSVM . [ 2 ] [ 3 ] La publicación del algoritmo SMO en 1998 generó gran entusiasmo en la comunidad de SVM, ya que los métodos disponibles anteriormente para el entrenamiento de SVM eran mucho más complejos y requerían costosos solucionadores QP de terceros. [ 4 ]

Problema de optimización

Consideremos un problema de clasificación binaria con un conjunto de datos ( x 1 , y 1 ), ..., ( x n , y n ), donde x i es un vector de entrada e y i ∈ {-1, +1} es una etiqueta binaria que le corresponde. Una máquina de vectores de soporte de margen suave se entrena resolviendo un problema de programación cuadrática, que se expresa en forma dual de la siguiente manera:

máximoαi=1norteαi12i=1nortej=1norteyiyjK(incógnitai,incógnitaj)αiαj,{\displaystyle \max _{\alpha }\sum _{i=1}^{n}\alpha _{i}-{\frac {1}{2}}\sum _{i=1}^{n}\sum _{j=1}^{n}y_{i}y_{j}K(x_{i},x_{j})\alpha _{i}\alpha _{j},}
sujeto a:
0αido, para i=1,2,,norte,{\displaystyle 0\leq \alpha _{i}\leq C,\quad {\mbox{ para }}i=1,2,\ldots ,n,}
i=1norteyiαi=0{\displaystyle \sum _{i=1}^{n}y_{i}\alpha _{i}=0}

donde C es un hiperparámetro de SVM y K ( x i , x j ) es la función kernel , ambos proporcionados por el usuario; y las variablesαi{\displaystyle \alpha _{i}}son multiplicadores de Lagrange .

Algoritmo

SMO es un algoritmo iterativo para resolver el problema de optimización descrito anteriormente. SMO divide este problema en una serie de subproblemas lo más pequeños posible, que luego se resuelven analíticamente. Debido a la restricción de igualdad lineal que involucra a los multiplicadores de Lagrangeαi{\displaystyle \alpha _{i}}, el problema más pequeño posible involucra dos de esos multiplicadores. Entonces, para cualesquiera dos multiplicadoresα1{\displaystyle \alpha _{1}}yα2{\displaystyle \alpha _{2}}, las restricciones se reducen a:

0α1,α2do,{\displaystyle 0\leq \alpha _{1},\alpha _{2}\leq C,}
y1α1+y2α2=k,{\ Displaystyle y_ {1} \ alpha _ {1} + y_ {2} \ alpha _ {2} = k,}

y este problema reducido puede resolverse analíticamente: basta con encontrar el mínimo de una función cuadrática unidimensional.k{\displaystyle k}es el negativo de la suma sobre el resto de los términos en la restricción de igualdad, que es fija en cada iteración.

El algoritmo procede de la siguiente manera:

  1. Halla un multiplicador de Lagrangeα1{\displaystyle \alpha _{1}}que viola las condiciones de Karush-Kuhn-Tucker (KKT) para el problema de optimización.
  2. Elige un segundo multiplicadorα2{\displaystyle \alpha _{2}}y optimizar el par(α1,α2){\displaystyle (\alpha _{1},\alpha _{2})}.
  3. Repita los pasos 1 y 2 hasta que se alcance la convergencia.

Cuando todos los multiplicadores de Lagrange satisfacen las condiciones de KKT (dentro de una tolerancia definida por el usuario), el problema se ha resuelto. Aunque se garantiza la convergencia de este algoritmo, se utilizan heurísticas para elegir el par de multiplicadores con el fin de acelerar la tasa de convergencia. Esto es fundamental para conjuntos de datos grandes, ya que haynorte(norte1)/2{\displaystyle n(n-1)/2}posibles opciones paraαi{\displaystyle \alpha _{i}}yαj{\displaystyle \alpha _{j}}.

El primer enfoque para dividir grandes problemas de aprendizaje de SVM en una serie de tareas de optimización más pequeñas fue propuesto por Bernhard Boser , Isabelle Guyon y Vladimir Vapnik . [ 5 ] Se conoce como el "algoritmo de segmentación". El algoritmo comienza con un subconjunto aleatorio de los datos, resuelve este problema y agrega iterativamente ejemplos que violan las condiciones de optimalidad. Una desventaja de este algoritmo es que es necesario resolver problemas QP que escalan con el número de SV. En conjuntos de datos dispersos del mundo real, SMO puede ser más de 1000 veces más rápido que el algoritmo de segmentación. [ 1 ]

En 1997, E. Osuna , R. Freund y F. Girosi demostraron un teorema que sugiere un conjunto completamente nuevo de algoritmos QP para SVM. [ 6 ] En virtud de este teorema, un problema QP grande puede dividirse en una serie de subproblemas QP más pequeños. Se garantiza la convergencia de una secuencia de subproblemas QP que siempre añaden al menos un violador de las condiciones de Karush-Kuhn-Tucker (KKT) . El algoritmo de agrupamiento obedece las condiciones del teorema y, por lo tanto, convergerá. [ 1 ] El algoritmo SMO puede considerarse un caso especial del algoritmo de Osuna, donde el tamaño de la optimización es dos y ambos multiplicadores de Lagrange se reemplazan en cada paso con nuevos multiplicadores que se eligen mediante buenas heurísticas. [ 1 ]

El algoritmo SMO está estrechamente relacionado con una familia de algoritmos de optimización denominados métodos de Bregman o métodos de acción por filas. Estos métodos resuelven problemas de programación convexa con restricciones lineales. Son métodos iterativos en los que cada paso proyecta el punto primal actual sobre cada restricción. [ 1 ]

Véase también

Referencias

  1. 1 2 3 4 5 Platt, John (1998). "Optimización mínima secuencial: un algoritmo rápido para entrenar máquinas de vectores de soporte" (PDF) . CiteSeerX 10.1.1.43.4376 . 
  2. Chang, Chih-Chung; Lin, Chih-Jen (2011). "LIBSVM: Una biblioteca para máquinas de vectores de soporte". ACM Transactions on Intelligent Systems and Technology . 2 (3). doi : 10.1145/1961189.1961199 . S2CID 961425 . 
  3. Zanni, Luca (2006). "Software paralelo para el entrenamiento de máquinas de vectores de soporte a gran escala en sistemas multiprocesador" (PDF) .
  4. Rifkin, Ryan (2002). Todo lo viejo vuelve a ser nuevo: una nueva mirada a los enfoques históricos en el aprendizaje automático (tesis doctoral). Instituto Tecnológico de Massachusetts. pág. 18. hdl : 1721.1/17549 . 
  5. Boser, BE; Guyon, IM; Vapnik, VN (1992). "Un algoritmo de entrenamiento para clasificadores de margen óptimo". Actas del quinto taller anual sobre teoría del aprendizaje computacional - COLT '92 . pág. 144. CiteSeerX 10.1.1.21.3818 . doi : 10.1145/130385.130401 . ISBN   978-0897914970. S2CID 207165665 . 
  6. Osuna, E.; Freund, R.; Girosi, F. (1997). "Un algoritmo de entrenamiento mejorado para máquinas de vectores de soporte". Redes neuronales para el procesamiento de señales [1997] VII. Actas del Taller IEEE de 1997. págs. 276–285 . CiteSeerX 10.1.1.392.7405 . doi : 10.1109/NNSP.1997.622408 . ISBN   978-0-7803-4256-9. S2CID 5667586 .