La Red de Conocimientos Pedagógicos - Currículum vitae - Filtrado colaborativo neuronal (filtrado colaborativo neuronal)

Filtrado colaborativo neuronal (filtrado colaborativo neuronal)

Este artículo analiza principalmente soluciones de filtrado colaborativo para comentarios implícitos. Primero, define dos conceptos: retroalimentación explícita y retroalimentación implícita:

El comportamiento de retroalimentación explícita incluye el comportamiento de los usuarios que expresan explícitamente su preferencia por los elementos.

Los comportamientos de retroalimentación implícita se refieren a comportamientos que no reflejan claramente las preferencias del usuario.

Por ejemplo:

En muchos escenarios de aplicaciones, no hay comentarios claros. Debido a que la mayoría de los usuarios son usuarios silenciosos y no le dan al sistema una respuesta clara "¿Cuál es mi preferencia para este elemento?" Por lo tanto, el sistema de recomendación puede inferir el valor de preferencia del usuario basándose en una gran cantidad de comentarios implícitos.

Con base en los datos de retroalimentación implícitos obtenidos, definimos la matriz de interacción usuario-elemento Y como:

Sin embargo, Yui de 1 solo significa que hay registros de interacción entre ellos, no que Al usuario U realmente le gusta el elemento I. De manera similar, la ausencia de registros de interacción entre U e I no significa que a U no le guste I. Esto plantea un desafío para el aprendizaje de la retroalimentación implícita porque proporciona una señal ruidosa sobre la preferencia del usuario. Si bien los elementos observados al menos reflejan el interés del usuario en el proyecto, los elementos que no han sido vistos pueden simplemente carecer de datos, lo que naturalmente deja escasos comentarios negativos.

El problema de recomendación en la retroalimentación implícita se puede expresar como el problema de estimar las puntuaciones de los elementos no observados en la matriz Y (las puntuaciones se utilizan para evaluar la clasificación de los elementos). Formalmente, se puede resumir como una función de aprendizaje:

Para manejar los datos faltantes, existen dos enfoques comunes: utilizar todos los elementos no observados como retroalimentación negativa o extraer muestras de elementos no observados como ejemplo de retroalimentación negativa.

El método de solución tradicional es la factorización matricial (MF), que encuentra un vector oculto para cada usuario y elemento. La pregunta es:

K aquí representa la dimensión del espacio latente. Como podemos ver, el modelo MF es una interacción bidireccional entre el usuario y los factores subyacentes del proyecto. Se supone que cada dimensión del espacio latente es independiente entre sí y las combina linealmente con el mismo peso. Por tanto, MF puede considerarse como un modelo lineal de factores latentes.

Un ejemplo ilustra las limitaciones de este algoritmo:

1(a) es la matriz de interacción usuario-elemento y 1(b) es el espacio implícito del usuario. Este artículo enfatiza dos puntos para comprender esta imagen:

1) MF distribuye usuarios y elementos en el mismo espacio implícito, por lo que la similitud entre dos usuarios también puede estar determinada por el espacio implícito entre ellos. ángulo vectorial en el espacio de ecuaciones.

2) Utilizar el coeficiente de Jaccard como similitud real del usuario.

La similitud entre el cálculo de MF y el cálculo del coeficiente de Jaccard también se puede utilizar para juzgar el desempeño de MF. Veamos primero el coeficiente de Jaccard.

El ejemplo anterior ilustra las posibles limitaciones de MF, ya que utiliza un producto interno fijo simple para estimar las interacciones complejas de usuarios y elementos en un espacio potencial de baja dimensión. Una forma de resolver este problema es utilizar un factor de potencial k grande (es decir, la dimensionalidad del vector espacial implícito). Sin embargo, esto puede afectar negativamente la capacidad de generalización del modelo (por ejemplo, sobreajuste de los datos), especialmente en conjuntos dispersos. Este artículo supera esta limitación mediante el uso de DNN para aprender funciones de interacción a partir de datos.

En primer lugar, este artículo propone un marco general:

Para este marco general, este artículo propone tres métodos de implementación diferentes, que se pueden ilustrar con una imagen:

GMF:

La figura anterior solo usa la capa GMF y se obtiene el primer método de implementación GMF. GMF se llama descomposición matricial generalizada y la fórmula de cálculo de la capa de salida es:

MLP:

La figura anterior solo usa la capa MLP a la derecha y el segundo método de aprendizaje. se obtiene. Aprendizaje de vectores latentes de usuarios y elementos a través de redes neuronales multicapa. De esta forma, la fórmula de cálculo de la capa de salida es:

NeuMF:

Combinando GMF y MLP se obtiene el tercer modo de implementación.

La imagen de arriba es la implementación completa de este modo. La fórmula de cálculo de la capa de salida es:

Los experimentos de este artículo se utilizan para responder las siguientes preguntas de investigación:

RQ1 es. ¿El método NCF que proponemos es mejor que los mejores métodos avanzados de filtrado colaborativo implícito?

RQ2 ¿Cómo cumple nuestro marco de optimización (pérdida de registro de muestreo de muestra negativa) la tarea de recomendación?

RQ3 ¿Las unidades ocultas más profundas ayudan a aprender de los datos de interacción usuario-elemento?

A continuación, primero presentaremos la configuración experimental y luego responderemos las tres preguntas anteriores.

El conjunto de datos utiliza dos conjuntos de datos públicos: MovieLens y Pinterest, y la Tabla 1 resume sus características.

1.MovieLens: este conjunto de datos de clasificación de películas se utiliza ampliamente para evaluar algoritmos de filtrado colaborativo. El periódico utiliza la versión de 1 millón de calificaciones y cada usuario tiene al menos 20 calificaciones. Aunque se trata de un conjunto de datos de retroalimentación explícita, este artículo lo elige deliberadamente para extraer (modelar) el rendimiento del aprendizaje de señales implícitas a partir de retroalimentación explícita. Por lo tanto, este artículo los transforma en datos implícitos, donde cada elemento se marca como 0 o 1 para indicar si el usuario calificó el elemento.

2.Pinterest: estos datos de comentarios implícitos están diseñados para evaluar recomendaciones de imágenes basadas en contenido. Los datos sin procesar son muy grandes, pero muy escasos. Por ejemplo, más del 20% de los usuarios tienen un solo pin (un pin es similar a un me gusta), lo que dificulta la evaluación de los algoritmos de filtrado colaborativo. Por lo tanto, este artículo filtra el conjunto de datos de la misma manera que el conjunto de datos de MovieLens: solo retiene a los usuarios con al menos 20 pines. Después del procesamiento, se obtuvo un subconjunto de datos que contenía 55.187 usuarios y 1.580.809 interacciones de elementos. Cada interacción indica si el usuario fijó la imagen en su página de inicio.

Esquema de evaluación: para evaluar el desempeño de la recomendación del proyecto, este artículo adopta el método de dejar uno fuera ampliamente utilizado en la literatura. Es decir, para cada usuario, la última interacción se utiliza como conjunto de prueba (el conjunto de datos suele tener una marca de tiempo) y el resto del entrenamiento se utiliza como conjunto de entrenamiento. Debido a que lleva demasiado tiempo organizar todos los elementos para cada usuario durante el proceso de evaluación, seguimos la estrategia general de seleccionar aleatoriamente 100 elementos que no interactúan con los usuarios y organizamos los elementos de prueba entre estos 100 elementos. El rendimiento de la clasificación se mide mediante la tasa de clics (HR) y los ingresos acumulativos de descuento normalizados (NDCG). Las listas de clasificación para ambas métricas se truncan en 10 a menos que se indique lo contrario. De esta manera, HR mide intuitivamente si un elemento de prueba está presente en la lista de los 10 primeros, mientras que NDCG calcula la posición de acierto asignando puntuaciones más altas como las clasificaciones más altas. Este artículo calcula estos dos indicadores para cada usuario de la prueba y obtiene una puntuación promedio.

? ItemPop clasifica los elementos según su popularidad según la cantidad de interacciones. Este es un método objetivo basado en la evaluación del desempeño de las recomendaciones.

? ItemKNN. Este es un método de filtrado colaborativo basado en elementos estándar.

? Rediseño de procesos de negocio Este enfoque optimiza el modelo MF utilizando una fórmula que tiene una pérdida de clasificación por pares y BPR lo ajusta para que pueda aprender de la retroalimentación implícita. Es un fuerte competidor para el punto de referencia de recomendación de proyectos. Este artículo utiliza una tasa de aprendizaje fija, la varía e informa su rendimiento óptimo.

? eALS. Este es el método MF más avanzado recomendado por el proyecto.

HR (tasa de aciertos) y NDCG (ganancia de pérdida acumulada normalizada), HR mide intuitivamente si el elemento de prueba existe en la lista superior de 10, mientras que NDCG asigna una puntuación más alta como la clasificación superior Calcula la ubicación del acierto , centrándose en NDCG.

El nombre NDCG puede dar miedo, pero la idea detrás de él es simple. El sistema de recomendación devuelve algunos elementos y forma una lista. Queremos calcular qué tan buena es esta lista. Cada elemento tiene un valor en puntos asociado. Por lo general, estas puntuaciones no son negativas y son ganancias. Además, normalmente establecemos la ganancia de estos elementos en 0 sin comentarios de los usuarios.

Ganancia acumulada

Sumamos estas ganancias para obtener la ganancia acumulada (CG es la puntuación de toda la lista de recomendaciones después de acumular las ramas de la relevancia de cada resultado de recomendación). .

Reli representa la relevancia de los resultados de la recomendación en la posición I, y k representa el tamaño de la lista de recomendaciones a investigar.

Ganancia de pérdida acumulada (DCG)

Una deficiencia del CG es que no tiene en cuenta el impacto de cada resultado de recomendación en diferentes ubicaciones sobre el efecto general de la recomendación. Por ejemplo, siempre queremos que los resultados con alta correlación ocupen el primer lugar. Obviamente, si los resultados con baja relevancia se clasifican en primer lugar, afectará gravemente la experiencia del usuario. Por lo tanto, introducimos el factor de impacto de posición basado en CG, es decir, DCG (ganancia acumulativa descontada), lo que significa que las recomendaciones con clasificaciones más bajas serán. ocupa el primer lugar. El efecto de recomendación resultante se "descuenta". Supongamos que cuanto más tarde ordene, menor será el valor. En la posición I-ésima, su valor es 1/log 2 (i+1), por lo que el retorno del resultado I-ésima es rel i * 1/log 2 (i+1), por lo que:

Se pueden extraer dos conclusiones de la fórmula anterior:

1. Cuanto mayor sea la relevancia de los resultados recomendados, mayor será el DCG.

2. Si la correlación es buena, el efecto de recomendación será mejor y el DCG será mayor.

Ganancia de pérdida acumulada normalizada (NDCG)

DCG todavía tiene algunas deficiencias, es decir, es difícil realizar una evaluación horizontal entre diferentes listas de recomendaciones recomendadas y es imposible para nosotros utilice solo un usuario Para evaluar un sistema de recomendación, los usuarios y los resultados de su lista de recomendaciones se evalúan en toda la máquina de prueba. Luego, es necesario normalizar los puntajes de evaluación de diferentes listas de recomendaciones de usuarios, es decir, NDCG (ganancia acumulativa normalizada).

Antes de presentar NDCG, necesitamos conocer otro concepto, IDCG (DCG ideal), que se refiere a la lista de mejores resultados de recomendación devuelta por el sistema de recomendación para un determinado usuario, es decir, se supone que el Los resultados devueltos se basan en la clasificación por relevancia, los resultados más relevantes se colocan primero y el DCG de esta secuencia es IDCG. Por lo tanto, el valor de DCG está entre (0, IDCG), por lo que el valor de NDCG está entre (0, 1). Fórmula de cálculo de NDCG:

IDCG es el valor máximo de DCG en condiciones ideales.

Donde |REL| significa que los resultados se ordenan en orden descendente de relevancia, y se toma el conjunto compuesto por los primeros p resultados. Es decir, ordenar los resultados de forma óptima.

Ejemplo práctico

Supongamos que el sistema de recomendación devuelve cinco resultados con puntuaciones de modelo de 1,2, 0,7, 0,1, 0,2 y 4,0 respectivamente.

Primero calculamos el valor DCG como 2,39278 mediante la fórmula 4.2 y calculamos el valor iDCG como 3,6309 mediante la fórmula 4.4.

Finalmente, el NDCG se calcula en 65% mediante la fórmula 4.3.

Para conocer más métodos de evaluación de modelos recomendados, consulte https://statusrank.coding.me/articles/639f7364.html.

4(La Figura 4 muestra el desempeño de HR@10 y NDCG@10 en relación con la cantidad de predictores.

5(La Figura 5 es el desempeño de la lista de recomendaciones Top-K , la clasificación de la Posición K oscila entre 1 y 10.

En general, el modelo NeuMF propuesto en este artículo (que combina GMF y MLP) funciona mejor y supera a otros métodos.

La Figura 6 muestra cuándo. El efecto del entrenamiento cuando el modelo se trata como una tarea de clasificación binaria y la pérdida de registro se utiliza como función de pérdida.

La Figura 7 muestra el impacto de la tasa de muestreo en el rendimiento del modelo (el eje horizontal es la tasa de muestreo). es decir, muestras negativas frente a muestras positivas.

La tabla anterior establece dos variables, a saber, la longitud de incrustación k y el número de capas de la red neuronal, y muestra los resultados de los dos datos. se establece de manera similar a la búsqueda en cuadrícula y el número de capas de la red neuronal puede mejorar el efecto del entrenamiento.