Na cidade A L C i t y, o serviço de streaming de filmes A L f l i x armazena as notas que os usuários atribuem a cada filme que assistem em uma matriz A cujas linhas representam os usuários e as colunas os filmes. Em cada exemplo abaixo, qual seriam as prováveis notas que o algoritmo da ALflix atribuiria aos casos desconhecidos?
A=[ccccc1 & 1 & 9 & 2 & 3 2 & 0 & 3 & 2 & 3 1 & 1 & 4 & 9 & 4 2 & 2 & 9 & 3 & 5 0 & 1 & 2 & 1 & 2]

Passo 1

O enunciado nos dá a matriz de notas
A= 1 & 1 & ? & 2 & 3 2 & ? & 3 & 2 & 3 1 & 1 & 4 & ? & 4 2 & 2 & ? & 3 & 5 0 & 1 & 2 & 1 & 2
onde os “?” marcam as quatro notas desconhecidas que o algoritmo de user–based collaborative filtering da ALflix precisa estimar. Vamos usar o filtro colaborativo baseado em similaridade de Pearson entre usuários e a fórmula de predição
hat ru,i ;=;ru;+;sumvneq u ,su,v,l(rv,i-rvr)sumvneq u|su,v|,,
onde ru é a média dos itens avaliados pelo usuário u e su,v a correlação de Pearson entre u e v.

Passo 2

Calcular para cada usuário u a média
ru ;=;sumicolon ru,i,conhecido ru,i#icolon ru,i,conhecido
Obtém-se
r1=1,75, r2=2,50, r3=2,50, r4=3,00, r5=1,20

Passo 3

Calcular a similaridade de Pearson para cada par (u,v):
su,v =sumiin Iu,v(ru,i-ru)(rv,i-rv) raizsumiin Iu,v(ru,i-ru)^2 ,raizsumiin Iu,v(rv,i-rv)^2,
onde Iu,v é o conjunto de itens avaliados tanto por u quanto por v.
Os principais valores obtidos são, por exemplo,
s1,2approx0,683,; s1,3approx0,969,; s1,4approx0,985,; s1,5approx0,821,
s2,3approx1,000,; s2,4approx0,774,; s2,5approx0,903, s3,4approx0,772,; s3,5approx0,681, s4,5approx0,834

Passo 4

Aplicar a fórmula de predição a cada entrada desconhecida:
1. Para hat r1,3:
r1=1,75 e usam-se v=2,3,5 (pois r4,3 também é desconhecido).
O somatório
sumv s1,v,(rv,3-rv)approx2,452
e sumv|s1,v|approx2,473.
Logo
hat r1,3=1,75+2,4522,473approx2,74
2. Para hat r2,2:
r2=2,50, usam-se v=1,3,4,5 e obtém-se
sum s2,v(rv,2-rv)approx -2,967,
sum|s2,v|approx3,360.
hat r2,2=2,50+-2,9673,360approx1,62
3. Para hat r3,4:
r3=2,50, usam-se v=1,2,4,5 e obtém-se
sum s3,v(rv,4-rv)approx -0,394,
sum|s3,v|approx3,422.
hat r3,4=2,50+-0,3943,422approx2,38
4. Para hat r4,3:
r4=3,00, usam-se v=1,2,3,5 e obtém-se
sum s4,v(rv,3-rv)approx9,353,
sum|s4,v|approx3,365.
hat r4,3=3,00+9,3533,365approx5,78

Resposta

hat r1,3approx2,74, hat r2,2approx1,62, hat r3,4approx2,38, hat r4,3approx5,78

Exercícios relacionados