Fórmulas de classificações personalizadas - Amazon Personalize

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Fórmulas de classificações personalizadas

Importante

Recomendamos usar a fórmula Personalized-Ranking-v2. Ela pode considerar até 5 milhões de itens com um treinamento mais rápido e gerar classificações mais precisas com menor latência.

A fórmula Personalized-Ranking gera classificações personalizadas de itens. Uma classificação personalizada é uma lista de itens recomendados que são reclassificados para um usuário específico. Isso é útil se você tiver uma coleção de itens pedidos, como resultados de pesquisa, promoções ou listas selecionadas, e quiser fornecer uma nova classificação personalizada para cada um de seus usuários. Por exemplo, com o Personalized-Ranking, o Amazon Personalize pode reclassificar os resultados de pesquisa que você gera com. OpenSearch

Para treinar um modelo, a fórmula Personalized-Ranking usa os dados no conjunto de dados de interações com itens e também os conjuntos de dados de itens e usuários (se você os tiver criado) no grupo de conjuntos de dados (esses conjuntos de dados são opcionais). Com a Personalized-Ranking, o conjunto de dados de itens pode incluir Metadados de texto não estruturados, e o conjunto de dados de interações de itens pode incluir Metadados contextuais. Para obter uma classificação personalizada, use GetPersonalizedRanking API o.

Depois de criar uma versão da solução, mantenha a versão e os dados da solução atualizados. Com a Personalized-Ranking, você deve criar manualmente uma nova versão da solução (treinar o modelo novamente) para o Amazon Personalize considerar novos itens para as recomendações e atualizar o modelo com o comportamento mais recente do seu usuário. Em seguida, será necessário atualizar qualquer campanha usando a versão da solução. Para obter mais informações, consulte Manter a relevância da recomendação.

nota

Se você fornecer itens sem dados de interações para classificação, o Amazon Personalize retornará esses itens sem uma pontuação de recomendação na GetPersonalizedRanking API resposta.

Essa fórmula tem as seguintes propriedades:

  • Nome: aws-personalized-ranking

  • Receita Nome do recurso da Amazon (ARN)arn:aws:personalize:::recipe/aws-personalized-ranking

  • Algoritmo ARNarn:aws:personalize:::algorithm/aws-personalized-ranking

  • Transformação de recursos ARNarn:aws:personalize:::feature-transformation/JSON-percentile-filtering

  • Tipo de fórmulaPERSONALIZED_RANKING

Hiperparâmetros

A tabela a seguir descreve os hiperparâmetros da fórmula Personalize-Ranking. Um hiperparâmetro é um parâmetro de algoritmo que pode ser ajustado para melhorar o desempenho do modelo. Os hiperparâmetros do algoritmo controlam o desempenho do modelo. Os hiperparâmetros de caracterização controlam como filtrar os dados a serem usados no treinamento. O processo de escolher o melhor valor para um hiperparâmetro é chamado de otimização de hiperparâmetros ()HPO. Para obter mais informações, consulte Hiperparâmetros e HPO.

A tabela também fornece as seguintes informações para cada hiperparâmetro:

  • Intervalo: [limite inferior, limite superior]

  • Tipo de valor: inteiro, contínuo (float), categórico (booliano, lista, string)

  • HPOajustável: O parâmetro pode participar da otimização de hiperparâmetros ()HPO?

Nome Descrição
Hiperparâmetros de algoritmo
hidden_dimension

O número de variáveis ocultas usadas no modelo. Variáveis ocultas recriam o histórico de compras dos usuários e as estatísticas de itens para gerar pontuações de classificação. Especifique um número maior de dimensões ocultas quando o conjunto de dados de interações com itens incluir padrões mais complicados. Usar mais dimensões ocultas requer um conjunto de dados maior e mais tempo para processamento. Para decidir sobre o valor ideal, useHPO. Para usarHPO, performHPO defina como true quando você liga CreateSolution e CreateSolutionVersion opera.

Valor padrão: 149

Intervalo: [32, 256]

Tipo de valor: inteiro

HPOajustável: Sim

bptt

Determina se é necessário usar a técnica de propagação retroativa ao longo do tempo. A propagação retroativa ao longo do tempo é uma técnica que atualiza pesos em algoritmos baseados em rede neural recorrente. Use o bptt para créditos de longo prazo a fim de conectar prêmios atrasados a eventos iniciais. Por exemplo, um prêmio atrasado pode ser uma compra feita após vários cliques. Um evento inicial pode ser um clique inicial. Mesmo dentro dos mesmos tipos de evento, como um clique, é uma boa ideia considerar efeitos de longo prazo e maximizar os prêmios totais. Para considerar efeitos de longo prazo, use valores bptt maiores. O uso de um valor bptt maior exige conjuntos de dados maiores e mais tempo para processamento.

Valor padrão: 32

Intervalo: [2, 32]

Tipo de valor: inteiro

HPOajustável: Sim

recency_mask

Determina se o modelo deve utilizar as tendências de popularidade mais recentes no conjunto de dados de interações com itens. As tendências de popularidade mais recentes podem incluir mudanças repentinas nos padrões subjacentes de eventos de interação. Para treinar um modelo que posiciona mais peso sobre eventos recentes, defina recency_mask como true. Para treinar um modelo que pese igualmente todas as interações passadas, defina recency_mask como false. Para obter boas recomendações usando um peso igual, talvez seja necessário um conjunto de dados de treinamento maior.

Valor padrão: True

Intervalo: True ou False

Tipo de valor: booliano

HPOajustável: Sim

Hiperparâmetros de caracterização
min_user_history_length_percentile

O percentil mínimo dos comprimentos dos históricos de usuários para incluir no treinamento do modelo. Tamanho do histórico é a quantidade total de dados sobre um usuário. Use min_user_history_length_percentile para excluir uma porcentagem de usuários com históricos breves. Os usuários com um histórico breve geralmente mostram padrões baseados na popularidade dos itens em vez das necessidades ou dos desejos pessoais do usuário. Removê-los pode treinar modelos com mais foco nos padrões subjacentes nos dados. Escolha um valor apropriado depois de revisar os comprimentos de histórico dos usuários usando um histograma ou uma ferramenta semelhante. Recomendamos definir um valor que retenha a maioria dos usuários, mas remova os casos de borda.

Por exemplo, a definição de min__user_history_length_percentile to 0.05 e max_user_history_length_percentile to 0.95 inclui todos os usuários, exceto aqueles com comprimentos de histórico nos 5% inferiores ou superiores.

Valor padrão: 0.0

Intervalo: [0,0, 1,0]

Tipo de valor: flutuante

HPOajustável: Não

max_user_history_length_percentile

O percentil máximo dos comprimentos dos históricos de usuários a ser incluído no treinamento do modelo. Tamanho do histórico é a quantidade total de dados sobre um usuário. Use max_user_history_length_percentile para excluir uma porcentagem de usuários com históricos longos, pois os dados desses usuários tendem a conter ruído. Por exemplo, um robô pode ter uma longa lista de interações automatizadas. A remoção desses usuários limita o ruído no treinamento. Escolha um valor apropriado depois de revisar os comprimentos de histórico dos usuários usando um histograma ou uma ferramenta semelhante. Recomendamos definir um valor que retenha a maioria dos usuários, mas remova os casos de borda.

Por exemplo, a definição de min__user_history_length_percentile to 0.05 e max_user_history_length_percentile to 0.95 inclui todos os usuários, exceto aqueles com comprimentos de histórico nos 5% inferiores ou superiores.

Valor padrão: 0.99

Intervalo: [0,0, 1,0]

Tipo de valor: flutuante

HPOajustável: Não

Exemplo de caderno do Personalized-Ranking

Para ver um exemplo de caderno Jupyter que mostra como usar a fórmula Personalized-Ranking, consulte Exemplo de classificação personalizada.