Escolar Documentos
Profissional Documentos
Cultura Documentos
Manaus, AM
2017
ANDERSON PIMENTEL DOS SANTOS
Manaus, AM
2017
Ficha Catalográfica
Ficha catalográfica elaborada automaticamente de acordo com os dados fornecidos pelo(a) autor(a).
v
nidades em sistemas de recomendação baseados em agrupamento, com o intuito de
investigar se os bons resultados que o algoritmo tem mostrado em outras áreas são
válidos também para a área de recomendação de vı́deos baseada em agrupamento, re-
alizando comparações entre coleções de filmes por meio de métricas de avaliação de
predição para sistemas de recomendação.
Palavras-chave: sistema de recomendação, filtragem colaborativa, agrupamento.
vi
Abstract
Clustering based collaborative filtering proposes greater scalability for very sparse
collections, its premise is if the person a and person b like the same set of movies, then
the person a probably will like other movies the person b likes. Clustering people into
groups based on the items they bought, one can get good recommendations for items
to be bought, in this way, predictions can be made by crowding people into groups,
based on the movies they watched(user-based) and/or groups of movies which tend to
be of the taste of the people the same interest(item-based).
The K-means is a classic clustering algorithm, being simple, efficient and widely
used, however, it comes with some restrictions: the number of final groups must be
defined a priori, very sensitive to the initial choice of centroids in the creation of groups,
it can generate empty groups, among others.
x
“Aquele que dá bons conselhos, constrói com uma mão. Aquele que dá bons conselhos
e exemplo, constrói com ambas”. Dedico este trabalho aos meus pais, meus guias
presentes em todos momentos de minha vida.
xi
Agradecimentos
• Primeiramente a Deus por ser essencial em minha vida, autor do meu destino e
meu guia.
• Ao amigo e orientador, Prof. Dr. Edleno de Moura pela sua grande experiência
e conhecimento na direção e orientação deste trabalho, além de seu grande des-
prendimento em ajudar em momentos difı́ceis vividos durante esse perı́odo de
mestrado. É uma imensa honra tê-lo como orientador.
• Aos meus irmãos Marla Laı́s e Lucas Anghinoni, que sempre me apoiaram in-
condicionalmente, que acreditaram em mim e que me passaram a segurança e
certeza de que não estou sozinho nessa caminhada.
xiii
• A todos aqueles que contribuı́ram direta ou indiretamente para a realização deste
trabalho, seja com incentivo nas tarefas de pesquisa ou horas de descontração.
Em especial aos amigos da Pós-Graduação: Airton, Alternei, Awdren, Bernardo,
Bruno, Euler, Fernando, Hugo, Kayro, Luis, Marcelo, Omar, Ralph, Renato, Ri-
chard, Roland, Tiago e Tony. Aos amigos do Teewa e Akiry: Antonio, Caio, Da-
niel, Berg, Jackson, Maiara e Raphael, e aos amigos do laboratório GTI(BDRI):
Anibrata, Diego Barros, Diego Rodrigues, Leonardo, Ludimila, Caio, Joyce, Jo-
siane, Ivanilse, Márcio Palheta, Denys Silveira e Luisa.
xiv
Sumário
1 Introdução 1
3 Implementação do Sistema 23
3.1 Técnica de Geração de Representantes de Grupos baseada em Frequência
de Avaliações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2 Técnica de Geração de Representantes de Grupos baseada em Frequência
de Maiores e Menores Valores de Avaliação . . . . . . . . . . . . . . . . 27
4 Experimentos 29
4.1 Configuração dos Experimentos . . . . . . . . . . . . . . . . . . . . . . 29
4.1.1 Coleções Utilizadas . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.1.2 Métricas de Avaliação . . . . . . . . . . . . . . . . . . . . . . . 31
4.1.3 Algoritmo para Avaliação de Resultados . . . . . . . . . . . . . 31
4.2 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5 Conclusão 41
xvii
Lista de Figuras
xix
Lista de Tabelas
xxi
Lista de Algoritmos
1 Algoritmo K-means . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
xxiii
Capı́tulo 1
Introdução
com atributos pessoais (sexo, idade, paı́s e etc.) compartilham preferências. E por fim,
a filtragem hı́brida, que combina o uso de FC com filtragem demográfica, ou ainda,
com filtragem baseada em conteúdo, onde normalmente utiliza métodos bioinspirados
ou probabilı́sticos, tais como algoritmos genéticos, redes neurais, redes bayesianas e
algoritmos de agrupamento (Bobadilla et al., 2013).
5
do inglês Affinity Propagation
4 Introdução
dos pontos no algoritmo, que são considerados como nós em uma rede de nós, acon-
tecem as trocas de mensagens até que os grupos gradualmente apareçam, assim, o
número de agrupamentos é gerado automaticamente, sem precisar de um parâmetro
a priori, como acontece no k-means. O algoritmo PA é um representante importante
dessa famı́lia de algoritmos e define dois tipos de mensagem: (1) responsabilidade, que
representa quão bem (acúmulo de evidências) o recebedor da mensagem serve para
ser um exemplar, levando em conta outros potenciais exemplares; (2) disponibilidade,
que é enviada do candidato a exemplar para o recebedor da mensagem, e reflete quão
apropriado(acúmulo de evidências) é o recebedor para escolher o candidato a exemplar
como seu exemplar (Frey and Dueck, 2007).
Este texto está organizado da seguinte forma: O próximo capı́tulo apresenta con-
ceitos essenciais que servem como base para o entendimento do trabalho, onde aborda
trabalhos significativos na literatura relacionados com a proposta deste documento. No
capı́tulo 3 é descrita a implementação do algoritmo de agrupamento PA em um sistema
de recomendação baseado em agrupamento. No capı́tulo 4 são mostrados os resultados
dos experimentos, e por fim, no capı́tulo 5, as conclusões sobre a investigação do uso
5
2.1.1 Conceito
Filtragem Demográfica
Justificada no prı́ncipio de que os indivı́duos com certos atributos pessoais (sexo, idade,
paı́s, idioma e etc.) em comum, também compartilham de preferências comuns (Boba-
dilla et al., 2013). Muitos websites adotam essa abordagem. Por exemplo, o sistema
pode identicar a localização de onde o usuário está acessando o website, paı́s,idioma,
idade. Dessa forma, sugerindo itens personalizados de acordo com esses atributos (Ricci
et al., 2010).
Nessa técnica, os sistemas aprendem a recomendar itens que são similares aos que o
usuário gostou no passado (Ricci et al., 2010). A similaridade é calculada baseada nas
caracterı́sticas do item a ser comparado. Na verdade, seria fácil recomendar um novo
livro de O Senhor dos Anéis para um usuário, se nós soubermos que esse livro se trata
de um livro de fantasia e que o usuário gosta dele. Um recomendador pode realizar essa
tarefa se baseando na descrição do novo livro de O Senhor dos Anéis e nas descrições
de interesse do usuário (Lacerda and Ziviani, 2013).
Filtragem Hı́brida
Fonte: http://www.techtudo.com.br/
2.3.1 K-means
Depois de todos os grupos criados com seus objetos, a primeira iteração do algoritmo
é calcular a distância média entre todos os pontos pertencentes a cada grupo, e então,
determinar este ponto como a nova centróide. Devido à mudança de centróide, a
distância entre todos os pontos em relação às novas centróides são recalculados, por
isso alguns pontos podem mudar de grupo. Essa fase de calcular a média da distância
entre os pontos ocorre repetidas vezes, até que não ocorram mudanças nas centróides,
que então estarão estabilizadas.
Algoritmo que identifica exemplares entre um conjunto de itens e gera grupos de itens
ao redor desses exemplares. Isto ocorre considerando simultaneamente todos os itens
como possı́veis exemplares e ocorrendo a troca mensagens entre os itens até emergir
conjuntos de exemplares e seus respectivos grupos (Bodenhofer et al., 2011). O termo
data point será chamado de item, se refere aos objetos que serão agrupados, já o termo
16 Conceitos e Trabalhos Relacionados
Com relação as mensagens trocadas entre os itens, existem duas, e cada uma leva em
consideração um diferente tipo de competição. As mensagens podem ser combinadas
em qualquer estágio para decidir que itens são exemplares, e para os outros itens,
qual exemplar pertence a quem. A responsabilidade r(i, k) enviada de um item i para
um candidato a exemplar k (figura 2.4), reflete o acúmulo de evidências de quão bem
18 Conceitos e Trabalhos Relacionados
candidato a exemplar (Dueck and Frey, 2007). Nas últimas iterações, quando alguns
itens são efetivamente atribuı́dos a outros exemplares, suas disponibilidades irão cair
para abaixo de zero, como descrito na equação 2.2.
X
a(k, i) ← min(0, r(k, k) + max{0, r(j, k)} (2.2)
j:j ∈{k,i}
/
X
a(k, k) ← max{0, r(j, k)} (2.3)
j:j6={k,i}
para evitar oscilações numéricas que podem aparecer em algumas circunstâncias. Cada
mensagem é atribuı́da λ vezes a seu valor da iteração passada, somada com 1 − λ vezes
seu valor previamente atualizado (Frey and Dueck, 2007), onde o fator de amorteci-
mento λ varia entre 0 e 1, contudo, experimentos revelam um fator padrão para evitar
oscilações númericas no valor de 0.9.
v
u n
uX
d(x, y) = t (xk − yk )2 , (2.4)
k=1
1
s(x, y) = . (2.5)
1 + d(x, y)
2.4.2 Cosseno
A similaridade entre dois documentos pode ser medida tratando cada documento como
um vetor de frequência de palavras, e calculando o cosseno do ângulo entre os dois
vetores de frequência (Su and Khoshgoftaar, 2009). Esta função pode ser usada em
FC, onde podemos usar usuários e itens ao invés de documentos, e avaliações no lugar
das frequências de palavras.
~x • ~y
s(~x, ~y ) = . (2.6)
k~xk × k~y k
2.4.3 Correlação
A similaridade entre objetos pode ser dada por usa correlação que mede a relação
linear entre os objetos. Existem muitas correlações que podem ser aplicadas, mas a
P
mais utilizada é a correlação de Pearson. Dada a covariância dos pontos x e y, e
22 Conceitos e Trabalhos Relacionados
P
(x, y)
s(x, y) = . (2.7)
σx × σy
Implementação do Sistema
• δ − a função de similaridade;
Resultado:
G ← agruparDados(M, A, δ, f a, pref );
Gr ← calcularRepresentantes(M, A, G);
Rua ← recomendar(ua , Gr );
etapa não afeta o tempo de recomendação percebido pelos usuários. Na segunda etapa,
são geradas as recomendações baseadas unicamente nos modelos de representantes de
grupos criados na etapa offline.
Nossa decisão para estudar técnicas baseadas em agrupamentos para realizar reco-
mendação se deu pelo fato dessa abordagem ter resultado final bastante efetivo e, ao
mesmo tempo, ser uma técnica bastante escalável e propı́cia para o uso em sistemas
de recomendação online. Como as preferências de um usuário ativo são comparadas
apenas com os representantes dos grupos, e a estimativa de notas é realizada usando
apenas valores do vetor de representantes do grupo, a complexidade final da fase online
é O(k · ng), ou seja, depende apenas do número de grupos ng e do número de itens k.
26 Implementação do Sistema
max|u(ip )|
al , ∀al ∈ A al = u(iq );
Ap (Gq ) = (3.1)
0, para os outros casos.
u1 5 4 3 4 Representantes de Grupo
u2 4 4 5 5 i1 i2 i3 i4 i5 ... in
Grupo G1
G1 5 4 5 ... 4
u3 5 5 5 4
G2 5 4 ...
u4 3 5 4
Grupo G2
... ... ... ... ... ... ...
...
u5 1 5 4
Gn ...
...
...
un 4 4 4 Grupo Gn
3.2 Técnica de Geração de Representantes de Grupos baseada em Frequência de Maiores e Menores
Valores de Avaliação 27
A ideia dessa técnica é que se no conjunto de notas contiver notas muito extremas
(por exemplo, 10 notas 5, uma nota 1 e uma nota 2), se apresentando como um ruı́do
na técnica de utilizar as frequências das notas, essa notas ruidosas são eliminadas e
consideradas apenas as notas mais frequentes em um limiar definido de frequência de
notas (maiores ou menores).
u(ip ), ∀ ∈ {c − p . . . c} |u(ip )| ≥ α · n;
Ap (Cq ) = u(ip ), ∀ ∈ {1 . . . p} |u(ip )| ≥ α · n; (3.2)
0,
para outros casos.
Para definir o limiar em um contexto onde as notas dos filmes variam entre 1 a
c, sendo c = 5, uma boa prática seria utilizar o valor mediano para definir as duas
partições. Portanto, o valor de 3 é um ótimo valor em um intervalo [1; 5], separando
as possibilidades de nota em dois subintervalos: (1) o intervalo de 1 a 2, que será
considerado como o de valores menores; (2) o intervalo 4 a 5, que será considerado
como sendo o de valores maiores. A nota 3 é excluı́da da contagem. A idéia é que uma
nota intermediária representa uma informação neutra e não dá pistas claras sobre o
interesse ou desinteresse do usuário pelo filme.
Podemos observar na figura 3.2 o cálculo de notas para obtenção dos vetores repre-
sentates do grupo. Nessa técnica, as frequências são contabilizadas para os intervalos
de maiores ou menores valores.
Na figura 3.2, o grupo G1 tem 3 notas no intervalo de maiores valores para o filme
28 Implementação do Sistema
u1 5 4 3 4 Representantes de Grupo
u2 4 4 5 5 i1 i2 i3 i4 i5 ... in
Grupo G1
G1 4.6 4.3 5.0 ... 4.3
u3 5 5 5 4
G2 5 4 ...
u4 3 5 4
Grupo G2
...
... ... ... ... ... ... ...
u5 1 5 4
Gn ...
...
...
un 4 4 4 Grupo Gn
Experimentos
LDOS-CoMoDa
LDOS-CoMoDa (Odic et al., 2013) é uma coleção para recomendação de filmes base-
ada em contexto. Possui avaliações explı́citas dos filmes e 12 partes de informações
relacionadas ao contexto que descrevem em que situação os filmes foram assistidos.
A coleção LDOS-CoMoDa conta com 2296 avaliações de 1232 tı́tulos de filmes reali-
zadas por 121 usuários. Um ponto importante dessa coleção é que os dados adquiridos
na avaliação ocorrem imediatamente após os usuários assistirem os filmes. Cada usuário
submete uma avaliação para o filme que assistiu e também adiciona em sua submissão o
contexto de sua experiência, como por exemplo: o horário do dia, o tipo de dia (dia da
semana, fim de semana ou feriado), estação, localização, tempo, companhia enquanto
assistia (social), emoções dominantes durante e ao término do filme, humor, condições
30 Experimentos
MovieLens
As coleções MovieLens (Harper and Konstan, 2015) são disponibilizadas pelo grupo de
pesquisa GroupLens (Research, 2017) do departamento de Ciência da computação e
Engenharia da Universidade de Minnesota. As coleções foram armazenadas em vários
perı́odos de tempos, dependendo do tamanho da coleção. As coleções utilizadas em
nossos experimentos foram:
RMSE
Conhecida como raiz do erro médio quadrático (root mean squared error ), é a métrica
mais popularmente utilizada em experimentos para avaliar acurácia na predição de
avaliações de usuário. O sistema gera predições pi para um conjunto de tamanho n,
onde se sabe a avaliação correta qi (Ricci et al., 2010).
r Pn
t=1 (pi − qi )2
RM SE = (4.1)
n
MAE
Pn
i=1 |pi − qi |
M AE = (4.2)
n
Resultado:
predições.
Resultado:
4.2 Resultados
A seguir apresentamos os resultados dos experimento que fizemos para avaliar o im-
pacto potencial do algoritmo de propagação por afinidades dentro de um sistema de
recomendação. Nosso primeiro experimento teve o objetivo de comparar quantitati-
vamente os resultados do algoritmo de propagação por afinidades com o algoritmo
K-means observando-se apenas o número de grupos gerados em cada um das coleções
utilizadas nos experimentos. O estudo do número de grupos gerados pelo algoritmo
de propagação de afinidades é importante porque o mesmo, ao contrário do K-means,
não exige que o número de grupos a serem gerados seja passado como parâmetro. Tal
propriedade é ao mesmo tempo uma vantagem, no sentido de que a determinação do
número de grupos a serem gerados muitas vezes é deixada em segundo plano nos tra-
balhos que adotam recomendação baseada em agrupamento, mas por outro lado pode
representar uma desvantagem, dado que o número de grupos gerados pode afetar não
só a qualidade dos resultados como também o desempenho final do algoritmo de re-
comendação. Como parâmetro do algoritmo de propagação de afinidades é passado o
fator de amortecimento, que visa apresentar as mudanças que podemos ajustar para
que o algoritmo possa encontrar a convergência mais rapidamente, também podendo
influenciar na quantidade de grupos gerados.
34 Experimentos
Tabela 4.2: Número de grupos gerados pelo agrupamento de coleções por Propagação de
Afinidades baseado em usuário ao utilizar as diversas funções de similaridade estudadas
Fator de Amortecimento
0.5 0.6 0.7 0.8 0.9
Coleção Função de Similaridade Número de Grupos (k)
Comoda Euclidiana 44 44 44 45 45
Cosseno 44 44 44 45 45
Correlação 25 25 25 25 26
Ml1m Euclidiana 1306 1306 1306 1306 1306
Cosseno 293 294 295 296 296
Correlação 315 314 314 314 314
Ml2k Euclidiana 450 450 450 450 450
Cosseno 199 200 200 201 201
Correlação 160 162 160 162 162
Ml100k Euclidiana 210 210 210 210 210
Cosseno 52 52 52 52 51
Correlação 60 60 59 60 60
Tabela 4.3: Número de grupos obtidos com o agrupamento de coleções por Propagação
de Afinidades baseado em item ao utilizar as diversas funções de similaridade estudadas
Fator de Amortecimento
0.5 0.6 0.7 0.8 0.9
Coleção Função de Similaridade Número de Grupos (k)
Comoda Euclidiana 642 472 268 269 269
Cosseno 339 306 262 159 159
Correlação 150 160 160 83 86
Ml1m Euclidiana 977 965 965 964 965
Cosseno 331 326 326 326 326
Correlação 345 344 344 346 346
Ml100k Euclidiana 512 489 463 462 462
Cosseno 158 159 157 158 158
Correlação 161 162 161 160 161
Conclusão
Na fase online foi necessário criar uma lista de recomendações para o usuário ativo,
que ao invés de realizar comparações com todos os dados arquivados, realizou apenas
comparações com o representante do grupo ao qual faz parte, diminuindo considera-
velmente a quantidade de cálculos de distância e operações de comparação nessa fase.
A abordagem apresentada neste documento pode ser caracterizada por baixa pre-
42 Conclusão
Amatriain, X. (2013). Big & personal: Data and models behind netflix recommen-
dations. In Proceedings of the 2Nd International Workshop on Big Data, Streams
and Heterogeneous Source Mining: Algorithms, Systems, Programming Models and
Applications, BigMine ’13, pages 1–6, New York, NY, USA. ACM.
Bobadilla, J., Ortega, F., Hernando, A., and GutiéRrez, A. (2013). Recommender
systems survey. Know.-Based Syst., 46:109–132.
Bodenhofer, U., Kothmeier, A., and Hochreiter, S. (2011). Apcluster: an r package for
affinity propagation clustering. Bioinformatics, 27(17):2463–2464.
Frey, B. J. and Dueck, D. (2007). Clustering by passing messages between data points.
Science, 315(5814):972–976.
Harper, F. M. and Konstan, J. A. (2015). The movielens datasets: History and context.
In ACM Transactions on Interactive Intelligent Systems (TiiS). ACM.
Lacerda, A. and Ziviani, N. (2013). Building user profiles to improve user experience
in recommender systems. In Proceedings of the Sixth ACM International Conference
on Web Search and Data Mining, WSDM ’13, pages 759–764, New York, NY, USA.
ACM.
Li, Q. and Kim, B. M. (2003). Clustering approach for hybrid recommender system.
In Proceedings IEEE/WIC International Conference on Web Intelligence (WI 2003),
pages 33–38.
Liao, C.-L. and Lee, S.-J. (2016). A clustering based approach to improving the ef-
ficiency of collaborative filtering recommendation. Electron. Commer. Rec. Appl.,
18(C):1–9.
Odic, A., Tkalcic, M., Tasic, J. F., and Kosir, A. (2013). Predicting and detecting the
relevant contextual information in a movie-recommender system. Interacting with
Computers, 25(1):74–90.
44 Referências Bibliográficas
Ribeiro, M. T., Ziviani, N., Moura, E. S. D., Hata, I., Lacerda, A., and Veloso, A.
(2014). Multiobjective pareto-efficient approaches for recommender systems. ACM
Trans. Intell. Syst. Technol., 5(4):53:1–53:20.
Ricci, F., Rokach, L., Shapira, B., and Kantor, P. B. (2010). Recommender Systems
Handbook. Springer-Verlag New York, Inc., New York, NY, USA, 1st edition.
Rongfei, J., Maozhong, J., and Chao, L. (2010). A new clustering method for colla-
borative filtering. In 2010 International Conference on Networking and Information
Technology, pages 488–492.
Shi, Y., Larson, M., and Hanjalic, A. (2014). Collaborative filtering beyond the user-
item matrix: A survey of the state of the art and future challenges. ACM Comput.
Surv., 47(1):3:1–3:45.
Wei, S., Ye, N., Zhang, S., Huang, X., and Zhu, J. (2012). Collaborative filtering
recommendation algorithm based on item clustering and global similarity. In 2012
Fifth International Conference on Business Intelligence and Financial Engineering,
pages 69–72.