Introdução aos sistemas de recomendação usando Machine Learning
Aprendizagem Ativa em Sistemas de Filtragem Colaborativa
1. Aprendizagem Ativa em Sistemas de
Filtragem Colaborativa
Igor Azevedo Sampaio (ias@cin.ufpe.br)
Orientador:
Geber Lisboa Ramalho
Co-Orientador:
Ricardo Bastos Cavalcante Prudêncio
2. Cenário
Explosão na quantidade de informação
disponível
Canais de TV, filmes, livros, discos...
Documentos eletrônicos na Internet
Produtos nas lojas virtuais
Como então encontrar a informação
relevante sem muito esforço?
Sistemas de Recomendação
Como tal sistema pode entender
satisfatoriamente o que o usuário quer
sem perturbá-lo muito?
Aprender com as respostas/ações do
usuário, e...
Aprender a fazer boas perguntas!
3. Sistemas de Recomendação
Personalizada
Surgidos na década de 90 para tratar o
problema da sobrecarga de informação
Utilizam técnicas de aprendizagem de máquina
e filtragem de informação
Aprendizagem do perfil do usuário
Geram recomendações baseada nesse perfil
Tradicionalmente divididos em
Filtragem Baseada em Conteúdo
Filtragem Colaborativa
4. Filtragem Baseada em Conteúdo
Recomendação com base na descrição dos
itens previamente avaliados pelo usuário
Comparação do conteúdo do item com o perfil do
usuário
Escolha das características dos itens é relevante
Nome: Matrix
Gênero: Ação, Ficção
Diretor: Andy Wachowsky
Ano: 1999
Atores: Keanu Reeves,
Laurence Fishburn
5. Filtragem Colaborativa
Princípio
As melhores recomendações são aquelas fornecidas
por pessoas com gostos similares
Identificação de itens que agradaram “vizinhos”
do usuário
“Vizinhança” baseada em avaliações passadas
Sem necessidade de descrever o conteúdo dos itens
Técnica mais usada em sistemas de
recomendação
6. Aquisição do Perfil do Usuário
Avaliação Implícita
As preferências do usuário são identificadas a partir do
uso que esse faz do sistema.
Ex.: clicar em um item, comprar um produto...
São indicadores indiretos da preferência dos usuário
Avaliação Explícita
O usuário indica explicitamente sua preferência sobre
um item através de uma nota
Requer que o usuário se engaje na atividade de avaliar
os itens do sistema
7. Ao utilizar avaliação explícita:
Podem ser necessárias muitas avaliações antes que o
sistema possa gerar boas recomendações
Problema do usuário novo.
Gera desinteresse da parte do usuário
Modelo de “passivo” de avaliações:
Como adquirir o perfil do usuário de forma mais
eficiente?
Problema da Aquisição do Perfil do
Novo Usuário
Itens do Sistema
Item não
avaliado Perfil do usuário
Item
avaliado
Usuário
8. Técnica utilizada em aprendizagem indutiva
onde o algoritmo tem controle sobre os
exemplos utilizados no treinamento
Para que?
Reduzir o número de exemplos de treinamento sem
comprometer a performance do classificador
Como?
Sistema seleciona os exemplos usados no treinamento
Quando?
Problemas de aprendizagem onde a etiquetagem dos
exemplos de treinamento é cara
Aprendizagem Ativa
9. Tem sido empregada na aquisição do perfil de
usuários em sistemas de recomendação
Para que o sistema aprenda o máximo possível com
cada avaliação feita pelo usuário
Modelo “ativo” de avaliações:
Aprendizagem Ativa em Sistemas de
Recomendação
Itens do Sistema
Item não
avaliado Perfil do usuário
Item
avaliado
Usuário
Critério de
Seleção
Item
selecionado
10. ActiveCP
Um método de aprendizagem ativa para
sistemas de filtragem colaborativa
Avaliado em sistemas de Filtragem Colaborativa com
vizinhos mais próximos (KNN)
Critério de seleção de itens
Baseado na idéia de controvérsia e popularidade de
um item de informação
11. ActiveCP
Critério da Controvérsia
Baseia-se na intuição de que itens consensuais
são menos discriminantes da vizinhança de um
usuário
Semelhante ao conceito de entropia utilizado em
outros trabalhos da área
Controvérsia dada pela variância das avaliações
de um item:
n
rr
c
n
u
iiu
i
2
1
, )(∑=
−
=
12. ActiveCP
Critério da Popularidade
Quando um usuário avalia um item popular:
O sistema torna-se capaz de calcular sua similaridade
com um grande número de outros indivíduos
Para obter assim mais informação e maior precisão
Popularidade de um item
Número n de avaliações recebidas por um item
Independente da preferência
13. Método ActiveCP
Combina os critérios da controvérsia (C) e
popularidade (P) para fazer a seleção dos itens
São produzidos duas listas:
Uma com os itens ordenados pela controvérsia
Outra ordenada pela popularidade
Cada item recebe notas (entre 0 e 1)
dependendo de sua posição nas listas
Vci – nota do item i na lista da controvérsia
Vpi – nota do item i na lista da popularidade
Seleção é feita com base na combinação das
notas:
ipici vpwvcwCP ∗+∗=
14. Método ActiveCP
Experimentos
Executados em uma base de filmes
10.000 usuários e 1.628 filmes
Cada usuário avaliou parte dos filmes com notas de 1
(péssimo) a 5 (ótimo)
Testes realizados com 1.000 usuários
aleatoriamente sorteados
Para cada usuário são utilizados 100 filmes
Testes com validação cruzada 5-fold
16. Superior ao método de seleção aleatória
Forma aproximada como os itens são avaliados em um
sistema “passivo”
Superior ao uso da controvérsia e popularidade
sozinhos
Melhor resultado quando os dois critérios são
usados com o mesmo peso
wc= 0.5 e wp= 0.5
Método ActiveCP
Resultados
17. Problema da “Cobertura vs. Intensidade” da
controvérsia
A medida da variância não leva em conta a quantidade
de avaliações recebidas por um item (cobertura)
Mede apenas a dispersão das notas (intensidade)
Filmes com 2 ou 100 avaliações podem ter a mesma
intensidade de controvérsia porém não a mesma
cobertura
Método ActiveCP
Problemas
18. Solução adotada nos experimentos do
ActiveCP:
Número I fixo de avaliações (I = 100) usadas para
calcular a controvérsia
Limitações:
Problema do desprezo de filmes:
Despreza (deixa de selecionar) filmes por não terem uma
quantidade mínima de avaliações
Pode ser crítico em bases pequenas em formação onde
pode não haver muitos com muitas (>100) avaliações
Problema do desprezo de avaliações:
Sempre usa exatamente I para o cálculo da controvérsia
Despreza informação adicional sobre o item
Método ActiveCP
Problemas
19. Propostas
Nova medida de controvérsia que resolva o
problema da “Cobertura vs. Intensidade”
Observações:
O resultado da variância é normalizado pela
quantidade de avaliações
Retirando essa normalização temos uma medida que
reflete a quantidade de avaliações recebidas
Medida do Desvio:
2
1
, )(∑=
−=
n
u
iiui rrc
20. Metodologia de experimentos utilizando a
medida do Desvio
Permite que todos os itens avaliados por cada usuário
possam ser selecionados
Usa todas as avaliações recebidas por um item no
cálculo da controvérsia
Sem necessidade de estimar o valor do parâmetro I
Propostas
21. Propostas
Avaliar a aplicação das metodologias de seleção
em uma base de dados pequena, que simula
uma base em formação
Analisar o impacto do problema da Cobertura vs.
Intensidade
Avaliar a aplicabilidade da nova medida de
controvérsia, comparando com os outros critérios
22. Base de Dados
Partindo da mesma base utilizada no ActiveCP
Do total de 10.000 usuários foram selecionados
apenas a 300 os quais produziram um total de 21518
avaliações a 394 filmes
80% dos usuários produziram menos de 100 avaliações
82% dos filmes foram avaliados por menos de 100
usuários
Análise Experimental
23. Métodos de seleção avaliados:
Seleção aleatória (base para comparação)
Seleção baseada apenas na controvérsia-variância
Três valores para o parâmetro I = 20, 40 e 60
Variância sem restrições (variância total)
Seleção baseada apenas na controvérsia-desvio
Seleção baseada apenas na popularidade
Seleção combinada pelo critério ActiveCP
Análise Experimental
24. Organização dos experimentos
Validação cruzada em 3-fold
Métricas de avaliação de resultados
ROC - Mede a capacidade do sistema de separar
elementos relevantes dos não relevantes
Breese - Mede a utilidade para um usuário de uma
lista com itens ordenados pelo valor de predição
Análise Experimental
27. Análise
Critérios de Seleção Isolados
Variância Total e com I = 20, 40, 60
Variância total obteve o pior dos resultados
Tendem a melhorar com o aumento do valor de I
Possível afirmar com mais segurança a existência do
problema da Cobertura vs. Intensidade
Desvio e Popularidade
O desvio obteve os melhores resultados em quase
todos os tamanhos de perfil, para ambas as métricas
E não foi o pior resultado em nenhum tamanho de perfil
Resultados da Popularidade bastante próximos
30. CP com Desvio e CP com Variância
Resultados bastante parecidos entre si
Métodos utilizando Variância apresentaram grande
melhora no desempenho
O problema da Cobertura vs. Intensidade é amenizado
com a adição da popularidade
Nenhum dos métodos se mostrou significativamente
superior aos demais.
O CP com Desvio continua competitivo e não há a
necessidade de estimativa do parâmetro I
Análise
Critérios de Seleção Combinados
31. O Desvio como Critério de Seleção
Combinado
O Desvio já reflete em seu resultado a
quantidade de avaliações de um item
Ou seja, a Popularidade do item já é considerada!
Utilizar o Desvio equivale a multiplicar a
popularidade do item pela variância de suas
notas:
−
∗=
∑=
n
rr
nc
n
u
iiu
i
2
1
, )(
32. Comparando o CP Desvio com o Desvio isolado
(Roc)
O Desvio como Critério de Seleção
Combinado
33. O Desvio como Critério de Seleção
Combinado
Comparando o CP Desvio com o Desvio isolado
(Breese)
34. Resultados bastante competitivos entre o
Desvio usado isoladamente e combinado
Possível afirmar que Desvio sozinho já constitui
um critério de seleção que combina os
conceitos de popularidade e controvérsia
Mais simples de implementar
Computacionalmente mais leve
Utilização direta e abrangente, não envolve estimativa
de parâmetros
O Desvio como Critério de Seleção
Combinado
35. Conclusão
A aprendizagem ativa pode ser utilizada para
agilizar a aquisição do perfil do usuário
Estudos mais aprofundados dos problemas e
limitações do método ActiveCP
Proposta uma nova medida de controvérsia
(Desvio)
Permitiu tornar a metodologia de experimentos mais
abrangente
Torna o método mais facilmente aplicável na prática
Bons indicativos de que o Desvio pode ser
utilizado como método de seleção
Combina os conceitos de controvérsia e popularidade
36. Trabalhos Futuros
Realizar novos experimentos comparando os
critérios de seleção em bases maiores
Estudar a utilidade dos métodos de seleção em
outras categorias sistemas de recomendação
Filtragem baseada em conteúdo
Ou outros algoritmos de FC que não KNN
Estudo de outras medidas de controvérsia