Filtrado colaborativo basado en el usuario

El filtrado colaborativo basado en el usuario es una técnica que se utiliza para predecir los elementos que le pueden gustar a un usuario en función de las calificaciones otorgadas a ese elemento por otros usuarios que tienen gustos similares a los del usuario objetivo.
Muchos sitios web usan filtrado colaborativo para construir su sistema de recomendaciones.

Pasos para el filtrado colaborativo basado en el usuario:

Paso 1: encontrar la similitud de los usuarios con el usuario objetivo U.

La similitud para dos usuarios cualquiera ‘a’ y ‘b’ se puede calcular a partir de la fórmula dada,

Sim(a,b)=\frac {\sum_p (r_{ap}-\bar r_a)(r_{ab}-\bar r_b)}{\sqrt{\sum (r_{ap}-\bar r_a)^2} \sqrt{\sum (r_{bp}-\bar r_b)^2}}\newline r_{up}:rating \hspace{0.1cm} of\hspace{0.1cm}user\hspace{0.1cm}u\hspace{0.1cm}against\hspace{0.1cm}item\hspace{0.1cm}p \newline p:items

Paso 2: Predicción de calificación faltante de un elemento
Ahora, el usuario objetivo puede ser muy similar a algunos usuarios y puede no ser muy similar a otros. Por lo tanto, las calificaciones otorgadas a un elemento en particular por los usuarios más similares deben tener más peso que las otorgadas por usuarios menos similares y así sucesivamente. Este problema se puede resolver utilizando un enfoque de promedio ponderado. En este enfoque, multiplica la calificación de cada usuario con un factor de similitud calculado utilizando la fórmula mencionada anteriormente.

La calificación que falta se puede calcular como,

r_{up}=\bar r_u+\frac{\sum_{i\in users}sim(u,i)*r_{ip}}{\sum_{i\in users}|sim(u,i)|}

Ejemplo:
Considere una array que muestra cuatro usuarios
Alicia, U1, U2 y U3
calificación en diferentes aplicaciones de noticias. El rango de calificación es de 1 a 5 sobre la base de la simpatía de los usuarios de la aplicación de noticias. los
‘?’
indica que la aplicación no ha sido calificada por el usuario.

Nombre Enpantalones cortos(I1) HT(I2) NYT(I3) TOI(I4) BBC(I5)
Alicia 5 4 1 4 ?
U1 3 1 2 3 3
U2 4 3 4 3 5
U3 3 3 1 5 4

Paso 1: Cálculo de la similitud entre Alice y todos los demás usuarios
Primero calculamos los promedios de las calificaciones de todos los usuarios, excepto I5, ya que Alice no lo califica. Por lo tanto, calculamos el promedio como ,

\bar r_i= \frac {\sum_p r_{ip}}{\sum p}

Por lo tanto, tenemos
\bar r_{Alice}=3.5\newline  \bar r_{U1}=2.25\newline \bar r_{U2}=3.5\newline \bar r_{U3}=3

y calcular las nuevas calificaciones como,
r_{ip}'=r_{ip}-\bar r_i

Por lo tanto, obtenemos la siguiente array,

Nombre Enpantalones cortos(I1) HT(I2) NYT(I3) TOI(I4)
Alicia 1.5 0.5 -2.5 0.5
U1 0,75 -1.25 -0.25 0,75
U2 0.5 -0.5 0.5 -0.5
U3 0 0 -2 2

Ahora, calculamos la similitud entre Alice y todos los demás usuarios.

Sim(Alice,U1)=\frac {((1.5*0.75)+(0.5*-1.25)+(-2.5*-0.25)+(.5*0.75))}{\sqrt{(1.5^2+0.5^2+2.5^2+0.5^2)} \sqrt{(0.75^2+1.25^2+0.25^2+0.75^2)}}=0.301\newline

Sim(Alice,U2)=\frac {((1.5*0.25)+(0.5*-0.5)+(-2.5*0.5)+(.5*-0.5))}{\sqrt{(1.5^2+0.5^2+2.5^2+0.5^2)} \sqrt{(0.5^2+0.5^2+0.5^2+0.5^2)}}=-0.33\newline

Sim(Alice,U3)=\frac {((1.5*0)+(0.5*0)+(-2.5*-2)+(.5*2))}{\sqrt{(1.5^2+0.5^2+2.5^2+0.5^2)} \sqrt{(0^2+0^2+2^2+2^2)}}=0.707\newline

Paso 2: Predecir la calificación de la aplicación no calificada por Alice

Ahora, predecimos la calificación de Alice para la aplicación BBC News,

r_{(Alice,I5)}=\bar r_{Alice}+ \frac {(sim(Alice,U1)*(r_{U1,I5}-\bar r_{U1}))+(sim(Alice,U2)*(r_{U2,I5}-\bar r_{U2}))+(sim(Alice,U3)*(r_{U3,I5}-\bar r_{U3})}{|r_{U1,I5}|+|r_{U2,I5}|+|r_{U3,I5}|}\newline \newline

r_{(Alice,I5)}=3.5 + \frac {(0.301*0.75)+(-0.33*1.5)+(0.707*1)}{|0.301|+|-0.33|+|0.707|}=3.83\newline

Por lo tanto, con la ayuda de un pequeño ejemplo, tratamos de comprender el funcionamiento del filtrado colaborativo basado en el usuario.

Publicación traducida automáticamente

Artículo escrito por rachitgupta1997 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *