Receta Personalized-Ranking - Amazon Personalize

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Receta Personalized-Ranking

importante

Recomendamos utilizar la receta Personalized-Ranking-v2. Puede tener en cuenta hasta cinco millones de elementos con un entrenamiento más rápido y generar clasificaciones más precisas con una latencia más baja.

La receta Personalized-Ranking genera clasificaciones personalizadas de elementos. Una clasificación personalizada es una lista de elementos recomendados que se vuelven a clasificar para un usuario específico. Resulta útil si tiene una colección de elementos pedidos, como resultados de búsqueda, promociones o listas seleccionadas, y quiere ofrecer una nueva clasificación personalizada para cada uno de sus usuarios. Por ejemplo, con Personalized-Ranking, Amazon Personalize puede volver a clasificar los resultados de búsqueda que generes con ellos. OpenSearch

Para entrenar un modelo, la receta Personalized-Ranking utiliza los datos de su conjunto de datos de interacciones de elementos y, si los creó, los conjuntos de datos de elementos y usuarios de su grupo de conjuntos de datos (estos conjuntos de datos son opcionales). Con Personalized-Ranking, su conjunto de datos de elementos puede incluir Metadatos de texto no estructurado y su conjunto de datos de interacciones puede incluir Metadatos contextuales. Para obtener clasificaciones personalizadas, use la API GetPersonalizedRanking.

Después de crear una versión de la solución, asegúrese de mantener la versión y los datos de la solución actualizados. Con Personalized-Ranking, debe crear manualmente una nueva versión de solución (reentrenar el modelo) para que Amazon Personalize tenga en cuenta los nuevos elementos para las recomendaciones y actualizar el modelo con el comportamiento más reciente del usuario. A continuación, debe actualizar cualquier campaña con la versión de la solución. Para obtener más información, consulte Mantenimiento de la relevancia de las recomendaciones.

nota

Si proporciona artículos sin datos de interacciones para su clasificación, Amazon Personalize devolverá estos artículos sin una puntuación de recomendación en la respuesta de la GetPersonalizedRanking API.

Esta receta tiene las siguientes propiedades:

  • Nombre: aws-personalized-ranking

  • Nombre de recurso de Amazon (ARN) de la receta: arn:aws:personalize:::recipe/aws-personalized-ranking

  • ARN del algoritmo: arn:aws:personalize:::algorithm/aws-personalized-ranking

  • ARN de transformación de características: arn:aws:personalize:::feature-transformation/JSON-percentile-filtering

  • Tipo de receta: PERSONALIZED_RANKING

Hiperparámetros

En la siguiente tabla se describen los hiperparámetros de la receta Personalize-Ranking. Un hiperparámetro es un parámetro de algoritmo que se puede ajustar para mejorar el rendimiento del modelo. Los hiperparámetros de algoritmos controlan el rendimiento del modelo. Los hiperparámetros de caracterización controlan cómo se filtran los datos que se van a utilizar en el entrenamiento. El proceso de elección del mejor valor para un hiperparámetro se denomina optimización de hiperparámetros (HPO). Para obtener más información, consulte Hiperparámetros y HPO.

La tabla también proporciona la siguiente información para cada hiperparámetro:

  • Rango: [límite inferior, límite superior]

  • Tipo de valor: número entero, continuo (flotante), categórico (booleano, lista, cadena)

  • HPO ajustable: ¿puede el parámetro participar en optimización hiperparámetros (HPO)?

Nombre Descripción
Hiperparámetros de algoritmos
hidden_dimension

El número de variables ocultas utilizadas en el modelo. Las variables ocultas recrean el historial de compras de los usuarios y las estadísticas de los elementos para generar puntuaciones de clasificación. Especifique un número mayor de dimensiones ocultas cuando el conjunto de datos de interacciones de elementos incluya patrones más complicados. El uso de más dimensiones ocultas requiere un conjunto de datos mayor y más tiempo de procesamiento. Para decidir el valor óptimo, utilice HPO. Para utilizar HPO, establezca performHPO en true cuando llame a las operaciones CreateSolution y CreateSolutionVersion.

Valor predeterminado: 149

Rango: [32, 256]

Tipo de valor: entero

HPO ajustable: sí

bptt

Determina si se debe utilizar la propagación hacia atrás a través de la técnica de tiempo. La propagación hacia atrás a través del tiempo es una técnica que actualiza ponderaciones en algoritmos basados en redes neuronales recurrentes. Utilice bptt para créditos a largo plazo para conectar recompensas retrasadas a eventos tempranos. Por ejemplo, una recompensa retrasada puede ser una compra realizada después de varios clics. Un evento temprano puede ser un clic inicial. Incluso dentro de los mismos tipos de eventos, tales como un clic, es buena idea tener en cuenta los efectos a largo plazo y maximizar las recompensas totales. Para tener en cuenta los efectos a largo plazo, utilice valores mayores de bptt. El uso de un valor de bptt mayor requiere conjuntos de datos más grandes y más tiempo de procesamiento.

Valor predeterminado: 32

Rango: [2, 32]

Tipo de valor: entero

HPO ajustable: sí

recency_mask

Determina si el modelo debe tener en cuenta las últimas tendencias de popularidad en el conjunto de datos de interacciones de elementos. Las últimas tendencias de popularidad pueden incluir cambios bruscos en los patrones subyacentes de los eventos de interacción. Para entrenar un modelo que tenga más peso sobre los eventos recientes, establezca recency_mask en true. Para entrenar un modelo que pesa igualmente todas las interacciones anteriores, establezca recency_mask en false. Para obtener buenas recomendaciones con el mismo peso, es posible que necesite un conjunto de datos de entrenamiento mayor.

Valor predeterminado: True

Rango: True o False

Tipo de valor: booleano

HPO ajustable: sí

Hiperparámetros de caracterización
min_user_history_length_percentile

El percentil mínimo de longitudes de historial de usuario para incluir en el entrenamiento de modelos. La longitud del historial es la cantidad total de datos sobre un usuario. Utilice min_user_history_length_percentile para excluir un porcentaje de usuarios con longitudes de historial cortas. Los usuarios con un historial corto suelen mostrar patrones basados en la popularidad de los elementos en lugar de sus necesidades o deseos personales. Eliminarlos puede entrenar modelos que se centren más en los patrones subyacentes de los datos. Elija un valor adecuado después de revisar las longitudes del historial de usuarios, utilizando un histograma o una herramienta similar. Recomendamos establecer un valor que retenga a la mayoría de los usuarios, pero que elimine los casos de borde.

Por ejemplo, al establecer min__user_history_length_percentile to 0.05 y max_user_history_length_percentile to 0.95 se incluyen todos los usuarios, excepto los que tienen longitudes de historial en el 5 % inferior o superior.

Valor predeterminado: 0,0

Rango: [0,0, 1,0]

Tipo de valor: flotante

HPO ajustable: no

max_user_history_length_percentile

El percentil máximo de longitudes de historial de usuario para incluir en el entrenamiento de modelos. La longitud del historial es la cantidad total de datos sobre un usuario. Utilice max_user_history_length_percentile para excluir un porcentaje de usuarios con longitudes de historial largas, ya que los datos de estos usuarios tienden a contener ruido. Por ejemplo, un robot podría tener una larga lista de interacciones automatizadas. La eliminación de estos usuarios limita el ruido en el entrenamiento. Elija un valor adecuado después de revisar las longitudes del historial de usuarios mediante un histograma o una herramienta similar. Recomendamos establecer un valor que retenga la mayoría de los usuarios, pero que elimine los casos de borde.

Por ejemplo, al establecer min__user_history_length_percentile to 0.05 y max_user_history_length_percentile to 0.95 se incluyen todos los usuarios, excepto los que tienen longitudes de historial en el 5 % inferior o superior.

Valor predeterminado: 0,99

Rango: [0,0, 1,0]

Tipo de valor: flotante

HPO ajustable: no

Cuaderno de ejemplo de Personalized-Ranking

Para ver una muestra de cuaderno de Jupyter que describe el uso de la receta Personalized-Ranking, consulte el ejemplo de Personalize Ranking.