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

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 classificações personalizadas, use a API GetPersonalizedRanking.

Depois de criar uma versão da solução, mantenha a versão e os dados da solução atualizados. Com o Personalized-Ranking, você deve criar manualmente uma nova versão da solução (retreinar o modelo) para que o Amazon Personalize considere novos itens para recomendações e atualize 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 ter 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 resposta da GetPersonalizedRanking API.

Essa fórmula tem as seguintes propriedades:

  • Nome: aws-personalized-ranking

  • Fórmula nome do recurso da Amazon (ARN)arn:aws:personalize:::recipe/aws-personalized-ranking

  • ARN do algoritmoarn:aws:personalize:::algorithm/aws-personalized-ranking

  • ARN de transformação de atributosarn: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 ter 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)

  • HPO tunable (HPO ajustável): o parâmetro pode participar da otimização do hiperparâmetro (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, use HPO. Para usar a HPO, defina performHPO true ao chamar as operações CreateSolution e CreateSolutionVersion.

Valor padrão: 149

Intervalo: [32, 256]

Tipo de valor: inteiro

Ajustável de HPO: 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

Ajustável de HPO: 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

Ajustável de HPO: 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

HPO ajustá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

HPO ajustá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.