El método de actualización de pesos multiplicativos es una técnica algorítmica que se utiliza comúnmente para la toma de decisiones y la predicción, y también se emplea ampliamente en la teoría de juegos y el diseño de algoritmos. El caso de uso más simple es el problema de la predicción a partir del consejo de expertos, en el que un responsable de la toma de decisiones necesita decidir iterativamente qué experto seguir. El método asigna pesos iniciales a los expertos (generalmente pesos iniciales idénticos) y actualiza estos pesos de forma multiplicativa e iterativa según la retroalimentación sobre el desempeño de un experto: reduciéndolo en caso de un desempeño deficiente y aumentándolo en caso contrario. [ 1 ] Se ha descubierto repetidamente en campos muy diversos como el aprendizaje automático ( AdaBoost , Winnow , Hedge), la optimización (resolución de programas lineales ), la informática teórica (diseño de algoritmos rápidos para LP y SDP ) y la teoría de juegos .
Nombre
"Pesos multiplicativos" implica la regla iterativa utilizada en algoritmos derivados del método de actualización de pesos multiplicativos. [ 2 ] Se le da con diferentes nombres en los distintos campos donde fue descubierto o redescubierto.
Historia y antecedentes
La primera versión conocida de esta técnica se encontraba en un algoritmo llamado " juego ficticio ", propuesto en la teoría de juegos a principios de la década de 1950. Grigoriadis y Khachiyan [ 3 ] aplicaron una variante aleatoria del "juego ficticio" para resolver eficientemente juegos de suma cero para dos jugadores utilizando el algoritmo de pesos multiplicativos. En este caso, un jugador asigna un peso mayor a las acciones que tuvieron un mejor resultado y elige su estrategia basándose en estos pesos. En aprendizaje automático , Littlestone aplicó la primera forma de la regla de actualización de pesos multiplicativos en su famoso algoritmo de selección , similar al algoritmo de aprendizaje de perceptrón de Minsky y Papert . Posteriormente, generalizó el algoritmo de selección al algoritmo de mayoría ponderada. Freund y Schapire siguieron sus pasos y generalizaron el algoritmo de selección en forma de algoritmo de cobertura.
El algoritmo de pesos multiplicativos también se aplica ampliamente en geometría computacional , como el algoritmo de Kenneth Clarkson para programación lineal (PL) con un número limitado de variables en tiempo lineal. [ 4 ] [ 5 ] Posteriormente, Bronnimann y Goodrich emplearon métodos análogos para encontrar cubiertas de conjuntos para hipergrafos con una dimensión VC pequeña . [ 6 ]
En el ámbito de la investigación operativa y la toma de decisiones estadísticas en línea, el algoritmo de mayoría ponderada y sus versiones más complejas se han descubierto de forma independiente.
En el campo de la informática, algunos investigadores han observado previamente las estrechas relaciones entre los algoritmos de actualización multiplicativa utilizados en diferentes contextos. Young descubrió las similitudes entre los algoritmos LP rápidos y el método de estimadores pesimistas de Raghavan para la desaleatorización de algoritmos de redondeo aleatorios ; Klivans y Servedio vincularon los algoritmos de boosting en la teoría del aprendizaje con las demostraciones del lema XOR de Yao; Garg y Khandekar definieron un marco común para problemas de optimización convexa que incluye los problemas de Garg-Konemann y Plotkin-Shmoys-Tardos como subcasos. [ 1 ]
El algoritmo Hedge es un caso especial de descenso por espejo .
Configuración general
Se debe tomar una decisión binaria basada en las opiniones de n expertos para obtener una recompensa. En la primera ronda, todas las opiniones de los expertos tienen el mismo peso. El responsable de la toma de decisiones basará su decisión inicial en la predicción mayoritaria. Posteriormente, en cada ronda sucesiva, actualizará el peso de la opinión de cada experto según la precisión de sus predicciones anteriores. Ejemplos prácticos incluyen predecir si lloverá mañana o si la bolsa subirá o bajará.
Análisis de algoritmos
Algoritmo de reducción a la mitad
Dado un juego secuencial entre un adversario y un agregador asesorado por N expertos, el objetivo es que el agregador cometa la menor cantidad de errores posible. Supongamos que entre los N expertos hay un experto que siempre da la predicción correcta. En el algoritmo de reducción a la mitad, solo se conservan los expertos consistentes. Los expertos que cometen errores son descartados. Para cada decisión, el agregador decide mediante votación mayoritaria entre los expertos restantes. Por lo tanto, cada vez que el agregador comete un error, al menos la mitad de los expertos restantes son descartados. El agregador comete como máximo log 2 ( N ) errores. [ 2 ]
Algoritmo de mayoría ponderada
A diferencia del algoritmo de reducción a la mitad, que descarta a los expertos que han cometido errores, el algoritmo de mayoría ponderada desestima sus consejos. Dado el mismo escenario de "consejo de expertos", supongamos que tenemos n decisiones y necesitamos seleccionar una decisión en cada iteración. En cada iteración, cada decisión conlleva un coste. Todos los costes se revelarán después de tomar la decisión. El coste es 0 si el experto acierta y 1 en caso contrario. El objetivo de este algoritmo es limitar sus pérdidas acumuladas a un valor similar al del mejor de los expertos. El primer algoritmo que toma decisiones basándose en el voto mayoritario en cada iteración no funciona, ya que la mayoría de los expertos pueden equivocarse sistemáticamente. El algoritmo de mayoría ponderada corrige el algoritmo anterior al mantener un peso para los expertos en lugar de fijar el coste en 1 o 0. [ 1 ] Esto generaría menos errores en comparación con el algoritmo de reducción a la mitad.
Inicialización : Reparar un. Para cada experto, asocie el peso≔1. Para=,,...,1. Realizar la predicción dada por la mayoría ponderada de las predicciones de los expertos en función de sus ponderaciones.. Es decir, elige 0 o 1 dependiendo de qué predicción tenga un mayor peso total de expertos que la avalan (resolviendo los empates arbitrariamente). 2 . Por cada experto i que haya predicho erróneamente, disminuye su peso para la siguiente ronda multiplicándolo por un factor de (1-η): =(actualizar regla)
Si, el peso del consejo del experto seguirá siendo el mismo. CuandoA medida que aumenta, el peso del consejo del experto disminuirá. Tenga en cuenta que algunos investigadores fijanen el algoritmo de mayoría ponderada.
Despuéspasos, dejarsea el número de errores del experto i ysea el número de errores que ha cometido nuestro algoritmo. Entonces tenemos la siguiente cota para cada:
.En particular, esto se aplica a i, que es el mejor experto. Dado que el mejor experto tendrá el menorEsto proporcionará el mejor límite posible sobre el número de errores cometidos por el algoritmo en su conjunto.
Algoritmo de mayoría ponderada aleatoria
Este algoritmo puede entenderse de la siguiente manera: [ 2 ] [ 8 ]
Supongamos la misma configuración con N expertos. Consideremos la situación especial en la que las proporciones de expertos que predicen resultados positivos y negativos, contando los pesos, son cercanas al 50%. En ese caso, podría haber un empate. Siguiendo la regla de actualización de pesos del algoritmo de mayoría ponderada, las predicciones del algoritmo serían aleatorias. El algoritmo calcula las probabilidades de que los expertos predigan resultados positivos o negativos y, a continuación, toma una decisión aleatoria basada en la fracción calculada.
predecir
dónde
.El número de errores cometidos por el algoritmo de mayoría ponderada aleatoria está acotado de la siguiente manera:
dónde y .
Nótese que solo el algoritmo de aprendizaje es aleatorio. La suposición subyacente es que los ejemplos y las predicciones de los expertos no son aleatorios. La única aleatoriedad es la aleatoriedad donde el aprendiz hace su propia predicción. En este algoritmo aleatorio ,siEn comparación con el algoritmo ponderado, esta aleatoriedad redujo a la mitad la cantidad de errores que el algoritmo va a cometer. [ 9 ] Sin embargo, es importante señalar que en algunas investigaciones, las personas definenen el algoritmo de mayoría ponderada y permitiren el algoritmo de mayoría ponderada aleatoria . [ 2 ]
Aplicaciones
El método de ponderación multiplicativa se utiliza habitualmente para resolver problemas de optimización con restricciones . Cada experto representa una restricción en el problema, y los eventos representan los puntos del área de interés. La penalización del experto corresponde al grado de cumplimiento de su restricción en el punto representado por un evento. [ 1 ]
Resolución aproximada de juegos de suma cero (algoritmo de Oracle)
Supongamos que nos dieron la distribuciónsobre expertos. Deje= matriz de pagos de un juego finito de suma cero para dos jugadores, confilas.
Cuando el jugador de filaplan de usosy el jugador de columnaplan de usos, la recompensa del jugadores≔, suponiendo.
Si el jugadorelige acciónde una distribuciónsobre las filas, luego el resultado esperado para el jugadorseleccionar acciónes.
Para maximizar, jugadordebería elegir plan. De manera similar, la recompensa esperada para el jugadores. Elegir planminimizaría esta recompensa. Según el teorema Min-Max de John Von Neumann , obtenemos:
donde P e i cambian sobre las distribuciones sobre las filas, Q y j cambian sobre las columnas.
Entonces, dejadenotemos el valor común de las cantidades anteriores, también llamado "valor del juego". Seasea un parámetro de error. Para resolver el juego de suma cero limitado por el error aditivo de,
Entonces hay un algoritmo que resuelve el juego de suma cero hasta un factor aditivo de δ usando O( log 2 ( n ) /) llamadas a ORACLE, con un tiempo de procesamiento adicional de O(n) por llamada [ 9 ]
Bailey y Piliouras demostraron que, si bien el comportamiento promedio en el tiempo de la actualización de pesos multiplicativos converge a equilibrios de Nash en juegos de suma cero, el comportamiento diario (última iteración) diverge de él. [ 10 ]
Aprendizaje automático
En aprendizaje automático, Littlestone y Warmuth generalizaron el algoritmo Winnow al algoritmo de mayoría ponderada. [ 11 ] Posteriormente, Freund y Schapire lo generalizaron en forma de algoritmo Hedge. [ 12 ] El algoritmo AdaBoost, formulado por Yoav Freund y Robert Schapire, también empleó el método de actualización de pesos multiplicativa. [ 1 ]
Algoritmo de selección
Basándose en el conocimiento actual de algoritmos, el método de actualización de pesos multiplicativo se utilizó por primera vez en el algoritmo de selección de Littlestone. [ 1 ] Se utiliza en el aprendizaje automático para resolver un programa lineal.
Dadoejemplos etiquetadosdóndeson vectores de características yson sus etiquetas.
El objetivo es encontrar pesos no negativos tales que, para todos los ejemplos, el signo de la combinación ponderada de las características coincida con sus etiquetas. Es decir, se requiere quea pesar deSin pérdida de generalidad , supongamos que el peso total es 1, de modo que formen una distribución. Por lo tanto, para mayor comodidad notacional, redefinimosserEl problema se reduce a encontrar una solución al siguiente problema de programación lineal:
, , .
Esta es la forma general de LP.
Algoritmo de cobertura
Fuente: [ 2 ]
El algoritmo de cobertura es similar al algoritmo de mayoría ponderada. Sin embargo, sus reglas de actualización exponencial son diferentes. [ 2 ] Generalmente se utiliza para resolver el problema de asignación binaria en el que necesitamos asignar diferentes porciones de recursos a N opciones diferentes. La pérdida con cada opción está disponible al final de cada iteración. El objetivo es reducir la pérdida total sufrida para una asignación particular. La asignación para la siguiente iteración se revisa entonces, basándose en la pérdida total sufrida en la iteración actual mediante una actualización multiplicativa. [ 13 ]
Análisis
Supongamos que la tasa de aprendizajey para,es elegido por Hedge. Luego para todos los expertos,
Inicialización : Corrija un. Para cada experto, asocie el peso≔1 Para t=1,2,...,T:
1. Elija la distribucióndónde. 2. Observar el costo de la decisión. 3. Conjunto ).
Algoritmo AdaBoost
Este algoritmo [ 12 ] mantiene un conjunto de pesossobre los ejemplos de entrenamiento. En cada iteración, una distribuciónse calcula normalizando estos pesos. Esta distribución se introduce en el aprendiz débil WeakLearn, que genera una hipótesis.que (con suerte) tiene un pequeño error con respecto a la distribución. Usando la nueva hipótesisAdaBoost genera el siguiente vector de pesos.El proceso se repite. Después de T iteraciones de este tipo, la hipótesis finales el resultado. La hipótesiscombina los resultados de las T hipótesis débiles mediante una votación mayoritaria ponderada. [ 12 ]
Aporte : Secuencia deejemplos etiquetados (,),...,(,) Distribuciónsobre elejemplos Algoritmo de aprendizaje débil "'WeakLearn'" EnteroEspecificar el número de iteraciones Inicializar el vector de pesos:para. Hacer por1. Conjunto2. Llama a WeakLearn y proporciónale la distribución .; obtener una hipótesis[0,1]. 3 . Calcular el error de. 4 . Conjunto. 5 . Establezca el nuevo vector de pesos como. Enunciar la hipótesis:
Resolver programas lineales aproximadamente
Fuente: [ 14 ]
Problema
Dado unmatrizy, Hay unade tal manera que¿
(1)Suposición
Utilizando el algoritmo del oráculo para resolver el problema de suma cero, con un parámetro de error., el resultado sería un puntode tal manera queo una prueba de queno existe, es decir, no hay solución para este sistema lineal de desigualdades.
Solución
Vector dado, resuelve el siguiente problema relajado
(2)Si existe ax que satisface (1), entonces x satisface (2) para todo. La contrapositiva de esta afirmación también es verdadera. Supongamos que oráculo devuelve una solución factible para unla solucióndevuelve un ancho limitado. Entonces, si existe una solución para (1), entonces existe un algoritmo cuya salida x satisface el sistema (2) salvo un error aditivo de. El algoritmo realiza como máximollamadas a un oráculo de ancho limitado para el problema (2). La contrapositiva también es cierta. En este caso, se aplican las actualizaciones multiplicativas en el algoritmo.
Otras aplicaciones
- Teoría de juegos evolutiva
- La actualización de pesos multiplicativos es la variante en tiempo discreto de la ecuación del replicador (dinámica del replicador), un modelo comúnmente utilizado en la teoría de juegos evolutivos . Converge al equilibrio de Nash cuando se aplica a un juego de congestión . [ 15 ]
- Investigación operativa y toma de decisiones estadísticas en línea
- En el campo de la investigación operativa y la toma de decisiones estadísticas en línea, el algoritmo de mayoría ponderada y sus versiones más complejas se han encontrado de forma independiente. [ 1 ]
- Geometría computacional
- El algoritmo de pesos multiplicativos también se aplica ampliamente en geometría computacional , [ 1 ] como el algoritmo de Clarkson para programación lineal (PL) con un número limitado de variables en tiempo lineal. [ 4 ] [ 5 ] Posteriormente, Bronnimann y Goodrich emplearon métodos análogos para encontrar cubiertas de conjuntos para hipergrafos con una dimensión VC pequeña . [ 6 ]
- Marco de Plotkin, Shmoys, Tardos para empaquetar / cubrir LP [ 1 ]
- Aproximación de problemas de flujo de múltiples productos básicos [ 1 ]
- Aproximación O(logn) para muchos problemas NP-difíciles [ 1 ]
- Conjuntos de núcleo duro y el lema XOR [ 1 ]
- El algoritmo de Hannan y los pesos multiplicativos [ 1 ]
- Optimización convexa en línea [ 1 ]
Referencias
- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Arora, Sanjeev ; Hazan, Elad; Kale, Satyen (2012). "El método de actualización de pesos multiplicativos: un metaalgoritmo y aplicaciones" . Theory of Computing . 8 : 121–164 . doi : 10.4086/toc.2012.v008a006 .
- 1 2 3 4 5 6 "El algoritmo de pesos multiplicativos*" (PDF) . Consultado el 9 de noviembre de 2016 .
- ↑ Grigoriadis, Michael D.; Khachiyan, Leonid G. (1995). "Un algoritmo de aproximación aleatoria de tiempo sublineal para juegos de matrices". Operations Research Letters . 18 (2): 53– 58. doi : 10.1016/0167-6377(95)00032-0 .
- 1 2 Kenneth L. Clarkson. Un algoritmo de Las Vegas para programación lineal cuando la dimensión es pequeña. , En Proc. 29th FOCS, pp. 452–456. IEEE Comp. Soc. Press, 1988.[doi:10.1109/SFCS.1988.21961] 123, 152.
- 12Kenneth L. Clarkson. A Las Vegas algorithm for linear and integer programming when the dimension is small., Journal of the ACM, 42:488–499, 1995. [doi:10.1145/201019.201036] 123, 152.
- 12Bronnimann, H.; Goodrich, M. T. (1995). "Almost optimal set covers in finite VC-dimension". Discrete & Computational Geometry. 14 (4): 463–479. doi:10.1007/BF02570718. Preliminary version in 10th Ann. Symp. Comp. Geom. (SCG'94).
- ↑"Lecture 8: Decision-making under total uncertainty: the multiplicative weight algorithm"(PDF). 2013.
- ↑"COS 511: Foundations of Machine Learning"(PDF). 20 March 2006.
- 123"An Algorithmist's Toolkit". 8 December 2009. Retrieved 9 November 2016.
- ↑Bailey, James P., and Georgios Piliouras. "Multiplicative weights update in zero-sum games." Proceedings of the 2018 ACM Conference on Economics and Computation. ACM, 2018.
- ↑Foster, Dean P.; Vohra, Rakesh (1999). "Regret in the on-line decision problem"(PDF). Games and Economic Behavior. 29 (1–2): 7–35. doi:10.1006/game.1999.0740.
- 123Yoav, Freund. Robert, E. Schapire (1996). TA Decision-Theoretic Generalization of On-Line Learning and an Application to Boosting*, p. 55. journal of computer and system sciences.
- ↑"Online Learning from Experts: Weighed Majority and Hedge"(PDF). Archived from the original on 29 May 2016. Retrieved 7 December 2016.
- ↑"Fundamentals of Convex Optimization"(PDF). Retrieved 9 November 2016.
- ↑Kleinberg, Robert, Georgios Piliouras, and Eva Tardos. "Multiplicative updates outperform generic no-regret learning in congestion games." Proceedings of the forty-first annual ACM symposium on Theory of computing. ACM, 2009.
External links
- The Game Theory of Life a Quanta Magazine article describing the use of the method to evolutionary biology in a paper by Erick Chastain, Adi Livnat, Christos Papadimitriou, and Umesh Vazirani
- Algorithms
- Machine learning
- Randomized algorithms