HRN-冷启动食谱(传统) - Amazon Personalize
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

HRN-冷启动食谱(传统)

注意

我们建议使用 AWS 用户个性化(用户个性化)配方而不是传统的 HRNN 配方。用户个性化改进并统一了 HRNN 配方提供的功能。有关更多信息,请参阅用户个性化配方

当您经常添加新项目和交互并希望立即获得有关这些项目的推荐时,可以使用 HRNN 冷启动配方来预测用户将与之交互的项目。HRNN 冷启动配方类似于 HRNN 元数据配方,但它允许您获取有关新项目的推荐。

此外,当您由于最近的流行趋势或由于交互可能极不寻常并且在训练中引入噪音而希望从训练项目中排除具有长交互列表的项目时,也可以使用 HRNN 冷启动配方。使用 HRNN 冷启动,您可以筛选掉相关性较弱的项目以创建用于训练的子集。该项目子集称为冷项目,是在交互数据集中具有相关交互事件的项目。如果项目符合以下条件,则该项目被视为冷项目:

  • 交互数量少于指定的最大交互数量。您在配方的 cold_start_max_interactions 超参数中指定此值。

  • 相对持续时间短于最大持续时间。您在配方的 cold_start_max_duration 超参数中指定此值。

要减少冷项目的数量,请为 cold_start_max_interactionscold_start_max_duration 设置较低的值。要增加冷项目的数量,请为 cold_start_max_interactionscold_start_max_duration 设置较大的值。

HRNN-Coldstart 具有以下冷项目限制:

  • Maximum cold start items:80,000

  • Minimum cold start items:100

如果冷项目的数量超出此范围,则尝试创建解决方案将失败。

HRNN-Coldstart 配方具有以下属性:

  • 名称aws-hrnn-coldstart

  • 配方 Amazon 资源名称 (ARN)arn:aws:personalize:::recipe/aws-hrnn-coldstart

  • 算法 ARNarn:aws:personalize:::algorithm/aws-hrnn-coldstart

  • 功能转换 ARNarn:aws:personalize:::feature-transformation/featurize_coldstart

  • 配方类型USER_PERSONALIZATION

有关更多信息,请参阅第 1 步:选择配方

下表描述 HRNN-Coldstart 配方的超参数。超参数 是一个算法参数,您可以调整该参数以提高模型性能。算法超参数控制模型的执行方式。特征化超参数控制如何筛选训练中使用的数据。为超参数选择最佳值的过程称为超参数优化 (HPO)。有关更多信息,请参阅超级参数和 HPO

该表还为每个超参数提供以下信息:

  • 范围:[上界, 下界]

  • 值类型:Integer、Continuous(浮点数)、Categorical(布尔值、列表、字符串)

  • 可调 HPO:该参数是否可以参与 HPO?

名称 描述
算法超参数
hidden_dimension

模型中使用的隐藏变量的数量。隐藏变量 重新创建用户的购买历史记录和项目统计数据来生成排名分数。当交互数据集包含更复杂的模式时,请指定更多数量的隐藏维度。使用更多隐藏维度需要更大的数据集和更多的处理时间。要确定最佳值,请使用 HPO。要使用 HPO,当您调用 CreateSolutionCreateSolutionVersion 操作时,请将 performHPO 设置为 true

默认值:149

Range (范围):[32, 256]

值类型:整数 整数

HPO 可调:是

bptt

确定是否使用基于时间的反向传播技术。反向传播 是一种在基于递归神经网络的算法中更新权重的技术。将 bptt 用于长期积分以将延迟奖励与早期事件联系起来。例如,延迟奖励可以是几次点击后进行的购买。早期事件可以是初始点击。即使在相同的事件类型(例如点击)中,最好考虑长期影响并最大化总奖励。要考虑长期效果,请使用较大的 bptt 值。使用较大的 bptt 值需要更大的数据集和更多的处理时间。

默认值:32

Range (范围):[2, 32]

值类型:整数 整数

HPO 可调:是

recency_mask

确定模型是否应考虑交互数据集中的最新流行趋势。最新流行趋势可能包括交互事件的基本模式的突然变化。要训练一个使最近事件具有更高权重的模型,请将 recency_mask 设置为 true。要训练一个使所有过往交互占相同权重的模型,请将 recency_mask 设置为 false。要使用相等权重获得好的建议,您可能需要较大的训练数据集。

默认值:True

范围:TrueFalse

值类型:整数 Boolean

HPO 可调:是

特征化超参数
cold_start_max_interactions

项目可能必须被视为冷项目的最大用户-项目交互次数。

默认值:15

Range (范围):正整数

值类型:整数 整数

HPO 可调:否

cold_start_max_duration

用户-项目交互被视为冷启动项目的相对于起点的最大持续时间(以天为单位)。要设置用户-项目交互的起点,请设置 cold_start_relative_from 超参数。

默认值:5.0

Range (范围):正浮点数

值类型:整数 Float

HPO 可调:否

cold_start_relative_from

确定 HRNN 冷启动配方计算 cold_start_max_duration 的起点。要从当前时间计算,请选择 currentTime

要从交互数据集中最新项目的时间戳计算 cold_start_max_duration,请选择 latestItem。如果您经常添加新项目,该设置将非常有用。

默认值:latestItem

范围:currentTimelatestItem

值类型:整数 字符串

HPO 可调:否

min_user_history_length_percentile

要包含在模型训练中的用户历史记录长度的最小百分位数。历史记录长度 是有关用户的数据总量。使用 min_user_history_length_percentile 排除历史记录长度较短的一定百分比的用户。历史记录较短的用户通常会根据项目受欢迎程度而不是用户的个人需求或需要来显示模式。删除它们可以在训练模型时更多地关注数据中的基础模式。使用直方图或类似工具查看用户历史记录长度后,请选择适当的值。我们建议您设置一个值,该值将保留大多数用户,但会删除边缘案例。

例如,设置 min__user_history_length_percentile to 0.05max_user_history_length_percentile to 0.95 将包括除那些历史记录长度在最低或最高 5% 内的用户之外的所有用户。

默认值:0.0

Range (范围):[0.0, 1.0]

值类型:整数 Float

HPO 可调:否

max_user_history_length_percentile

要包含在模型训练中的用户历史记录长度的最大百分位数。历史记录长度 是有关用户的数据总量。使用 max_user_history_length_percentile 排除具有较长历史记录长度的一定百分比的用户,因为这些用户的数据往往包含噪音。例如,机器人可能有很长的自动交互列表。删除这些用户可限制训练中的噪音。使用直方图或类似工具查看用户历史记录长度后,请选择适当的值。我们建议您设置一个值,该值将保留大多数用户,但会删除边缘案例。

例如,设置 min__user_history_length_percentile to 0.05max_user_history_length_percentile to 0.95 将包括除那些历史记录长度在最低或最高 5% 内的用户之外的所有用户。

默认值:0.99

Range (范围):[0.0, 1.0]

值类型:整数 Float

HPO 可调:否