El algoritmo de potenciación por programación lineal ( LPBoost ) es un clasificador supervisado perteneciente a la familia de clasificadores boosting . LPBoost maximiza el margen entre muestras de entrenamiento de diferentes clases y, por lo tanto, también pertenece a la clase de algoritmos de clasificación por margen .
Consideremos una función de clasificación. que clasifica muestras de un espacioen una de dos clases, etiquetadas como 1 y -1, respectivamente. LPBoost es un algoritmo para aprender dicha función de clasificación, a partir de un conjunto de ejemplos de entrenamiento con etiquetas de clase conocidas. LPBoost es una técnica de aprendizaje automático especialmente adecuada para la clasificación conjunta y la selección de características en dominios estructurados.
Descripción general de LPBoost
Como en todos los clasificadores de boosting, la función de clasificación final tiene la forma
dóndeson ponderaciones no negativas para clasificadores débilesCada clasificador débil individualPuede que sea solo un poco mejor que el azar, pero la combinación lineal resultante de muchos clasificadores débiles puede funcionar muy bien.
Construcciones de LPBoostcomenzando con un conjunto vacío de clasificadores débiles. Iterativamente, se selecciona un único clasificador débil para agregar al conjunto de clasificadores débiles considerados, se agrega y todos los pesosSe ajustan los clasificadores débiles existentes. Este proceso se repite hasta que no queden clasificadores débiles por añadir.
La propiedad de que todos los pesos del clasificador se ajusten en cada iteración se conoce como propiedad totalmente correctiva . Los métodos de boosting antiguos, como AdaBoost, no poseen esta propiedad y convergen más lentamente.
Programa lineal
En términos más generales, dejemos ;\omega )|\omega \in \Omega \}} sea el conjunto posiblemente infinito de clasificadores débiles, también denominados hipótesis . Una forma de escribir el problema que resuelve LPBoost es como un programa lineal con infinitas variables.
El programa lineal primal de LPBoost, que optimiza sobre el vector de pesos no negativos., el vector no negativode variables de holgura y el margenes lo siguiente.
Observe los efectos de las variables de holgura.: su norma uno se penaliza en la función objetivo mediante un factor constante., lo cual, si es lo suficientemente pequeño, siempre conduce a un programa lineal factible primal.
Aquí adoptamos la notación de un espacio de parámetros, de tal manera que para una elecciónel clasificador débil ;\omega ):{\mathcal {X}}\to \{-1,1\}} está definido de forma única.
Cuando el programa lineal anterior se escribió por primera vez en publicaciones tempranas sobre métodos de boosting, se descartó por intratable debido a la gran cantidad de variables.Solo más tarde se descubrió que tales programas lineales pueden resolverse de manera eficiente utilizando la técnica clásica de generación de columnas .
Generación de columnas para LPBoost
En un programa lineal, una columna corresponde a una variable primal. La generación de columnas es una técnica para resolver programas lineales de gran tamaño. Generalmente, funciona en problemas restringidos, que solo consideran un subconjunto de variables. Al generar variables primales de forma iterativa y bajo demanda, se recupera finalmente el problema original sin restricciones, con todas las variables. Eligiendo cuidadosamente las columnas a generar, el problema puede resolverse de tal manera que, sin dejar de garantizar que la solución obtenida sea óptima para el problema completo original, solo sea necesario crear una pequeña fracción de columnas.
Problema dual de LPBoost
Las columnas del programa lineal primal corresponden a las filas del programa lineal dual . El programa lineal dual equivalente de LPBoost es el siguiente programa lineal.
En los programas lineales, el valor óptimo del problema primal y del problema dual es igual. Para los problemas primal y dual mencionados, el valor óptimo es igual al margen suave negativo. El margen suave es la diferencia entre las instancias de entrenamiento positivas y negativas, menos las variables de holgura positivas que penalizan las muestras que no cumplen con dicho margen. Por lo tanto, el margen suave puede ser positivo aunque no todas las muestras estén separadas linealmente por la función de clasificación. Este último se denomina margen duro o margen realizado.
Criterio de convergencia
Consideremos un subconjunto de las restricciones satisfechas en el problema dual. Para cualquier subconjunto finito podemos resolver el programa lineal y, por lo tanto, satisfacer todas las restricciones. Si pudiéramos demostrar que de todas las restricciones que no agregamos al problema dual, ninguna se viola, habríamos demostrado que resolver nuestro problema restringido es equivalente a resolver el problema original. Más formalmente, seasea el valor óptimo de la función objetivo para cualquier instancia restringida. Entonces, podemos formular un problema de búsqueda para la "restricción más violada" en el espacio del problema original, es decir, encontrarcomo
Es decir, buscamos en el espaciopara un único tocón de decisión ;\omega ^{*})} maximizando el lado izquierdo de la restricción dual. Si la restricción no puede ser violada por ninguna elección de tocón de decisión, ninguna de las restricciones correspondientes puede estar activa en el problema original y el problema restringido es equivalente.
Constante de penalización
El valor positivo de la constante de penalizacióndebe encontrarse utilizando técnicas de selección de modelos . Sin embargo, si elegimos, dóndees el número de muestras de entrenamiento y, entonces el nuevo parámetrotiene las siguientes propiedades.
- es un límite superior en la fracción de errores de entrenamiento; es decir, sidenota el número de muestras de entrenamiento mal clasificadas, entonces.
- es un límite inferior para la fracción de muestras de entrenamiento que se encuentran fuera o en el margen.
Algoritmo
- Aporte:
- Conjunto de entrenamiento,
- Etiquetas de entrenamiento,
- Umbral de convergencia
- Producción:
- Función de clasificación
- Inicialización
- Pesos, uniforme
- Borde
- Recuento de hipótesis
- Iterar
- sientonces
- romper
- solución del LPBoost dual
- Multiplicadores de Lagrange de la solución al problema dual LPBoost
Tenga en cuenta que si el umbral de convergencia se establece enLa solución obtenida es la solución óptima global del programa lineal anterior. En la práctica,Se establece en un valor positivo pequeño para obtener una buena solución rápidamente.
Margen realizado
El margen real que separa las muestras de entrenamiento se denomina margen realizado y se define como
El margen obtenido puede ser, y generalmente será, negativo en las primeras iteraciones. Para un espacio de hipótesis que permite seleccionar cualquier muestra individual, como suele ser el caso, el margen obtenido acabará convergiendo a un valor positivo.
Garantía de convergencia
Si bien se ha demostrado que el algoritmo anterior converge, a diferencia de otras formulaciones de boosting, como AdaBoost y TotalBoost , no se conocen límites de convergencia para LPBoost. Sin embargo, en la práctica, se sabe que LPBoost converge rápidamente, a menudo más rápido que otras formulaciones.
Aprendices básicos
LPBoost es un método de aprendizaje en conjunto y, por lo tanto, no impone la elección de los aprendices base ni el espacio de hipótesis.Demiriz et al. demostraron que, bajo supuestos poco estrictos, se puede utilizar cualquier modelo base. Si los modelos base son particularmente simples, a menudo se les denomina árboles de decisión .
El número de aprendices base comúnmente utilizados con Boosting en la literatura es grande. Por ejemplo, si, un aprendiz base podría ser una máquina de vectores de soporte de margen suave lineal . O incluso más simple, un simple tronco de la forma
La decisión anterior plantea interrogantes únicamente a lo largo de una sola dimensión.del espacio de entrada y simplemente aplica un umbral a la columna correspondiente de la muestra utilizando un umbral constante.Entonces, puede decidir en cualquier dirección, dependiendo depara una clase positiva o negativa.
Dados los pesos para las muestras de entrenamiento, la construcción del árbol de decisión óptimo de la forma anterior simplemente implica buscar a lo largo de todas las columnas de muestras y determinar,ypara optimizar la función de ganancia.
Referencias
- Optimización de la programación lineal mediante generación de columnas , A. Demiriz, KP Bennett y J. Shawe-Taylor. Publicado en 2002 en Kluwer Machine Learning 46, páginas 225–254.
- Aprendizaje en conjunto