Compitiendo contra una mayoría ponderada óptima en algoritmo de expertos

8

En el problema de los expertos, expertos le dan predicciones binarias a diario, y usted tiene que predecir si va a llover mañana.n

Es decir, en el día , usted conoce las predicciones pasadas de los expertos, el clima real para los días y las predicciones para mañana, y tiene que predecir si lloverá al día siguiente.t1,2,t

En el algoritmo clásico de mayoría ponderada , el algoritmo comete errores , donde es el número de errores del mejor experto.O(logn+m)m

Para mí, esto parece una promesa extremadamente débil, ya que no permite ningún beneficio al combinar las predicciones de varios expertos.

Suponga que cada resultado es , la predicción del experto el día es y el resultado del día es . Podemos definir un adversario de `` mayoría ponderada óptima '' como una función de peso óptima , de modo que la decisión tomada por el adversario en el día se define como , es decir, la mayoría ponderada de las predicciones, con respecto al vector . Usando esta notación, el adversario anterior (mejor experto) solo podía elegir vectores unitarios.{±1}itpi,ttotwΔ([n])tsign(wpt)w

Entonces podemos definir el error óptimo para los días como: 1,2,T

E=12minwΔ([n])t=1T|sign(wpt)ot|

¿Cómo minimizarías el arrepentimiento, en comparación con E ?


Para ver que este es un adversario mucho más poderoso, considere el caso de 3 expertos y 3 días en los que el resultado siempre fue 1 . Si p1=(1,1,1),p2=(1,1,1),p3=(1,1,1) , entonces cada experto tuvo un error, pero un vector de mayoría ponderada de (1/3,1/3,1/3) no tenía ninguno.

RB
fuente
1
Creo que está buscando el método de gradiente exponencial: users.soe.ucsc.edu/~manfred/pubs/J36.pdf
Lev Reyzin
Los pesos multiplicativos tienen el error relación con el mejor experto individual (de ) en rondasPodríamos crear "meta expertos" correspondientes a todas las mayorías ponderadas posibles y luego ejecutar MW para obtener el error . No está seguro de qué tan grande necesita ser - quizás es suficiente. O(Tlogn)nTNO(TlogN)NN=nO(n)
Thomas
@Thomas: lo pensé hace un tiempo. Tendría que configurar , que es bastante grande: oeis.org/A000609 . N=nΘ(n2)
RB
O(nTlogn) errores es un buen comienzo. ¿A qué estás apuntando?
Thomas
@Thomas: de hecho es un comienzo. Esperaba un algoritmo , y creo que debería ser factible. o(nT)
RB

Respuestas:

1

Si no le importa la aleatorización, los algoritmos de aprendizaje en línea estándar en el "marco de optimización convexo en línea" le brindan esencialmente lo que pide, con expectativa. La razón es que estos algoritmos son necesarios para generar una distribución en los expertos en cada paso de tiempo, sufriendo una pérdida esperada igual a la expectativa de elegir un experto de esta distribución. Y tienen un bajo arrepentimiento esperado en comparación con la mejor distribución de expertos, es decir, .wΔ([n])O(lnn/T)

Por ejemplo, puede tomar el algoritmo clásico de pesos multiplicativos, que es solo mayoría ponderada, pero elegir un experto para seguir con probabilidad proporcional a su "peso". Esto se menciona en la encuesta de Arora (Teorema 6): https://www.cs.princeton.edu/~arora/pubs/MWsurvey.pdf

usul
fuente
2
Usul, cuando dices "arrepentimiento en comparación con la mejor distribución de expertos", ¿es eso lo que RB está pidiendo? ¿No es la forma estándar de usar una distribución en expertos para simplemente hacer predicciones fraccionarias en cada momento ? O (más o menos equivalente) para predecir 1 con probabilidad y -1 en caso contrario. Entonces, siempre hay una óptima un solo experto, ¿verdad? Pero como entiendo la sugerencia de RB, es ligeramente diferente: haga la predicción entera: sign en cada momento . ¿Está claro que esto no puede dar predicciones sustancialmente mejores? wwptt(wpt+1)/2w(wpt)t
Neal Young
@NealYoung, buen punto, no lo pensé tan profundamente. Asumí implícitamente que puedes convexificar esta función objetivo y lamentarte por ello, pero eso podría estar mal ...
usul