¿Cuán ampliamente se utilizan los algoritmos de bandidos en los sistemas de recomendaciones modernos reales? ¿Y de qué manera?

Los algoritmos de bandidos (más específicamente, los algoritmos de bandidos contextuales) están ganando lentamente impulso para la recomendación, pero no son tan populares como los enfoques de filtrado colaborativo.

Dos ejemplos principales que he visto (junto con documentos que explican los métodos):

  1. Yahoo! y MSN News: Yahoo! La página de inicio utiliza bandidos contextuales para recomendar noticias a los usuarios. Los bandidos también se han aplicado para personalizar las noticias en la página de inicio de MSN.
  2. LinkedIn Today: este es un portal de noticias personalizado en LinkedIn y utiliza bandidos contextuales para impulsar las recomendaciones.

Además de estos, los bandidos contextuales se están utilizando para recomendar anuncios en Yahoo, seleccionar sus formatos en LinkedIn y para recomendar consultas alternativas en motores de búsqueda como Bing.

Es posible que haya notado que ambas aplicaciones de recomendación son para noticias. En parte, esto se debe a la popularidad y la amplia aceptación de los modelos tradicionales basados ​​en el filtrado colaborativo para construir recomendaciones en otros dominios. Sin embargo, esto también habla de las ventajas y desventajas comparativas de los algoritmos basados ​​en bandidos: son adecuados para dominios como noticias donde el número de elementos candidatos es casi constante y casi todos los elementos tienen poca retroalimentación pasada porque los artículos se vuelven obsoletos muy rápidamente . En contraste, dominios como películas o música tienen miles de elementos candidatos para recomendar, lo que hace que la aplicación de bandidos contextuales sea una tarea no trivial debido a la maldición de la dimensionalidad.

Anteriormente trabajé en Baynote, un motor de recomendación de productos de comercio electrónico como servicio. Utilizamos el filtrado colaborativo de libros de texto en los primeros días de la compañía. A medida que crecimos y contratamos a un equipo más calificado, nuestro algoritmo de recomendación fue reemplazado por un enfoque más avanzado basado en un algoritmo de bandido.

Tengo que respetar la propiedad intelectual de Baynote, por lo que esperaba encontrar detalles divulgados públicamente en el blog de la compañía. Aquí hay un artículo que establece claramente el uso de la exploración y la explotación: Cuidado con el sesgo. Esta entrada de blog está escrita por el departamento de marketing. Recomiendo leer también el blog de ingeniería, aunque nada menciona directamente a los bandidos o el uso de explore-exploit.

Sin embargo, nuestro mayor competidor es muy ruidoso y orgulloso de su uso de algoritmos de bandidos, lo felicita por eso 🙂

Esta es una gran entrada de blog de Rich Relevance sobre su uso de algoritmos de bandidos: Bandidos para sistemas de recomendación. Sergey demuestra el uso de UCB en el proceso de selección de acciones. También tiene otro gran blog que describe Thompson Sampling: Recomendaciones con Thompson Sampling.

Dado el éxito de estas dos compañías, y la gran cantidad de sitios web de comercio electrónico que admiten, diría que los algoritmos de bandidos se usan ampliamente , de la misma manera que glibc se despliega ampliamente. En otras palabras, el trabajo de unos pocos beneficia a muchos.

Después de Baynote, me uní a Yahoo y construí plataformas de datos en tiempo real para su uso en publicidad y recomendaciones. Mi observación allí fue que los algoritmos de bandidos son el método de ir a recomendaciones, entre muchas otras cosas. En general, la mayoría de los datos no están etiquetados, y especialmente no a escala. Hay muchas publicaciones sobre el uso de bandidos por parte de Y a este respecto. Esto se atribuye en gran medida a la necesidad de una personalización más directa, algo que el modelo colaborativo de los libros de texto no puede capturar. Casi todas las grandes compañías tecnológicas emplean las mismas técnicas.

En la menor cantidad de palabras posible, un agente recomendará un elemento (seleccione una acción) que minimice el arrepentimiento de realizar esas acciones. Un método para modelar el arrepentimiento es mediante el uso del rango recíproco de cada elemento recomendado. Por ejemplo, si un agente recomienda el elemento A como primer resultado, y el usuario no hace clic en él, entonces lamenta esa acción por 1 / rango (A) o 1. Si el usuario no hizo clic en el segundo resultado B, un agente lamentará esa acción por 1 / rango (B) o 0.5. En otras palabras, un agente lamentará más las suposiciones erróneas cuando las clasifique más alto. El objetivo del agente es optimizar ese proceso y puede usar algo como UCB para determinar las clasificaciones.

No estoy del todo seguro de que esté respondiendo su pregunta aquí, pero los experimentos de Google utilizan un algoritmo de bandido multi-armado (bayesiano) para recomendar cuál de varias páginas web es la más efectiva para lograr un determinado punto final.

Usted puede leer sobre ello aquí.

En realidad, es una aplicación bastante brillante del concepto del bandido multi-armado y el proceso de razonamiento bayesiano para recomendar qué versión de una página web es más precisa. Tiene numerosos beneficios sobre el enfoque frecuentista (otro recurso aquí), pero no se entiende tan fácilmente como los otros servicios de pruebas A / B, por lo que creo que recibe menos atención, a pesar de que (imo) es claramente mejor.

Si esto no es lo que está preguntando, avíseme en un comentario y lo eliminaré para que otra persona pueda tomar una foto.