Eu tenho o seguinte problema:
- Temos um conjunto de N pessoas
- Temos um conjunto de imagens K
- Cada pessoa classifica um certo número de imagens. Uma pessoa pode gostar ou não de uma imagem (essas são as duas únicas possibilidades). - O problema é como calcular a probabilidade de uma pessoa gostar de uma imagem específica.
Vou dar um exemplo apresentando minha intuição.
N = 4
K = 5
+ significa que a pessoa gosta de imagem
- significa que a pessoa não gosta da imagem
0 significa que a pessoa não foi questionada sobre a imagem e esse valor deve ser previsto
x 1 2 3 4 5
1 + - 0 0 +
2 + - + 0 +
3 - - + + 0
4 - 0 - - -
A pessoa 1 provavelmente gostará da imagem 3 porque, a pessoa 2 tem preferências semelhantes e a pessoa 2 gosta da imagem 3. A
pessoa 4 provavelmente não gosta da imagem 2 porque ninguém mais gosta e, além disso, a pessoa 4 não gosta da maioria das imagens.
Existe algum método bem conhecido que possa ser usado para calcular essa probabilidade?
fonte
Respostas:
Acredito que este seja um problema padrão da Filtragem Colaborativa . Uma pesquisa no google fornece milhares de resultados.
fonte
Isso parece ser um bom problema para o aprendizado de máquina, então vou me concentrar nesse grupo de métodos.
A primeira e a idéia mais óbvia é o algoritmo kNN. Lá, você primeiro calcula a semelhança entre os espectadores e, em seguida, prevê os votos ausentes com a média de votos nesta imagem feita por usuários semelhantes. Para detalhes, consulte a Wikipedia .
Outra idéia é cultivar floresta aleatória não supervisionada nesses dados (de qualquer maneira, com atributos em imagens ou pessoas, o que for melhor) e imputar dados ausentes com base na estrutura da floresta; todo o método é implementado e descrito no
randomForest
pacote R , procure porrfImpute
função.Finalmente, você pode reestruturar o problema para uma tarefa simples de classificação, digamos, faça um objeto de cada zero na matriz e tente pensar em alguns descritores razoáveis (como voto médio do espectador, voto médio da imagem, voto do maior número, segundo maior, .. visualizador semelhante, igual à imagem, possivelmente alguns dados externos (matiz média da imagem, idade do eleitor, etc.) E tente vários classificadores nesses dados (SVM, RF, NB, ...).
Existem também algumas possibilidades mais complexas; Para obter uma visão geral, você pode procurar soluções para o desafio do prêmio Netflix (que era um problema semelhante).
fonte