Estudio Independiente Tutelado I: Lectura 4
Transcripción
Estudio Independiente Tutelado I: Lectura 4
Estudio Independiente Tutelado I: Lectura 4 Saúl Vargas Sandoval Referencia: T. Hofmann, “Latent Semantic Models for Collaborative Filtering” on ACM Transactions on Information Systems, Vol. 22, No. 1. (January 2004), pp. 89-115. 1 Introducción En este artı́culo se presenta una familia de sistemas de recomendación sobre filtrado colaborativo basadas en modelos semánticos latentes. El objetivo será introducir la noción de comunidades de usuarios o grupos de elementos, según el caso. Estos modelos de filtrado colaborativo ofrecen una semántica probabilı́stica y puede construirse sobre técnicas estadı́sticas. Guarda cierta similaridad con métodos de clustering y de reducción de dimensión como SVD y PCA. Uno de los objetivos de esta familia de modelos será evitar algunos de los problemas del filtrado colaborativo basado en memoria. A pesar de que estos son simples e intuitivos, en general sufren de: • tener un acierto sub-óptimo, • no “aprender” de los datos de los usuarios, • no escalar bien, en general, en cuanto a uso de memoria y tiempo de proceso, • y no tener capacidad de moldearse o adaptarse a problemas especı́ficos. La familia de algoritmos basados en model propuesto intentará, por tanto, afrontar los problemas anteriores al comprimir los datos en un modelo estadı́stico compacto que identifique comunidades de usuarios, permitiendo calcular predicciones sobre preferencias en tiempo constante. 2 Filtrado colaborativo basado en modelo Antes de entrar en la propia definición de la familia de modelos, veamos como se modeliza el problema habitual de predicción desde la óptica de los métodos basados en modelo. Denotando como U al conjunto de usuarios, Y al conjunto de ı́tems y V al de ratings -que podrá ser binario, discreto o contı́nuo-, distinguiremos entre dos tipos de problema: 1 1. Predicción forzada, en la que el objetivo es, dado un usuario u y un ı́tem y, predecir el rating v que corresponderá a este par. En general interesará conocer las probabilidades P (v|u, y) y entonces elegir el v asociado al par usuario-ı́tem como el que tenga mayor probabilidad o el valor promedio. 2. Predicción libre, en la que la meta es la de calcular las probabilidades P (v, y|u) o, de forma equivalente, P (v|y, u)P (y|u). La tarea será por tanto calcular el ı́tem que el usuario pudiera seleccionar y su hipotética puntuación. Por otro lado, se definirá una función de de pérdida L para cuantificar cuán buena o mala será la predicción de un modelo θ frente a los resultados auténticos. En el artı́culo se usará la log-verosimilitud como función de pérdida; en el caso de predicción forzada: L1 ((u, v, y), θ) = − log P (v|u, y; θ) y en predicción libre: L2 ((u, v, y), θ) = − log P (v, y|u; θ) La función de pérdida cuantifica la bondad de un modelo respecto a una sola observación. Para cuantificar múltiples observaciones del modelo se recurre a la función de riesgo empı́rica: Remp (θ) = 1 X L((u, v, y), θ) N hu,v,yi Por tanto el objetivo de los modelos que se proponen a continuación será el de minimizar la función de riesgo R. Una forma adecuada de proceder será usar el agoritmo de Expectation-Maximization. 3 Modelo semántico latente sin ratings Comenzaremos con un caso simplificado en el que no se dispone de información sobre ratings, y en que los pares (u, y) se suponen generados independientemente. La idea es introducir un conjunto Z de k estados z para cada par usuario-ı́tem. Ası́, el modelo consistirá en una colección de probabilidades condicionadas en las que participan los elementos z y que separarán los pares usuario-ı́tem: θ = ({P (z|u)} , {P (y|z)}) X P (y|u; θ) = P (y|z)P (z|u) z La idea detrás de estas variables ocultas z es que modelizan una causa oculta, esto es, el hecho de que un usuario u selecciona un ı́tem i “a causa de” z. Tı́picamente el número de estas variables ocultas será mucho menor que el de usuarios e ı́tems, siendo el caso extremo cuando k = 1, en el que el problema se convierte en una predicción no personalidada ya que P (y|u) = P (u). 2 Como ya se ha comentado, en el artı́culo se propone el algoritmo de Expectation Maximization (EM) para aproximar un modelo que minimice la la función de riesgo empı́rica, en este caso Rc (θ) = − 1 X log P (y|z) + log P (z|u) N hu,y,zi Puesto que los estados de las varibles latentes son desconocidos, se introduce una distribución de probabilidad variacional Q(z; u, y) para cada par usuarioı́tem observado y que modelará el conocimiento sobre las variables latentes dados los parámetros actuales. Usando esta Q se definirá una nueva función de riesgo: R̃(θ, Q) = − 1 XX Q(z; u, y) [log P (y|z) + log P (z|u)] N z hu,yi Se puede demostrar que R̃ determina una cota superior para R: R(θ) ≤ R̃(θ, Q) − 1 X H(Q(·; u, y) N hu,yi donde H(Q) es la entropı́a de la distribución de probabilidad de Q: X H(Q(·; u, y)) = − Q(z; u, y) log Q(z; u, y) z El primer paso (Expectation) del algoritmo EM iterativo será, dado un modelo inicial θ̂, encontrar una distribución Q∗ óptima en cuanto que minimice la cota superior de R(θ̂): P̂ (y|z)P̂ (z|u) Q∗ (z; u, y; θ̂) = P ′ ′ z ′ P̂ (y|z )P̂ (z |u) donde la notación P̂ indica probabilidades según el modelo θ̂. El segundo paso (Maximization) consistirá en encontrar un nuevo modelo θ que minimice R̃(θ, Q∗ ). La solución será la siguiente: P (y|z) = P hu,y ′ iy ′ =y P hu,yi P z′ Q∗ (z; u, y; θ̂) hu′ ,yiu′ =u P (z|u) = P P Q∗ (z; u, y; θ̂) Q∗ (z; u, y; θ̂) hu′ ,yiu′ =u Q∗ (z; u, y; θ̂) El algoritmo completo consistirá por tanto en alternar ambos pasos. 3 4 Modelo semántico latente con ratings El paso a un modelo con ratings conllevará distinguir de nuevo entre predicción forzada y libre y, además, entre dar el significado a las variables ocultas z como modelizadoras de comunidades de usuario o grupos de ı́tems. En el artı́culo se exponen los cálculos para predicción forzada con la variante de comunidades, aunque los cálculos para las otras alternativas son similares. Sirva el siguiente gráfico como clasificación de las cuatro alternativas posibles: En caso de que los ratings sean discretos se pueden parametrizar la probabilidad condicionada del siguiente modo: v P (v|y, z) = πy,z y en el caso de ratings contı́nuos se supondrá un Gaussian mixture model con parámetros especı́ficos para cada par comunidad-ı́tem: X P (v|u, y) = P (z|u)normpdf (v; µy,z , σy,z ) z Hay que señalar que para ambos casos será aconsejable normalizar las puntuaciones de los usuarios, esto es, descontar para cada usuario su “entusiasmo” y dejar las puntuaciones en un rango similar para hacerlas más comparables. Esto conllevará que para cada observación (u, v, y) se definirá un nuevo rating v′ = v − µu σu Por último, queda describir las ecuaciones del algoritmo EM, que en el caso discreto serán P̂ (v|y, z)P̂ (z|u) Q∗ (z; u, v, y; θ̂) = P ′ ′ z ′ P̂ (v|y, z )P̂ (z |u) para el paso E y para el paso M serán las mismas que en el caso sin ratings más X Q∗ (z; u, v, y; θ̂) P (v|y, z) ∝ hu,v ′ ,y ′ iv ′ =v,y ′ =y 4 En el caso contı́nuo, el paso E será: Q∗ (z; u, v, y; θ̂) = P y el paso M normpdf (v; µ̂y,z , σ̂y,z )P̂ (z|u) z′ normpdf (v; µ̂y,z′ , σ̂y,z′ )P̂ (z ′ |u) P hu,v,y ′ iy ′ =y µy,z = P σy,z = P hu,v,y ′ iy ′ =y hu,v,y ′ iy ′ =y (v P vQ∗ (z; u, v, y; θ̂) Q∗ (z; u, v, y; θ̂) − µy,z )2 Q∗ (z; u, v, y; θ̂) hu,v,y ′ iy ′ =y Q∗ (z; u, v, y; θ̂) En el artı́culo se muestra que el cálculo offline de estos pasos es de orden O(kN ) para el algoritmo EM, y que el cálculo online de una predicción para un usuario con los parámetros del modelo ya hecho es de orden O(k), esto es, se consigue el tiempo constante esperado. 5 Experimentos Los experimentos realizados sobre el modelo reflejan, entre otros muchos resultados, los siguientes: • El uso de Gaussian mixture models es mejor que el uso de ratings multinomiales. • El número de variables ocultas k es inversamente proporcional al error de predicción. • La variante de comunidades funciona mejor que la basada en categorı́as de usuario. 5