Aprendizaje automático para sistemas de recomendación-Parte 1 (algoritmos, evaluación y arranque en frío)
Los sistemas de recomendación son una de las aplicaciones más exitosas y generalizadas de las tecnologías de aprendizaje automático en los negocios. Había muchas personas en lista de espera que no pudieron asistir a nuestra charla de MLMU, así que estoy compartiendo diapositivas y comentarios aquí.
Puede aplicar sistemas de recomendación en situaciones en las que muchos usuarios interactúan con muchos elementos.
Puede encontrar sistemas de recomendación a gran escala en tiendas minoristas, video bajo demanda o transmisión de música. Para desarrollar y mantener tales sistemas, una empresa normalmente necesita un grupo de costosos científicos e ingenieros de datos. Es por eso que incluso grandes empresas como BBC decidieron externalizar sus servicios de recomendación.
Nuestra empresa Recombee tiene su sede en Praga y desarrolla un motor de recomendación automatizado universal capaz de adaptarse a las necesidades comerciales en múltiples dominios. Nuestro motor es utilizado por cientos de empresas de todo el mundo.
Sorprendentemente, la recomendación de noticias o videos para medios de comunicación, la recomendación de productos o la personalización en viajes y tiendas minoristas se pueden manejar mediante algoritmos de aprendizaje automático similares. Además, estos algoritmos se pueden ajustar utilizando nuestro lenguaje de consulta especial en cada solicitud de recomendación.
Los algoritmos de aprendizaje automático en los sistemas de recomendación generalmente se clasifican en dos categorías: métodos de filtrado colaborativos y basados en contenido, aunque los recomendadores modernos combinan ambos enfoques. Los métodos basados en contenido se basan en la similitud de atributos de elementos y los métodos colaborativos calculan la similitud a partir de interacciones. A continuación, analizamos principalmente los métodos colaborativos que permiten a los usuarios descubrir contenido nuevo diferente a los elementos vistos en el pasado.
Los métodos colaborativos funcionan con la matriz de interacción que también se puede llamar matriz de calificación en el raro caso en que los usuarios proporcionan una calificación explícita de los elementos. La tarea del aprendizaje automático es aprender una función que predice la utilidad de los elementos para cada usuario. La matriz es típicamente enorme, muy escasa y la mayoría de los valores faltan.
El algoritmo más simple calcula la similitud de coseno o correlación de filas (usuarios) o columnas (elementos) y recomienda elementos que disfrutaron los k — vecinos más cercanos.
Los métodos basados en factorización de matrices intentan reducir la dimensionalidad de la matriz de interacción y aproximarla por dos o más matrices pequeñas con k componentes latentes.
multiplicando la correspondiente fila y columna a predecir la calificación de elemento por el usuario. El error de entrenamiento se puede obtener comparando las calificaciones no vacías con las calificaciones previstas. También se puede regularizar la pérdida de entrenamiento agregando un término de penalización manteniendo bajos los valores de los vectores latentes.
El algoritmo de entrenamiento más popular es un descenso de gradiente estocástico que minimiza la pérdida por actualizaciones de gradiente de columnas y filas de matrices p a q.
Alternativamente, se puede usar el método de mínimos cuadrados alternos que optimiza iterativamente la matriz p y la matriz q por el paso de mínimos cuadrados generales.
reglas de Asociación también puede ser utilizado para la recomendación. Los elementos que se consumen juntos con frecuencia se conectan con un borde en el gráfico. Puedes ver grupos de best sellers (artículos densamente conectados con los que casi todo el mundo interactuó) y pequeños grupos separados de contenido de nicho.
Reglas extraídas de la interacción de la matriz debe tener al menos un mínimo de apoyo y confianza. El soporte está relacionado con la frecuencia de ocurrencia: las implicaciones de los bestsellers tienen un alto soporte. La alta confianza significa que las reglas no se violan a menudo.
la Minería de reglas no es muy escalable. El algoritmo APRIORI explora el espacio de estado de posibles conjuntos de elementos frecuentes y elimina las ramas del espacio de búsqueda que no son frecuentes.
los conjuntos de elementos Frecuentes son utilizados para generar reglas y estas reglas para generar las recomendaciones.
Como ejemplo, se muestran las reglas extraídas de las transacciones bancarias en la República checa. Los nodos (interacciones) son terminales y los bordes son transacciones frecuentes. Puede recomendar terminales bancarias que sean relevantes en función de retiros / pagos anteriores.
Penalizar artículos populares y extraer reglas de cola larga con menor soporte conduce a reglas interesantes que diversifican las recomendaciones y ayudan a descubrir contenido nuevo.
Calificación de la matriz también puede ser comprimido por una red neuronal. El llamado autoencoder es muy similar a la factorización de matrices. Los autoencoders profundos, con múltiples capas ocultas y no linealidades, son más potentes pero más difíciles de entrenar. La red neuronal también se puede usar para preprocesar atributos de elementos para que podamos combinar enfoques basados en contenido y colaborativos.
Usuario-KNN N superior recomendación pseudocódigo se muestra más arriba.
las Asociaciones de reglas puede ser explotado por varios algoritmos diferentes. Aquí mostramos el pseudocódigo de las recomendaciones de las Mejores reglas.
El pseudocódigo de la factorización de la matriz está dada anteriormente.
En el aprendizaje profundo colaborativo, entrena la factorización de matrices simultáneamente con autoencoder que incorpora atributos de elementos. Por supuesto, hay muchos más algoritmos que puede usar para la recomendación y la siguiente parte de la presentación presenta algunos métodos basados en el aprendizaje profundo y de refuerzo.
Evaluación de los recomendantes
Los recomendadores se pueden evaluar de manera similar a los modelos clásicos de aprendizaje automático en datos históricos (evaluación fuera de línea).
Las interacciones de los usuarios de pruebas seleccionados al azar se validan de forma cruzada para estimar el rendimiento del recomendador en calificaciones no vistas.
El error cuadrático medio de raíz (RMSE) todavía se usa ampliamente a pesar de que muchos estudios mostraron que RMSE es un mal estimador del rendimiento en línea.
Una medida de evaluación fuera de línea más práctica es la recuperación o la evaluación de precisión del porcentaje de elementos recomendados correctamente (fuera de los elementos recomendados o relevantes). DCG también toma en consideración la posición asumiendo que la relevancia de los ítems disminuye logarítmicamente.
Se puede usar una medida adicional que no sea tan sensible al sesgo en los datos sin conexión. La cobertura del catálogo junto con la recuperación o la precisión se pueden utilizar para la optimización multiobjetiva. Hemos introducido parámetros de regularización a todos los algoritmos que permiten manipular su plasticidad y penalizar la recomendación de artículos populares.
Tanto la retirada como la cobertura deben maximizarse, por lo que impulsamos a recommender hacia recomendaciones precisas y diversas que permitan a los usuarios explorar contenido nuevo.
arranque en Frío y la recomendación basada en contenido
a Veces las interacciones faltan. Los productos de arranque en frío o los usuarios de arranque en frío no tienen suficientes interacciones para medir de forma fiable la similitud de sus interacciones, por lo que los métodos de filtrado colaborativos no generan recomendaciones.
arranque en Frío problema puede ser reducido cuando atributo similitud es tomado en cuenta. Puede codificar atributos en vectores binarios y alimentarlos para recomendar.
los Elementos agrupados en base a su interacción y la similitud de atributos de similitud son a menudo alineados.
Usted puede utilizar la red neuronal para predecir la interacción de similitud a partir de los atributos de similitud y viceversa.
Hay muchas más aproximaciones que nos permite reducir el arranque en frío problema y mejorar la calidad de la recomendación. En la segunda parte de nuestra charla, discutimos técnicas de recomendación basadas en sesiones, recomendaciones profundas, algoritmos de ensamblaje y AutoML que nos permiten ejecutar y optimizar miles de algoritmos de recomendación diferentes en producción.
Continúe con la segunda parte de la presentación discutiendo la Recomendación Profunda, la Predicción de Secuencias, el Aprendizaje Automático y el Aprendizaje por Refuerzo en Recomendación.
O consulte nuestras actualizaciones recientes en Recombee en 2019: Nuevas características y mejoras.