stringtranslate.com

Impulso (aprendizaje automático)

En el aprendizaje automático , el boosting es un metaalgoritmo de conjunto que se utiliza principalmente para reducir el sesgo y la varianza. [1] Se utiliza en el aprendizaje supervisado y en una familia de algoritmos de aprendizaje automático que convierten a los estudiantes débiles en estudiantes fuertes. [2]

El concepto de boosting se basa en la pregunta planteada por Kearns y Valiant (1988, 1989): [3] [4] "¿Puede un conjunto de aprendices débiles crear un único aprendiz fuerte?" Un aprendiz débil se define como un clasificador que está solo ligeramente correlacionado con la clasificación verdadera (puede etiquetar ejemplos mejor que una suposición aleatoria). Un aprendiz fuerte es un clasificador que está arbitrariamente bien correlacionado con la clasificación verdadera. Robert Schapire respondió afirmativamente a la pregunta en un artículo publicado en 1990 [5] . Esto ha tenido ramificaciones significativas en el aprendizaje automático y las estadísticas , en particular conduciendo al desarrollo del boosting. [6]

Inicialmente, el problema de refuerzo de hipótesis simplemente se refería al proceso de convertir a un alumno débil en un alumno fuerte. [3] Los algoritmos que logran esto rápidamente se conocieron como "boosting". El arcing (Adapt[at]ive Resampling and Combining) de Freund y Schapire, [7] como técnica general, es más o menos sinónimo de refuerzo. [8]

Algoritmos

Si bien el boosting no está limitado algorítmicamente, la mayoría de los algoritmos de boosting consisten en aprender iterativamente clasificadores débiles con respecto a una distribución y agregarlos a un clasificador fuerte final. Cuando se agregan, se ponderan de una manera que está relacionada con la precisión de los aprendices débiles. Después de agregar un aprendiz débil, los pesos de los datos se reajustan, lo que se conoce como "reponderación " . Los datos de entrada mal clasificados ganan un peso mayor y los ejemplos que se clasifican correctamente pierden peso. [nota 1] Por lo tanto, los futuros aprendices débiles se centran más en los ejemplos que los aprendices débiles anteriores clasificaron mal.

Una ilustración que presenta la intuición detrás del algoritmo de refuerzo, que consta de los estudiantes paralelos y el conjunto de datos ponderados.

Existen muchos algoritmos de boosting. Los originales, propuestos por Robert Schapire (una formulación de puerta de mayoría recursiva ), [5] y Yoav Freund (boost por mayoría), [9] no eran adaptativos y no podían aprovechar al máximo a los estudiantes débiles. Schapire y Freund desarrollaron AdaBoost , un algoritmo de boosting adaptativo que ganó el prestigioso Premio Gödel .

Sólo los algoritmos que son algoritmos de refuerzo demostrables en la formulación de aprendizaje probablemente aproximadamente correcta pueden llamarse con precisión algoritmos de refuerzo . Otros algoritmos que son similares en espíritu [ aclaración necesaria ] a los algoritmos de refuerzo a veces se denominan "algoritmos de apalancamiento", aunque a veces también se los denomina incorrectamente algoritmos de refuerzo. [9]

La principal variación entre muchos algoritmos de boosting es su método de ponderación de los puntos de datos de entrenamiento y las hipótesis . AdaBoost es muy popular y el más significativo históricamente, ya que fue el primer algoritmo que pudo adaptarse a los estudiantes débiles. A menudo es la base de la cobertura introductoria del boosting en los cursos universitarios de aprendizaje automático. [10] Hay muchos algoritmos más recientes como LPBoost , TotalBoost, BrownBoost , xgboost , MadaBoost, LogitBoost y otros. Muchos algoritmos de boosting encajan en el marco AnyBoost, [9] que muestra que el boosting realiza un descenso de gradiente en un espacio de funciones utilizando una función de costo convexa .

Categorización de objetos en visión artificial

Si se dan imágenes que contienen varios objetos conocidos en el mundo, se puede aprender un clasificador a partir de ellas para clasificar automáticamente los objetos en imágenes futuras. Los clasificadores simples creados en función de alguna característica de la imagen del objeto tienden a tener un rendimiento de categorización débil. El uso de métodos de refuerzo para la categorización de objetos es una forma de unificar los clasificadores débiles de una manera especial para aumentar la capacidad general de categorización. [ cita requerida ]

Problema de categorización de objetos

La categorización de objetos es una tarea típica de la visión artificial que implica determinar si una imagen contiene o no alguna categoría específica de objeto. La idea está estrechamente relacionada con el reconocimiento, la identificación y la detección. La categorización de objetos basada en la apariencia generalmente contiene la extracción de características , el aprendizaje de un clasificador y la aplicación del clasificador a nuevos ejemplos. Hay muchas formas de representar una categoría de objetos, por ejemplo, a partir del análisis de formas , modelos de bolsa de palabras o descriptores locales como SIFT , etc. Algunos ejemplos de clasificadores supervisados ​​son los clasificadores Naive Bayes , las máquinas de vectores de soporte , las mezclas de gaussianas y las redes neuronales . Sin embargo, la investigación [¿ cuál? ] ha demostrado que las categorías de objetos y sus ubicaciones en imágenes también se pueden descubrir de manera no supervisada . [11]

Status quo de la categorización de objetos

El reconocimiento de categorías de objetos en imágenes es un problema desafiante en la visión por computadora , especialmente cuando el número de categorías es grande. Esto se debe a la alta variabilidad intraclase y la necesidad de generalización entre variaciones de objetos dentro de la misma categoría. Los objetos dentro de una categoría pueden verse bastante diferentes. Incluso el mismo objeto puede parecer diferente bajo diferentes puntos de vista, escala e iluminación . El desorden del fondo y la oclusión parcial también agregan dificultades al reconocimiento. [12] Los humanos pueden reconocer miles de tipos de objetos, mientras que la mayoría de los sistemas de reconocimiento de objetos existentes están entrenados para reconocer solo unos pocos, [ cuantificar ] por ejemplo, rostros humanos , automóviles , objetos simples, etc. [13] [¿ necesita actualización? ] La investigación ha sido muy activa en el manejo de más categorías y permitiendo adiciones incrementales de nuevas categorías, y aunque el problema general sigue sin resolverse, se han desarrollado varios detectores de objetos de múltiples categorías (para hasta cientos o miles de categorías [14] ). Un medio es compartir y potenciar las características .

Impulso a la categorización binaria

AdaBoost se puede utilizar para la detección de rostros como un ejemplo de categorización binaria . Las dos categorías son rostros versus fondo. El algoritmo general es el siguiente:

  1. Formar un conjunto grande de características simples
  2. Inicializar pesos para imágenes de entrenamiento
  3. Para rondas T
    1. Normalizar los pesos
    2. Para las características disponibles del conjunto, entrene un clasificador utilizando una sola característica y evalúe el error de entrenamiento
    3. Elija el clasificador con el menor error
    4. Actualizar los pesos de las imágenes de entrenamiento: aumentar si están mal clasificadas por este clasificador, disminuir si están correctamente
  4. Formar el clasificador fuerte final como la combinación lineal de los clasificadores T (el coeficiente es mayor si el error de entrenamiento es pequeño)

Después de la potenciación, un clasificador construido a partir de 200 características podría producir una tasa de detección del 95 % con una tasa de falsos positivos . [15]

Otra aplicación del boosting para la categorización binaria es un sistema que detecta peatones utilizando patrones de movimiento y apariencia. [16] Este trabajo es el primero en combinar tanto la información de movimiento como la información de apariencia como características para detectar a una persona caminando. Adopta un enfoque similar al marco de detección de objetos de Viola-Jones .

Impulso para la categorización multiclase

En comparación con la categorización binaria, la categorización de múltiples clases busca características comunes que puedan compartirse entre las categorías al mismo tiempo. Se convierten en características más genéricas, como las de los bordes . Durante el aprendizaje, los detectores de cada categoría se pueden entrenar de forma conjunta. En comparación con el entrenamiento por separado, se generaliza mejor, se necesitan menos datos de entrenamiento y se requieren menos características para lograr el mismo rendimiento.

El flujo principal del algoritmo es similar al caso binario. Lo que es diferente es que se debe definir de antemano una medida del error de entrenamiento conjunto. Durante cada iteración, el algoritmo elige un clasificador de una sola característica (se deben fomentar las características que puedan ser compartidas por más categorías). Esto se puede hacer convirtiendo la clasificación multiclase en una binaria (un conjunto de categorías versus el resto), [17] o introduciendo un error de penalización de las categorías que no tienen la característica del clasificador. [18]

En el artículo "Sharing visual features for multiclass and multiview object detection", A. Torralba et al. utilizaron GentleBoost para el boosting y demostraron que cuando los datos de entrenamiento son limitados, el aprendizaje mediante el uso compartido de características funciona mucho mejor que no compartir, dadas las mismas rondas de boosting. Además, para un nivel de rendimiento determinado, se observa que el número total de características requeridas (y, por lo tanto, el costo de tiempo de ejecución del clasificador) para los detectores de uso compartido de características, escala aproximadamente de manera logarítmica con el número de clases, es decir, más lento que el crecimiento lineal en el caso de no compartir. Se muestran resultados similares en el artículo "Incremental learning of object detectors using a visual shape alphabet", aunque los autores utilizaron AdaBoost para el boosting.

Algoritmos de refuerzo convexos y no convexos

Los algoritmos de boosting pueden basarse en algoritmos de optimización convexos o no convexos. Los algoritmos convexos, como AdaBoost y LogitBoost , pueden ser "derrotados" por el ruido aleatorio de modo que no pueden aprender combinaciones básicas y aprendibles de hipótesis débiles. [19] [20] Esta limitación fue señalada por Long y Servedio en 2008. Sin embargo, en 2009, varios autores demostraron que los algoritmos de boosting basados ​​en optimización no convexa, como BrownBoost , pueden aprender de conjuntos de datos ruidosos y pueden aprender específicamente el clasificador subyacente del conjunto de datos Long-Servedio.

Véase también

Implementaciones

Notas

  1. ^ Algunos algoritmos de clasificación basados ​​en boosting en realidad disminuyen el peso de ejemplos clasificados incorrectamente en forma repetida; por ejemplo, boost by most y BrownBoost .

Referencias

  1. ^ Leo Breiman (1996). "SESGO, VARIANZA Y CLASIFICADORES DE ARCO" (PDF) . INFORME TÉCNICO. Archivado desde el original (PDF) el 19 de enero de 2015. Consultado el 19 de enero de 2015. El arco [Boosting] es más exitoso que el bagging en la reducción de la varianza
  2. ^ Zhou Zhi-Hua (2012). Métodos de conjunto: fundamentos y algoritmos . Chapman y Hall/CRC. pág. 23. ISBN 978-1439830031El término boosting se refiere a una familia de algoritmos que pueden convertir a los estudiantes débiles en estudiantes fuertes .
  3. ^ de Michael Kearns (1988); Reflexiones sobre el refuerzo de hipótesis, manuscrito inédito (proyecto de clase de aprendizaje automático, diciembre de 1988)
  4. ^ Michael Kearns ; Leslie Valiant (1989). "Limitaciones criptográficas en el aprendizaje de fórmulas booleanas y autómatas finitos". Actas del vigésimo primer simposio anual de la ACM sobre teoría de la computación - STOC '89 . Vol. 21. ACM. págs. 433–444. doi :10.1145/73007.73049. ISBN 978-0897913072.S2CID 536357  .
  5. ^ ab Schapire, Robert E. (1990). "La fuerza de la capacidad de aprendizaje débil" (PDF) . Aprendizaje automático . 5 (2): 197–227. CiteSeerX 10.1.1.20.723 . doi :10.1007/bf00116037. S2CID  53304535. Archivado desde el original (PDF) el 2012-10-10 . Consultado el 2012-08-23 . 
  6. ^ Leo Breiman (1998). "Clasificador de arcos (con discusión y réplica del autor)". Ann. Stat . 26 (3): 801–849. doi : 10.1214/aos/1024691079 . Schapire (1990) demostró que el boosting es posible. (Página 823)
  7. ^ Yoav Freund y Robert E. Schapire (1997); Una generalización teórica de decisiones del aprendizaje en línea y una aplicación para el impulso, Journal of Computer and System Sciences, 55(1):119-139
  8. ^ Leo Breiman (1998); Arcing Classifier (con discusión y una réplica del autor), Annals of Statistics, vol. 26, no. 3, pp. 801-849: "El concepto de aprendizaje débil fue introducido por Kearns y Valiant (1988, 1989), quienes dejaron abierta la cuestión de si la capacidad de aprendizaje débil y fuerte son equivalentes. La cuestión se denominó el problema de refuerzo, ya que [una solución debe] aumentar la baja precisión de un alumno débil a la alta precisión de un alumno fuerte. Schapire (1990) demostró que el refuerzo es posible. Un algoritmo de refuerzo es un método que toma a un alumno débil y lo convierte en un alumno fuerte. Freund y Schapire (1997) demostraron que un algoritmo similar a arc-fs es el refuerzo.
  9. ^ abc Llew Mason, Jonathan Baxter, Peter Bartlett y Marcus Frean (2000); Boosting Algorithms as Gradient Descent , en SA Solla , TK Leen y K.-R. Muller, editores, Advances in Neural Information Processing Systems 12, págs. 512-518, MIT Press
  10. ^ Emer, Eric. "Boosting (algoritmo AdaBoost)" (PDF) . MIT . Archivado (PDF) desde el original el 2022-10-09 . Consultado el 2018-10-10 .
  11. ^ Sivic, Russell, Efros, Freeman y Zisserman, "Descubrimiento de objetos y su ubicación en imágenes", ICCV 2005
  12. ^ A. Opelt, A. Pinz, et al., "Reconocimiento de objetos genéricos con refuerzo", Transacciones IEEE en PAMI 2006
  13. ^ M. Marszalek, "Jerarquías semánticas para el reconocimiento visual de objetos", 2007
  14. ^ "Desafío de reconocimiento visual a gran escala". Diciembre de 2017.
  15. ^ P. Viola, M. Jones, "Detección robusta de objetos en tiempo real", 2001
  16. ^ Viola, P.; Jones, M.; Snow, D. (2003). Detección de peatones mediante patrones de movimiento y apariencia (PDF) . ICCV. Archivado (PDF) desde el original el 2022-10-09.
  17. ^ A. Torralba, KP Murphy, et al., "Compartir características visuales para la detección de objetos multiclase y multivista", Transacciones IEEE en PAMI 2006
  18. ^ A. Opelt, et al., "Aprendizaje incremental de detectores de objetos utilizando un alfabeto de formas visuales", CVPR 2006
  19. ^ P. Long y R. Servedio. 25ª Conferencia Internacional sobre Aprendizaje Automático (ICML), 2008, págs. 608-615.
  20. ^ Long, Philip M.; Servedio, Rocco A. (marzo de 2010). "El ruido de clasificación aleatorio derrota a todos los potenciadores de potencial convexo" (PDF) . Aprendizaje automático . 78 (3): 287–304. doi : 10.1007/s10994-009-5165-z . S2CID  53861. Archivado (PDF) desde el original el 2022-10-09 . Consultado el 2015-11-17 .

Lectura adicional

Enlaces externos