A maior rede de estudos do Brasil

Grátis
7 pág.
Filtragem colaborativa e o desafio da Netflix

Pré-visualização | Página 1 de 4

26/05/2020 Filtragem colaborativa e o desafio da Netflix
https://translate.googleusercontent.com/translate_f 1/7
Página 1
Filtragem colaborativa e o desafio da Netflix
Stephen Kriss
Universidade de Yale
stephen.kriss@yale.edu
Resumo
Na filtragem colaborativa, nossa tarefa é prever como um usuário avaliará um item de acordo com o histórico
das classificações de outros itens do usuário, bem como das classificações de outros usuários. Este papel
considera a filtragem colaborativa no contexto do conjunto de dados Netflix, uma lista de
aproximadamente 480.000 classificações de usuários de mais de 17.000 filmes. Tentamos construir uma
novo algoritmo para abordar esse problema com base na idéia de que subconjuntos de filmes
existem no conjunto de treinamento e que os filmes em um subconjunto têm maior poder preditivo para
um ao outro do que para filmes fora do subconjunto. Mostramos que esses conjuntos de filmes de fato
existe, embora não seja fácil encontrar conjuntos de alta qualidade. Além disso, demonstramos que
as previsões podem ser aprimoradas levando em consideração as tendências de classificação anteriores de um usuário.
Nossos resultados mostram que nosso algoritmo faz melhorias em alguns dos
esquemas de linha de base e, mais importante, que vários dos recursos implementados
melhorar a precisão da previsão do algoritmo. Esperamos que as idéias obtidas no
O curso deste documento levará a melhores métodos para identificar subconjuntos de filmes e
portanto, a melhores previsões no futuro.
1. Introdução
1.1 Filtragem colaborativa Este artigo trata
com o problema geral de colaboração
filtragem aplicada a um domínio de problema específico,
o conjunto de dados do Netflix. Filtragem colaborativa
refere-se a algoritmos que levam em consideração uma
conjunto de classificações dos usuários de determinados itens para
elaborar previsões para as classificações dos usuários
itens novos ou sem classificação. Para os fins deste
papel, o usuário para quem estamos fazendo uma
previsão será chamado de usuário predicado e
o item para o qual estamos prevendo será
chamado item predicado ou filme predicado .
A principal dificuldade na construção
algoritmos de filtragem colaborativa eficazes são
encontrar as classificações no conjunto de treinamento que
relacionam-se à previsão em questão. Soluções para
esse desafio pode incluir olhar para todos os
classificações passadas do item predicado, analisando todas as
as classificações anteriores do usuário predicado e
encontrar usuários que pareciam exibir similar
tendências de classificação para o usuário predicado. o
métodos empregados geralmente dependem da
domínio do problema em si. Em alguns casos,
previsões de tempo são necessárias para que a velocidade seja
questão principal, enquanto em outros casos, elaborar
modelos podem ser construídos e refinados antes
fazendo previsões.
O método de combinar as informações relevantes
classificações para chegar a uma nova previsão pode
variam amplamente, desde a média simples até
média ponderada com base em vários fatores, para
computando os diferenciais de pontuação entre os usuários
itens comuns.
Muitos algoritmos de filtragem colaborativa
foram descritos na literatura. Os dois
principais famílias de algoritmos são baseadas em memória
algoritmos e algoritmos baseados em modelo.
Administrador
Realce
Administrador
Nota
introdução tcc
26/05/2020 Filtragem colaborativa e o desafio da Netflix
https://translate.googleusercontent.com/translate_f 2/7
Página 2
Algoritmos baseados em memória pesquisam o treinamento
definido para encontrar classificações relevantes e calcular uma
previsão com base em uma média do germano
classificações. Primeiro algoritmos baseados em modelo
determinar um modelo de previsão ou uma regra que
descreve melhor o padrão de classificação do usuário e
depois preveja de acordo com a regra. Memória-
abordagens baseadas são geralmente mais lentas e menos
adequado para previsão online.
1.2 O conjunto de dados Netflix No interesse de
melhorando seu algoritmo atual, a Netflix
divulgaram um conjunto de dados substancial de suas
classificações de filmes dos clientes. Este conjunto de dados é
composto por classificações de mais de 480.000
usuários individuais para uma coleção de 17.770
filmes, um total de mais de 1 milhão de classificações. Cada
classificação é um valor integral entre (e
incluindo) uma e cinco estrelas. Netflix tem
ofereceu um prêmio monetário a quem puder
para fazer uma melhoria de 10% em relação à sua atual
algoritmo de previsão, chamado Cinematch.
O objetivo principal do uso desse conjunto de dados era
ter acesso a um conjunto grande e complexo de classificações
que servem como um banco de ensaio adequado para o
algoritmos a serem explorados neste artigo.
O conjunto de dados é distribuído junto com um
“Conjunto de sondas” dos pares usuário / filme nos quais
algoritmos podem ser testados. As classificações reais para
esses pares são conhecidos, então a saída de um algoritmo
para o conjunto pode ser comparado com as classificações reais
para medir a taxa de erro. Por esta
papel, o erro será medido usando a raiz média
erro ao quadrado ou RMSE. Para um vetor real
classificações de filmesθ e um vetor de
previsões do algoritmo para esses filmesˆθ:
2
(( )))RMSE E θ θ= - B [6]
1.3 Objetivos do Projeto O objetivo deste
O projeto foi explorar o domínio de
filtragem colaborativa e desenvolver um
algoritmo original que funcionou bem no
Conjunto de dados Netflix. Trabalhos futuros serão orientados
com base nos sucessos e falhas deste
projeto. O desempenho do algoritmo foi
comparados com vários outros conhecidos
algoritmos para determinar o desempenho absoluto;
variantes do algoritmo também foram comparadas com
uns aos outros para determinar os recursos que são
mais bem sucedido na previsão.
2. O Algoritmo da Inclinação Um
Como afirmado anteriormente, existem duas questões básicas em
filtragem colaborativa: identificação de
classificações no conjunto de treinamento e combinando
classificações. A família Slope One de algoritmos é
projetado para lidar com esses dois problemas [1].
Para este artigo, o algoritmo Slope One foi
usado para lidar com o segundo problema enquanto o
O primeiro problema foi tratado de uma maneira diferente.
maneira.
O próprio algoritmo é baseado na ideia
de um "diferencial de popularidade" entre itens.
Por exemplo, se o Usuário A classificar o Item J 0,5 estrelas
maior que o item I, o usuário B também pode gostar
Item J por cerca de 0,5 estrelas a mais que o item I.
Isso é demonstrado na Figura 1.
Figura 1. O algoritmo Slope One é baseado na noção de um
"Diferencial de popularidade". Adaptado de [1].
Formalmente, defina P (u) como uma previsão
vetor, onde cada componente P (u) i é o
contribuição um item no conjunto de treinamento, item i ,
faz para a previsão. Estamos prevendo em
item j . R j é o conjunto de itens relevantes, ou seja, o
itens diferentes de j que o usuário predicado possui
classificado ( R j é alterado posteriormente neste projeto - consulte
Seção 3) e cartão (R j ) é o tamanho do conjunto R j .
Vamos u i ser a classificação que o usuário predictee deu
item i . Defina dev j, i como a média
Usuário A
Usuário B
Item I Item J
1 1 1.5
2 ?
? = 2 + (1,5-1) = 2,5
Page 3
diferença entre as notas de itens i e j
em todos os usuários que classificaram i e j .
Então, o algoritmo Slope One pode ser
resumidos da seguinte forma:
j ,
1 1
ji Eu+
3. Conjuntos críticos de filmes e usuários
O problema de encontrar classificações relevantes era
uma das principais questões abordadas neste projeto.
O insight por trás dos métodos empregados foi
provavelmente existem subconjuntos de filmes no
conjunto de treinamento e que os filmes em um subconjunto
26/05/2020 Filtragem colaborativa e o desafio da Netflix
https://translate.googleusercontent.com/translate_f 3/7
P (u) = ( )() ji Rj dev vocêcartão R ∈ ∑
Isso define o valor de cada componente de
o vetor de previsão. Para obter o total
previsão, fazemos uma média ponderada da
componentes, com pesos iguais para
Inclinação