Treinar o sistema de recomendação SVD

Este artigo descreve como usar o componente Treinar Sistema de Recomendação SVD no Azure Machine Learning Designer. Use esse componente para treinar um modelo de recomendação com base no algoritmo de decomposição de valor único (SVD).

O componente Treinar Sistema de Recomendação SVD lê um conjunto de dados de triplos de classificação de usuário-item. Ele retorna um sistema de recomendação SVD treinado. Você pode usar o modelo treinado para prever classificações ou gerar recomendações, conectando o componente Pontuação do Sistema de Recomendação SVD.

Mais sobre modelos de recomendação e o sistema de recomendação SVD

O objetivo principal de um sistema de recomendação é recomendar um ou mais itens para usuários do sistema. Exemplos de um item podem ser um filme, restaurante, livro ou música. Um usuário pode ser uma pessoa, um grupo de pessoas ou outra entidade com preferências de item.

Há duas abordagens principais para sistemas de recomendação:

  • Uma abordagem baseada em conteúdo faz uso de recursos para usuários e itens. Os usuários podem ser descritos por propriedades como idade e sexo. Os itens podem ser descritos por propriedades como autor e fabricante. Você pode encontrar exemplos típicos de sistemas de recomendação baseados em conteúdo em sites de correspondência social.
  • A filtragem colaborativa usa apenas identificadores dos usuários e dos itens. Ela obtém informações implícitas sobre essas entidades de uma matriz (esparsa) de classificações atribuídas pelos usuários aos itens. Podemos aprender sobre um usuário por meio dos itens que ele classificou e de outros usuários que classificaram os mesmos itens.

O sistema de recomendação SVD usa identificadores dos usuários e dos itens e uma matriz de classificações atribuídas pelos usuários aos itens. É um sistema de recomendação colaborativo.

Para obter mais informações sobre o sistema de recomendação SVD, veja o documento de pesquisa relevante: Técnicas de fatoração de matriz para sistemas de recomendação.

Como configurar o módulo Treinar o sistema de recomendação SVD

Preparar dados

Antes de usar o componente, os dados de entrada devem estar no formato esperado pelo modelo de recomendação. É necessário um conjunto de dados de treinamento de triplos de classificação de usuário-item.

  • A primeira coluna contém os identificadores de usuário.
  • A segunda coluna contém os identificadores de item.
  • A terceira coluna contém a classificação para o par usuário-item. Os valores de classificação devem ser do tipo numérico.

O conjunto de dados Classificações de filmes no designer do Azure Machine Learning (selecione Conjunto de dados e Amostras) demonstra o formato esperado:

Classificação de filmes

Neste exemplo, você pode ver que um único usuário classificou vários filmes.

Treinar o modelo

  1. Adicione o componente Treinar Sistema de Recomendação SVD ao pipeline no designer e conecte-o aos dados de treinamento.

  2. Para Número de fatores, especifique o número de fatores a serem usados com o sistema de recomendação.

    Cada fator mede o quanto o usuário está relacionado ao item. O número de fatores também é a dimensionalidade do espaço de fator latente. Com o aumento do número de usuários e itens, é melhor definir um número maior de fatores. Mas se o número for muito grande, o desempenho poderá cair.

  3. O Número de iterações do algoritmo de recomendação indica quantas vezes o algoritmo deve processar os dados de entrada. Quanto mais alto for esse número, mais precisas serão as previsões. No entanto, um número mais alto significa treinamento mais lento. O valor padrão é 30.

  4. Para Taxa de aprendizagem, insira um número entre 0,0 e 2,0 que define o tamanho da etapa para aprendizado.

    A taxa de aprendizagem determina o tamanho da etapa em cada iteração. Se o tamanho da etapa for muito grande, você poderá exceder a solução ideal. Se o tamanho da etapa for muito pequeno, o treinamento levará mais tempo para encontrar a melhor solução.

  5. Enviar o pipeline.

Resultados

Depois que o trabalho do pipeline for concluído, para usar o modelo para pontuação, conecte Treinar o sistema de recomendação SVD a Pontuar o sistema de recomendação SVD, para prever valores para novos exemplos de entrada.

Próximas etapas

Confira o conjunto de componentes disponíveis no Azure Machine Learning.