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

Documentos relacionados