Hay varias formas de construir un conjunto de recomendadores, o combinar diferentes enfoques.
- Unificación: puede combinar diferentes aspectos de modelado en un modelo. Por ejemplo, para el Premio Netflix, los modelos basados en vecinos y los modelos de factorización matricial se combinaron de varias maneras en un solo algoritmo que generalmente superó a los algoritmos base. Algún ejemplo para esto:
- Takács et al, Un enfoque unificado de modelos de factores y métodos basados en vecinos para sistemas de recomendación grandes, ICADIWT 2008, [otro enlace]
- Koren, Factorización se encuentra con el vecindario: un modelo de filtrado colaborativo multifacético, KDD 2008.
- Votación (también llamada a menudo combinación): otro tipo de combinación típica es volver a clasificar la salida de los recomendadores en función de la puntuación de relevancia de los miembros individuales del conjunto de algoritmos. Aquí puede, por ejemplo, simplemente agregar el puntaje de cada algoritmo y luego recomendar aquellos elementos que tienen el puntaje agregado más alto. Obviamente, puede hacer algo de ponderación aquí, basado en la confianza, por ejemplo, o en alguna estimación de bondad. La solución ganadora del Premio Netflix fue una combinación de 107 algoritmos. Ver también:
- Töscher, Jahrer, The BigChaos Solution to the Netflix Grand Prize, 2009.
- Koren, la solución de BellKor para el Gran Premio de Netflix, 2009 – vea también más sobre la mezcla en el mismo.
- Una forma más compleja de mezclar es apilar: Sill et al: Feature-Weighted Linear Stacking, Arxiv, 2009.
- Con la introducción de la inteligencia artificial, ¿podrán las computadoras tener un alto coeficiente intelectual?
- ¿Cómo se ajustan los pesos en una red neuronal mientras estoy entrenando la red?
- Quiero aprender el procesamiento del lenguaje natural en CMU. ¿Es mejor tomarlo como un estudiante de CS o tomarlo como un estudiante de lingüística (como una electiva)?
- ¿Alguna vez ha utilizado el aprendizaje automático de alguna manera para ayudar en las pruebas de software y la automatización de pruebas?
- Quiero solicitar un programa de doctorado en Machine Learning, ¿cómo debo prepararme?
- Conexión en cascada: otra forma típica en la industria de la combinación de algoritmos es la conexión en cascada, cuando hay una prioridad de los algoritmos en la combinación, es decir, si el algoritmo primario (A) puede proporcionar una recomendación, esta es la salida, si no, entonces hay un algoritmo secundario (B), y así sucesivamente, por lo general hay una última falla, siendo a menudo una línea de base simple, como el algoritmo basado en popularidad. También usamos ese tipo de priorización de algoritmos en nuestro motor de personalización Yusp en Gravity. Esto es útil, por ejemplo, para manejar usuarios con diferentes volúmenes de datos de historial de usuario: el algoritmo primario puede ser uno de factorización matricial, que requiere un historial de usuario largo, el secundario puede ser un algoritmo de filtrado basado en contenido, etc.
- Reglas comerciales: por último, pero no menos importante, puede combinar algoritmos dedicando ciertas posiciones en la salida del recomendante a un algoritmo específico y, por lo tanto, puede lograr una compensación de exploración-explotación. Digamos, en la posición 3 siempre se muestra el contenido popular en tendencia. Dicha combinación también puede ser impulsada por las reglas comerciales, y luego se puede priorizar el contenido editorial o el contenido destacado de un proveedor (en cierta posición).
Una observación final: la combinación de los algoritmos es siempre el arte de la configuración de recomendación. También es posible que desee aprenderlo, utilizando, por ejemplo, bandidos contextuales de varios brazos (ver Tang et al, Bandidos contextuales Ensemble para recomendación personalizada, Recsys 2014) u otros enfoques sofisticados. Sin embargo, estos suelen ser realizados por expertos en personalización, ya que no hay 2 casos de uso iguales en la personalización.