Articulo de referencia

Método de actualización de peso multiplicativo

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 ampliame...

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

Fuente: [ 1 ] [ 7 ]

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η1/2{\displaystyle \eta \leq 1/2}. Para cada experto, asocie el pesowi1{\displaystyle {w_{i}}^{1}}≔1. Parat{\displaystyle t}=1{\displaystyle {\mathit {1}}},2{\displaystyle {\mathit {2}}},...,T{\displaystyle T}1. Realizar la predicción dada por la mayoría ponderada de las predicciones de los expertos en función de sus ponderaciones.w1t,...,wnortet{\displaystyle \mathbb {w_{1}} ^{t},...,\mathbb {w_{n}} ^{t}}. 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-η): wit+1{\displaystyle w_{i}^{t+1}}=(1η)wit{\displaystyle (1-\eta )w_{i}^{t}}(actualizar regla)

Siη=0{\displaystyle \eta =0}, el peso del consejo del experto seguirá siendo el mismo. Cuandoη{\displaystyle \eta }A medida que aumenta, el peso del consejo del experto disminuirá. Tenga en cuenta que algunos investigadores fijanη=1/2{\displaystyle \eta =1/2}en el algoritmo de mayoría ponderada.

DespuésT{\displaystyle T}pasos, dejarmetroiT{\displaystyle m_{i}^{T}}sea ​​el número de errores del experto i yMETROT{\displaystyle M^{T}}sea ​​el número de errores que ha cometido nuestro algoritmo. Entonces tenemos la siguiente cota para cadai{\displaystyle i}:

METROT2(1+η)metroiT+2ln(norte)η{\displaystyle M^{T}\leq 2(1+\eta )m_{i}^{T}+{\frac {2\ln(n)}{\eta }}}.

En particular, esto se aplica a i, que es el mejor experto. Dado que el mejor experto tendrá el menormetroiT{\displaystyle m_{i}^{T}}Esto 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

F(incógnita)={1con probabilidadq1W0de lo contrario{\displaystyle f(x)={\begin{cases}1&{\text{con probabilidad}}{\frac {q_{1}}{W}}\\0&{\text{en otro caso}}\end{cases}}}

dónde

W=iwi=q0+q1{\displaystyle W=\sum _{i}{w_{i}}=q_{0}+q_{1}}.

El número de errores cometidos por el algoritmo de mayoría ponderada aleatoria está acotado de la siguiente manera:

mi[#errores del aprendiz]αβ(# errores del mejor experto)+doβln(norte){\displaystyle E\left[\#{\text{errores del aprendiz}}\right]\leq \alpha _{\beta }\left(\#{\text{errores del mejor experto}}\right)+c_{\beta }\ln(N)}

dónde αβ=ln(1β)1β{\displaystyle \alpha _{\beta }={\frac {\ln({\frac {1}{\beta }})}{1-\beta }}}y doβ=11β{\displaystyle c_{\beta }={\frac {1}{1-\beta }}}.

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 ,αβ1{\displaystyle \alpha _{\beta }\rightarrow 1}siβ1{\displaystyle \beta \rightarrow 1}En 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 definenη=1/2{\displaystyle \eta =1/2}en el algoritmo de mayoría ponderada y permitir0η1{\displaystyle 0\leq \eta \leq 1}en 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)

Fuente: [ 1 ] [ 9 ]

Supongamos que nos dieron la distribuciónPAG{\displaystyle P}sobre expertos. DejeA{\displaystyle A}= matriz de pagos de un juego finito de suma cero para dos jugadores, connorte{\displaystyle n}filas.

Cuando el jugador de filapagr{\displaystyle p_{r}}plan de usosi{\displaystyle i}y el jugador de columnapagdo{\displaystyle p_{c}}plan de usosj{\displaystyle j}, la recompensa del jugadorpagdo{\displaystyle p_{c}}esA(i,j){\displaystyle A\left(i,j\right)}Aij{\displaystyle A_{ij}}, suponiendoA(i,j)[0,1]{\displaystyle A\left(i,j\right)\in \left[0,1\right]}.

Si el jugadorpagr{\displaystyle p_{r}}elige accióni{\displaystyle i}de una distribuciónPAG{\displaystyle P}sobre las filas, luego el resultado esperado para el jugadorpagdo{\displaystyle p_{c}}seleccionar acciónj{\displaystyle j}esA(PAG,j)=miiPAG[A(i,j)]{\displaystyle A\left(P,j\right)=E_{i\in P}\left[A\left(i,j\right)\right]}.

Para maximizarA(PAG,j){\displaystyle A\left(P,j\right)}, jugadorpagdo{\displaystyle p_{c}}debería elegir planj{\displaystyle j}. De manera similar, la recompensa esperada para el jugadorpagl{\displaystyle p_{l}}esA(i,PAG)=mijPAG[A(i,j)]{\displaystyle A\left(i,P\right)=E_{j\in P}\left[A\left(i,j\right)\right]}. Elegir plani{\displaystyle i}minimizaría esta recompensa. Según el teorema Min-Max de John Von Neumann , obtenemos:

minPAGmáximojA(PAG,j)=máximoQminiA(i,Q){\displaystyle \min _{P}\max _{j}A\left(P,j\right)=\max _{Q}\min _{i}A\left(i,Q\right)}

donde P e i cambian sobre las distribuciones sobre las filas, Q y j cambian sobre las columnas.

Entonces, dejaλ{\displaystyle \lambda ^{*}}denotemos el valor común de las cantidades anteriores, también llamado "valor del juego". Seaδ>0{\displaystyle \delta >0}sea ​​un parámetro de error. Para resolver el juego de suma cero limitado por el error aditivo deδ{\displaystyle \delta },

λδminiA(i,q){\displaystyle \lambda ^{*}-\delta \leq \min _{i}A\left(i,q\right)}máximojA(pag,j)λ+δ{\displaystyle \max _{j}A\left(p,j\right)\leq \lambda ^{*}+\delta }

Entonces hay un algoritmo que resuelve el juego de suma cero hasta un factor aditivo de δ usando O( log 2 ( n ) /δ2{\displaystyle \delta ^{2}}) 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.

Dadometro{\displaystyle m}ejemplos etiquetados(a1,l1),,(ametro,lmetro){\displaystyle \left(a_{1},l_{1}\right),{\text{…}},\left(a_{m},l_{m}\right)}dóndeajRnorte{\displaystyle a_{j}\in \mathbb {R} ^{n}}son vectores de características ylj{1,1}{\displaystyle l_{j}\in \left\{-1,1\right\}\quad }son 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 queljajincógnita0{\displaystyle l_{j}a_{j}x\geq 0}a pesar dej{\displaystyle j}Sin 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, redefinimosaj{\displaystyle a_{j}}serljaj{\displaystyle l_{j}a_{j}}El problema se reduce a encontrar una solución al siguiente problema de programación lineal:

j=1,2,,metro:ajincógnita0{\displaystyle \forall j=1,2,{\text{…}},m:a_{j}x\geq 0}, 1incógnita=1{\displaystyle 1*x=1}, i:incógnitai0{\displaystyle \forall i:x_{i}\geq 0}.

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 aprendizajeη>0{\displaystyle \eta >0}y parat[T]{\displaystyle t\in [T]},pagt{\displaystyle p^{t}}es elegido por Hedge. Luego para todos los expertosi{\displaystyle i},

tTpagtmetrottTmetroit+ln(norte)η+ηT{\displaystyle \sum _{t\leq T}p^{t}m^{t}\leq \sum _{t\leq T}m_{i}^{t}+{\frac {\ln(N)}{\eta }}+\eta T}

Inicialización : Corrija unη>0{\displaystyle \eta >0}. Para cada experto, asocie el pesowi1{\displaystyle w_{i}^{1}}≔1 Para t=1,2,...,T:

 1. Elija la distribuciónpagit=witΦt{\displaystyle p_{i}^{t}={\frac {w_{i}^{t}}{\Phi t}}}dóndeΦt=iwit{\displaystyle \Phi t=\sum _{i}w_{i}^{t}}. 2. Observar el costo de la decisiónmetrot{\displaystyle m^{t}}. 3. Conjunto wit+1=witexp(ηmetroit{\displaystyle w_{i}^{t+1}=w_{i}^{t}\exp(-\eta m_{i}^{t}}).

Algoritmo AdaBoost

Este algoritmo [ 12 ] mantiene un conjunto de pesoswt{\displaystyle w^{t}}sobre los ejemplos de entrenamiento. En cada iteraciónt{\displaystyle t}, una distribuciónpagt{\displaystyle p^{t}}se calcula normalizando estos pesos. Esta distribución se introduce en el aprendiz débil WeakLearn, que genera una hipótesis.ht{\displaystyle h_{t}}que (con suerte) tiene un pequeño error con respecto a la distribución. Usando la nueva hipótesisht{\displaystyle h_{t}}AdaBoost genera el siguiente vector de pesos.wt+1{\displaystyle w^{t+1}}El proceso se repite. Después de T iteraciones de este tipo, la hipótesis finalhF{\displaystyle h_{f}}es el resultado. La hipótesishF{\displaystyle h_{f}}combina los resultados de las T hipótesis débiles mediante una votación mayoritaria ponderada. [ 12 ]

Aporte : Secuencia denorte{\displaystyle N}ejemplos etiquetados (incógnita1{\displaystyle x_{1}},y1{\displaystyle y_{1}}),...,(incógnitanorte{\displaystyle x_{N}},ynorte{\displaystyle y_{N}}) DistribuciónD{\displaystyle D}sobre elnorte{\displaystyle N}ejemplos Algoritmo de aprendizaje débil "'WeakLearn'" EnteroT{\displaystyle T}Especificar el número de iteraciones Inicializar el vector de pesos:wi1=D(i){\displaystyle w_{i}^{1}=D(i)}parai=1,2,...,norte{\displaystyle i=1,2,...,N}. Hacer port=1,2,...,T{\displaystyle t=1,2,...,T}1. Conjuntopagt=wti=1nortewit{\displaystyle p^{t}={\frac {w^{t}}{\sum _{i=1}^{N}w_{i}^{t}}}}2. Llama a WeakLearn y proporciónale la distribución .pagt{\displaystyle p^{t}}; obtener una hipótesisht:incógnita{\displaystyle h_{t}:X\rightarrow }[0,1]. 3 . Calcular el error deht:ϵt=i=1nortepagit|ht(incógnitai)yi|{\displaystyle h_{t}:\epsilon _{t}=\sum _{i=1}^{N}p_{i}^{t}|h_{t}(x_{i})-y_{i}|}. 4 . Conjuntoβt=ϵt1ϵt{\displaystyle \beta _{t}={\frac {\epsilon _{t}}{1-\epsilon _{t}}}}. 5 . Establezca el nuevo vector de pesos comowit+1=witβt1|ht(incógnitai)yi|{\displaystyle w_{i}^{t+1}=w_{i}^{t}\beta _{t}^{1-|h_{t}(x_{i})-y_{i}|}}. Enunciar la hipótesis:
F(incógnita)=hF(incógnita)={1sit=1T(registro(1/βt))ht(incógnita)12t=1Tregistro(1/βt)0de lo contrario{\displaystyle f(x)=h_{f}(x)={\begin{cases}1&{\text{if}}\sum _{t=1}^{T}(\log(1/\beta _{t}))h_{t}(x)\geq {\frac {1}{2}}\sum _{t=1}^{T}\log(1/\beta _{t})\\0&{\text{otherwise}}\end{cases}}}

Resolver programas lineales aproximadamente

Fuente: [ 14 ]

Problema

Dado unmetro×norte{\displaystyle m\times n}matrizA{\displaystyle A}ybRnorte{\displaystyle b\in \mathbb {R} ^{n}}, Hay unaincógnita{\displaystyle x}de tal manera queAincógnitab{\displaystyle Ax\geq b}¿

¿incógnita:Aincógnitab{\displaystyle \exists ?x:Ax\geq b} (1)

Suposición

Utilizando el algoritmo del oráculo para resolver el problema de suma cero, con un parámetro de error.ϵ>0{\displaystyle \epsilon >0}, el resultado sería un puntoincógnita{\displaystyle x}de tal manera queAincógnitabϵ{\displaystyle Ax\geq b-\epsilon }o una prueba de queincógnita{\displaystyle x}no existe, es decir, no hay solución para este sistema lineal de desigualdades.

Solución

Vector dadopagΔnorte{\displaystyle p\in \Delta _{n}}, resuelve el siguiente problema relajado

¿incógnita:pagTAincógnitapagTb{\displaystyle \exists ?x:p^{\textsf {T}}\!\!Ax\geq p^{\textsf {T}}\!b} (2)

Si existe ax que satisface (1), entonces x satisface (2) para todopagΔnorte{\displaystyle p\in \Delta _{n}}. La contrapositiva de esta afirmación también es verdadera. Supongamos que oráculo devuelve una solución factible para unpag{\displaystyle p}la soluciónincógnita{\displaystyle x}devuelve un ancho limitadomáximoi|(Aincógnita)ibi|1{\displaystyle \max _{i}|{(Ax)}_{i}-b_{i}|\leq 1}. Entonces, si existe una solución para (1), entonces existe un algoritmo cuya salida x satisface el sistema (2) salvo un error aditivo de2ϵ{\displaystyle 2\epsilon }. El algoritmo realiza como máximoln(metro)ϵ2{\displaystyle {\frac {\ln(m)}{\epsilon ^{2}}}}llamadas 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 ]
Método de descenso de gradiente [ 1 ]
Actualización de pesos multiplicativos de matriz [ 1 ]
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 ]
Teoría del aprendizaje y potenciación [ 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. 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 .
  2. 1 2 3 4 5 6 "El algoritmo de pesos multiplicativos*" (PDF) . Consultado el 9 de noviembre de 2016 .
  3. 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 .
  4. 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.
  5. 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.
  6. 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).
  7. "Lecture 8: Decision-making under total uncertainty: the multiplicative weight algorithm"(PDF). 2013.
  8. "COS 511: Foundations of Machine Learning"(PDF). 20 March 2006.
  9. 123"An Algorithmist's Toolkit". 8 December 2009. Retrieved 9 November 2016.
  10. 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.
  11. 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.
  12. 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.
  13. "Online Learning from Experts: Weighed Majority and Hedge"(PDF). Archived from the original on 29 May 2016. Retrieved 7 December 2016.
  14. "Fundamentals of Convex Optimization"(PDF). Retrieved 9 November 2016.
  15. 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.