Aprendizado de Máquina para Recommender systems – Part 1 (algoritmos, de avaliação e de partida a frio)
Recommender systems são uma das mais bem sucedidas e aplicação generalizada de aprendizagem de máquina tecnologias nas empresas. Havia muitas pessoas na lista de espera que não puderam assistir a nossa palestra MLMU então eu estou compartilhando slides e comentários aqui.
Você pode aplicar recommender systems em cenários onde muitos usuários interagem com muitos itens.
Você pode encontrar grande escala recommender systems no varejo, vídeo sob demanda, ou de streaming de música. Para desenvolver e manter tais sistemas, uma empresa normalmente precisa de um grupo de cientistas e engenheiros de dados caros. É por isso que mesmo grandes empresas, como a BBC, decidiram subcontratar os seus serviços de recomendação.
Nossa empresa Recombee é baseado em Praga, e desenvolve um universal automatizado de recomendação de mecanismo capaz de adaptar-se às necessidades de negócios em vários domínios. Nosso motor é usado por centenas de empresas em todo o mundo.
surpreendentemente, a recomendação de notícias ou vídeos para mídia, recomendação de produto ou personalização em viagens e varejo pode ser tratada por algoritmos de aprendizado de máquina similares. Além disso, esses algoritmos podem ser ajustados usando nossa linguagem de consulta especial em cada pedido de recomendação.
algoritmos de aprendizado em recommender systems são normalmente classificados em duas categorias, baseadas em conteúdo e métodos de filtragem colaborativa, embora moderna recommenders combinar ambas as abordagens. Os métodos baseados em conteúdo são baseados em similaridade de atributos de itens e métodos colaborativos calculam similaridade a partir de interações. A seguir, discutimos a maioria dos métodos colaborativos que permitem aos usuários descobrir novos conteúdos diferentes dos itens vistos no passado.
Colaboração métodos de trabalhar com a interação da matriz, que também pode ser chamado de notação matricial no caso de usuários de fornecer explícita classificação dos itens. A tarefa do aprendizado de máquina é aprender uma função que prevê a utilidade de itens para cada usuário. Matrix é tipicamente enorme, muito escasso e a maioria dos valores estão faltando.
O mais simples, o algoritmo calcula o co-seno ou correlação semelhança de linhas (os usuários) ou colunas (itens) e recomenda itens que k — vizinhos mais próximos apreciado.
Matrix factorization métodos baseados em tentativa de reduzir a dimensionalidade da matriz de interação e aproximar-lo por dois ou mais pequenas matrizes com k latente componentes.
multiplicando-se linhas e colunas correspondentes a prever classificação do item do usuário. Erro de treino pode ser obtido comparando classificações não vazias com classificações previstas. Pode-se também regularizar a perda de treinamento adicionando um termo de penalidade mantendo valores de vetores latentes Baixos.
Mais popular algoritmo de treinamento é um estocástico de gradiente descendente minimizando a perda por gradiente de atualizações de ambas as colunas e linhas de p a q matrizes.
Alternativamente, pode usar Alternando método dos mínimos Quadrados que iterativamente otimiza a matriz p e a matriz q pelo general de mínimos quadrados passo.
de regras de Associação pode também ser utilizado para a recomendação. Itens que são frequentemente consumidos juntos são conectados com uma aresta no gráfico. Você pode ver clusters de Best sellers (itens densamente conectados com os quais quase todos interagiram) e pequenos clusters separados de conteúdo de nicho.
as regras extraídas da matriz de interação devem ter pelo menos algum suporte mínimo e confiança. O apoio está relacionado com a frequência de ocorrência — as implicações dos bestsellers têm um apoio elevado. A alta confiança significa que as regras não são frequentemente violadas.
Mineração de regras não é muito escalável. O algoritmo APRIORI explora o espaço de Estado de possíveis itemsets freqüentes e elimina ramos do espaço de busca, que não são freqüentes.
dos conjuntos de itens Freqüentes são usados para gerar regras e essas regras gerar recomendações.
Como exemplo, vamos mostrar as regras extraídas a partir de transações bancárias na República checa. Nós (interações) são terminais e as arestas são transações frequentes. Você pode recomendar terminais bancários que são relevantes com base em levantamentos / pagamentos passados.
penalizar itens populares e extrair regras de cauda longa com menor suporte leva a regras interessantes que diversificam recomendações e ajudam a descobrir novos conteúdos.
Classificação matriz também pode ser comprimido por uma rede neural. Assim chamado autoencoder é muito semelhante à factorização matrix. Autoencoders profundos, com múltiplas camadas escondidas e não lineares são mais poderosos, mas mais difíceis de treinar. A rede Neural também pode ser usada para pré-processar atributos de itens para que possamos combinar abordagens baseadas em conteúdo e colaborativas.
Usuário-KNN superior recomendação N pseudocódigo é apresentado acima.
Associações de regras pode ser extraído por vários algoritmos diferentes. Aqui mostramos as melhores recomendações pseudocode.
O pseudocódigo da fatoração de matriz é dado acima.
na aprendizagem profunda colaborativa, você treina a factorização matricial simultaneamente com o autoencoder incorporando atributos de item. Há, naturalmente, muitos mais algoritmos que você pode usar para a recomendação e a próxima parte da apresentação introduz alguns métodos baseados na aprendizagem profunda e de reforço.
Avaliação de recommenders
Recommenders pode ser avaliada da mesma forma clássica como modelos de aprendizagem de máquinas com base em dados históricos (off-line de avaliação).
Interações dos selecionados aleatoriamente testes de usuários cruz validado para estimar o desempenho de recommender no invisível avaliações.
Raiz do erro quadrático médio (RMSE) ainda é amplamente utilizado, apesar de muitos estudos mostraram que o RMSE é ruim estimador de desempenho on-line.
a medida mais prática de avaliação offline é a recolha ou a precisão da percentagem de itens corretamente recomendados (fora dos itens recomendados ou relevantes). O DCG toma também em consideração a posição, assumindo que a relevância dos itens logaritmicamente diminui.
pode-se utilizar a medida adicional que não é tão sensível ao viés nos dados offline. A cobertura do catálogo juntamente com a recolha ou precisão pode ser usada para otimização multi-objetiva. Introduzimos parâmetros de regularização para todos os algoritmos que permitem manipular sua plasticidade e penalizar a recomendação de itens populares.
Tanto a recordação e a cobertura deve ser maximizada então nós dirigimos recommender direção precisa e diversas recomendações permitindo que os usuários explorem o novo conteúdo.
arranque a Frio e conteúdo com base recomendação
às Vezes, as interações estão em falta. Os produtos de arranque a frio ou os utilizadores de arranque a frio não têm interacções suficientes para medir de forma fiável a sua semelhança de interacção, pelo que os métodos de filtragem colaborativa não geram recomendações.
partida a Frio problema pode ser reduzido quando o atributo de similaridade é levado em conta. Você pode codificar atributos em vetor binário e alimentá-lo para recommender.
Itens agrupados com base na sua interação semelhança de atributo e semelhança são freqüentemente alinhados.
Você pode usar uma rede neural para prever a interação de similaridade de atributos de similaridade e vice-versa.
Existem muitas outras abordagens, permitindo-nos reduzir a partida a frio problema e melhorar a qualidade de recomendação. Na segunda parte da nossa palestra discutimos técnicas de recomendação baseadas em sessões, recomendações profundas, conjuntos de algoritmos e AutoML que nos permitem executar e otimizar milhares de algoritmos de recomendação diferentes na produção.
Continue a segunda parte da apresentação discutindo recomendações profundas, predição de sequência, AutoML e aprendizagem de reforço na recomendação.
ou confira nossas atualizações recentes em Recombee em 2019: novas características e melhorias.