En esta clase
- Resumen últimas clases
- Control de lectura próxima semana y Tarea
- Recomendador Slope One
- Ejemplo pequeño
Denis Parra
Profesor Asistente, DCC, PUC CHile
Ranking no personalizado: Ordenar items considerando el porcentage de valoraciones positivas y la cantidad total de valoraciones.
Filtrado Colaborativo basado en el usuario: buscar K usuarios más parecidos, luego predecir rating de items no consumidos por el active user.
Filtrado Colaborativo basado en items: pre-calcular directamente similaridad entre items co-rated, saltándose búsqueda de K-vecindario.
Predicción | Recomendación Top-N |
---|---|
Lemire, D., & Maclachlan, A. (2005, April). Slope One Predictors for Online Rating-Based Collaborative Filtering. In SDM (Vol. 5, pp. 1-5).
Los autores se enfocan en 5 objetivos:
Si observamos las diferencias de ratings entre pares de items, podemos hacer una predicción.
\[ f(x) = x + b \]
\[\sum_{i=1}^{n}{(v_i+b-w_i)^2}\]
\[b=\frac{\sum_i{(v_i-w_i)}}{n}\]
\[P(u)_j^{wS1} = \frac{\sum_{i \in S(u)-\{j\}}{(dev_{j,i}+u_i)c_{j,i}} }{\sum_{i \in S(u)-\{j\} }{c_{j,i}}},\ donde\ c_{i,j} = card(S_{j,i}(\chi))\]
\[dev_{j,i}^{like}=\sum_{u \in S_{j,i(\chi)}^{like}}{\frac{u_j-u_i}{card(S_{j,i}^{like}(\chi))}},\text{ desviacion media entre dos items liked}\] \[p_{j,i}^{like}=dev_{j,i}^{like}+u_i \text{, y de modo similar, } p_{j,i}^{dislike}=dev_{j,i}^{dislike}+u_i\]
Combinando ambos, like y dislike, la predicción queda:
\[P(u)_j^{bpS1} = \frac{\sum_{i \in S(u)^{like}-\{j\}}{p_{j,i}^{like}c_{j,i}^{like}} + \sum_{i \in S(u)^{dislike}-\{j\}}{p_{j,i}^{dislike}c_{j,i}^{dislike}}}{\sum_{i \in S(u)^{like}-\{j\} }{c_{j,i}^{like}} + \sum_{i \in S(u)^{dislike}-\{j\} }{c_{j,i}^{dislike}}}\]
User | Harry Potter | Batman | Spiderman |
---|---|---|---|
U1 | 5 | 3 | 4 |
U2 | ? | 2 | 4 |
U3 | 4 | 2 | ? |
\[P(u)_j^{wS1} = \frac{\sum_{i \in S(u)-\{j\}}{(dev_{j,i}+u_i)c_{j,i}} }{\sum_{i \in S(u)-\{j\} }{c_{j,i}}},\ donde\ c_{i,j} = card(S_{j,i}(\chi))\]
\[[(4-3)+(4-2)]/2=1,5\]
\[[(4-5)]/1=-1\]