策略参数说明
RES支持多种策略,本章介绍召回策略(recall)、排序策略(sorting)。具体描述请参见表1 策略类型说明。
strategy_type |
name |
algorithm_type |
---|---|---|
recall |
SpecificBehavior |
|
BehaviorsWeight |
||
ItemCF |
||
UserCF |
||
AlsCF |
||
HistoryBehaviorMemory |
||
ManualInput |
||
sorting |
LR |
|
FM |
||
FFM |
||
DEEPFM |
||
PIN |
特定行为热度推荐
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
data_source_config |
是 |
JSON |
请参见表3,数据源参数配置。 |
algorithm_config |
是 |
JSON |
算法参数配置。 |
candidate_set_config |
是 |
JSON |
请参见表4,候选集参数配置。 |
参数名称 |
是否必选 |
参数类型 |
描述信息 |
---|---|---|---|
behavior_type |
是 |
String |
行为类型。
|
start_time |
与retain_day二选一 |
long |
用户行为起始时间,与end_time共存。 |
end_time |
与retain_day二选一 |
long |
用户行为结束时间,与start_time共存。 |
retain_day |
与start_time二选一 |
Integer |
用户行为时间跨度,整数 [1,10000]。 |
综合行为热度推荐
参数名称 |
是否必选 |
参数类型 |
描述信息 |
---|---|---|---|
data_source_config |
是 |
JSON |
请参见表6,数据源参数配置。 |
algorithm_config |
是 |
JSON |
算法参数配置。 |
candidate_set_config |
是 |
JSON |
请参见表8,候选集参数配置。 |
参数名称 |
是否必选 |
参数类型 |
描述信息 |
---|---|---|---|
behavior_weights |
是 |
List |
请参见表7,行为权重。 |
start_time |
与retain_day二选一 |
long |
用户行为起始时间。和end_time共存。 |
end_time |
与retain_day二选一 |
long |
用户行为结束时间。和start_time共存。 |
retain_day |
与start_time二选一 |
Integer |
用户行为时间跨度,整数 [1,10000]。 |
基于物品的协同过滤推荐
参数名称 |
是否必选 |
参数类型 |
描述信息 |
---|---|---|---|
data_source_config |
是 |
JSON |
请参见表10,数据源参数配置。 |
algorithm_config |
是 |
JSON |
请参见表11,算法参数配置。 |
candidate_set_config |
是 |
JSON |
请参见表12,候选集参数配置。 |
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
retain_days |
是 |
Integer |
用户行为时间跨度,整数 [1,10000]。 |
behavior_weights |
是 |
List |
请参见表7(不包含uncollect和dislike),行为权重。 |
基于用户的协同过滤推荐
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
data_source_config |
是 |
JSON |
请参见表14,数据源参数配置。 |
algorithm_config |
是 |
JSON |
请参见表15,算法参数配置。 |
candidate_set_config |
是 |
JSON |
请参见表16,候选集参数配置。 |
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
retain_days |
是 |
Integer |
用户行为时间跨度,整数 [1,10000]。 |
behavior_weights |
是 |
List |
请参见表7(不包含uncollect和dislike),行为权重。 |
基于交替最小二乘的矩阵分解推荐
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
data_source_config |
是 |
JSON |
请参见表18,数据源参数配置。 |
algorithm_config |
是 |
JSON |
请参见表19,算法参数配置。 |
candidate_set_config |
是 |
JSON |
候选集参数配置。 |
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
retain_days |
是 |
Integer |
用户行为时间跨度,整数[ 1,10000]。 |
behavior_weights |
是 |
List |
请参见表7,行为权重。 |
基于历史行为记忆生成候选集
人工录入生成候选集
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
data_source_config |
是 |
JSON |
数据源参数配置。 |
algorithm_config |
是 |
JSON |
请参见表25,算法参数配置。 |
candidate_set_config |
是 |
JSON |
候选集参数配置。 |
基于属性匹配的召回策略
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
portrait_storage |
是 |
JSON |
请参见表27,用户画像,物品画像的存储信息。 |
global_features_information_path |
是 |
String |
全局特征信息文件。 |
match_feature_pairs |
是 |
List |
请参见表30,待匹配特征对。 |
recommended_number |
是 |
Integer |
输出的推荐个数【1~1000】。 |
row |
是 |
Integer |
行数。 |
band |
是 |
Integer |
条数。 |
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
item_profile_storage |
是 |
JSON |
请参见表28,用户画像存储信息。 |
user_profile_storage |
是 |
JSON |
请参见表28,用户画像存储信息。 |
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
platform |
是 |
String |
平台名称,现支持CloudTable。 |
platform_parameter |
是 |
JSON |
请参见表29,数据存储参数。 |
逻辑斯蒂回归
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
fields_feature_size_path |
是 |
String |
该文件标识了每一个域下的特征数量,排序数据处理接口会生成这个文件,文件路径为用户在排序数据预处理中输入的结果保存路径参数表示的路径的“fields_feature_size”目录下,文件名称为“part-00000”,需要用户提供文件完整路径。 |
max_iterations |
是 |
Int |
模型训练的最大迭代轮数。取值范围[1,1000]。 |
early_stop_iterations |
是 |
Int |
在测试集上连续early_stop_iterations轮迭代的AUC小于当前最优AUC时,迭代停止,训练结束。取值范围[1,1000],不大于max_iterations。 |
initial_parameters |
是 |
JSON |
请参见表32,初始化相关参数。 示例: { “initial_method”:“normal”,“mean_value”: 0, “standard_deviation”:0.001 } |
optimize_parameters |
是 |
JSON |
请参见表33,优化策略相关参数。 示例: { “type”:“adam”, “epsilon”:1e-08, “learning_rate”:0.001 } |
regular_parameters |
是 |
JSON |
请参见表34,正则相关参数。 示例: { "l2_regularization":0.001, "regular_loss_compute_mode":"full" } |
algorithm_specify_parameters |
是 |
JSON |
- |
参数名称 |
是否必选 |
参数类型 |
说明 |
|
---|---|---|---|---|
正态分布(normal) |
平均值(mean_value) |
是 |
Double |
正态分布的平均值。取值范围[-1,1],默认值为0。 |
标准差(standard_deviation) |
是 |
Double |
正态分布的标准差。取值范围[0, 1],默认值为0.001。 |
|
均匀分布(uniform) |
最小值(min_value) |
是 |
Double |
均匀分布的最小值, 必须小于最大值。取值范围[-1, 0),默认值为-0.001。 |
最大值(max_value) |
是 |
Double |
均匀分布的最大值, 必须大于最小值。取值范围(0,1],默认值为0.001。 |
|
xavier |
无 |
是 |
无 |
神经元的初始值权重初始化为均值为0,方差为 Var(wi)=1/nin 的均匀分布(高斯或者随机分布)。其中 nin 是该神经元的输入数目。 |
参数名称 |
是否必选 |
参数类型 |
说明 |
|
---|---|---|---|---|
梯度下降(grad) |
学习率(learning_rate) |
是 |
Double |
决定优化器在优化方向上前进步长的参数。取值范围(0,1],默认值为0.001。 |
自适应梯度(adagrad) |
初始梯度累加和 (initial_accumulator_value) |
是 |
Double |
用来动态调整学习步长。取值范围(0,1],默认值为0.1。 |
学习率(learning_rate) |
是 |
Double |
决定优化器在优化方向上前进步长的参数。取值范围(0,1],默认值为0.001。 |
|
自适应矩估计(adam) |
数值稳定常量(epsilon) |
是 |
Double |
为保证数值稳定而设置的一个微小常量。取值范围(0,1],默认值为1.00E-08。 |
学习率(learning_rate) |
是 |
Double |
决定优化器在优化方向上前进步长的参数。取值范围(0,1],默认值为0.001。 |
|
在线学习(ftrl) |
初始梯度累加和 (initial_accumulator_value) |
是 |
Double |
用来动态调整学习步长。取值范围(0,1],默认值为0.1。 |
L1正则项系数(lambda1) |
是 |
Double |
叠加在模型的1范数之上,用来对模型值进行限制防止过拟合。取值范围[0,1],默认值为0。 |
|
L2正则项系数(lambda2) |
是 |
Double |
叠加在模型的2范数之上,用来对模型值进行限制防止过拟合。取值范围[0,1],默认值为0。 |
|
学习率(learning_rate) |
是 |
Double |
决定优化器在优化方向上前进步长的参数。取值范围(0,1],默认值为0.1。 |
因子分解机
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
fields_feature_size_path |
是 |
String |
该文件标识了每一个域下的特征数量,排序数据处理接口会生成这个文件,文件路径为用户在数据处理中输入的“run_path”参数表示的路径的“fields_feature_size”目录下,文件名称为“part-00000”,需要用户提供文件完整路径。 |
max_iterations |
是 |
Int |
模型训练的最大迭代轮数。取值范围[1,1000]。 |
early_stop_iterations |
是 |
Int |
在测试集上连续early_stop_iterations轮迭代的AUC小于当前最优AUC时,迭代停止,训练结束。取值范围[1,1000],不大于max_iterations。 |
algorithm_specify_parameters |
是 |
JSON |
请参见表36,算法相关参数。 示例: { “latent_vector_length”:10 } |
initial_parameters |
是 |
JSON |
请参见表32,初始化相关参数。 示例: { “initial_method”:“normal”, “mean_value”: 0.0, “standard_deviation”:0.001 } |
optimize_parameters |
是 |
JSON |
请参见表33,优化策略相关参数。 示例: { “type”:“adam”, “epsilon”:1e-08, “learning_rate”:0.001 } |
regular_parameters |
是 |
JSON |
请参见表34,正则相关参数。 示例: { "l2_regularization":0.001, "regular_loss_compute_mode":"full" } |
深度网络因子分解机
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
fields_feature_size_path |
是 |
String |
该文件标识了每一个域下的特征数量,排序数据处理接口会生成这个文件,文件路径为用户在数据处理中输入的“run_path”参数表示的路径的“fields_feature_size”目录下,文件名称为“part-00000”,需要用户提供文件完整路径。 |
max_iterations |
是 |
Int |
模型训练的最大迭代轮数。取值范围[1,1000] |
early_stop_iterations |
是 |
Int |
在测试集上连续early_stop_iterations轮迭代的AUC小于当前最优AUC时,迭代停止,训练结束。取值范围[1,1000],不大于max_iterations。 |
algorithm_specify_parameters |
是 |
JSON |
请参见表38,算法相关参数。 示例: { “latent_vector_length”:10, “architecture”:[400,400,400], “value_keep_probability”: 0.8, “active_function”:“reul” } |
initial_parameters |
是 |
JSON |
请参见表32,初始化相关参数。 示例: { “initial_method”:“normal”, “mean_value”: 0.0, “standard_deviation”:0.001 } |
optimize_parameters |
是 |
JSON |
请参见表33,优化策略相关参数。 示例: { “type”:“adam”, “epsilon”:1e-08, “learning_rate”:0.001 } |
regular_parameters |
是 |
JSON |
请参见表34,正则相关参数。 示例: { "l2_regularization":0.001, "regular_loss_compute_mode":"full" } |
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
隐向量长度 (latent_vector_length) |
是 |
Int |
分解后的特征向量的长度。取值范围[1,100],默认10。 |
神经网络结构 (architecture) |
是 |
List[Int] |
神经网络的层数与每一层神经元节点个数。每一层神经元节点数不大于5000,神经网络层数不大于10。默认为400,400,400。 |
神经元值保留概率 (value_keep_probability) |
是 |
Double |
神经网络前向传播过程中以该概率保留神经元的值。取值范围(0,1],默认0.8。 |
激活函数 (active_function) |
是 |
Enum |
将一个(或一组)神经元的值映射为一个输出值。取值为relu/sigmoid/tanh,默认relu。 |
核函数特征交互神经网络
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
fields_feature_size_path |
是 |
String |
该文件标识了每一个域下的特征数量,排序数据处理接口会生成这个文件,文件路径为用户在数据处理中输入的“run_path”参数表示的路径的“fields_feature_size”目录下,文件名称为“part-00000”,需要用户提供文件完整路径。 |
max_iterations |
是 |
Int |
模型训练的最大迭代轮数。取值范围[1,1000],默认50。 |
early_stop_iterations |
是 |
Int |
在测试集上连续early_stop_iterations轮迭代的AUC小于当前最优AUC时,迭代停止,训练结束。取值范围[1,1000],不大于max_iterations,默认5。 |
algorithm_specify_parameters |
是 |
JSON |
请参见表40,算法相关参数。 示例: { "latent_vector_length":10, "active_function":"relu", "architecture":[400,400,400], "value_keep_probability":0.8, "sub_net_architecture":[40,5], "is_drop_fm":"False" } |
initial_parameters |
是 |
JSON |
请参见表32,初始化相关参数。 示例: { “initial_method”:“xavier” } |
optimize_parameters |
是 |
JSON |
请参见表33,优化策略相关参数。 示例: { “type”:“adam”, “epsilon”:1e-08, “learning_rate”:0.001 } |
regular_parameters |
是 |
JSON |
请参见表34,正则相关参数。 示例: { "l2_regularization":0.001, "regular_loss_compute_mode":"full" } |
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
隐向量长度 (latent_vector_length) |
是 |
Int |
分解后的特征向量的长度。取值范围[1,100],默认10。 |
神经网络结构 (architecture) |
是 |
List[Int] |
神经网络的层数与每一层神经元节点个数。每一层神经元节点数取值范围为[1,1000],神经网络层数不大于5。默认400,400,400。 |
神经元值保留概率 (value_keep_probability) |
是 |
Double |
神经网络前向传播过程中以该概率保留神经元的值。取值范围(0,1],默认0.8。 |
激活函数 (active_function) |
是 |
Enum |
将一个(或一组)神经元的值映射为一个输出值。取值relu/sigmoid/tanh,默认relu。 |
子网络结构 (sub_net_architecture) |
是 |
List[Int] |
特征向量之间使用神经网络核来计算相互关系时,该神经网络的结构。每一层的节点数取值范围为[1,100],深度不超过5层。默认40,5。 |
是否移除因子分解机 (is_drop_fm) |
是 |
Boolean |
是否移除模型架构中的因子分解机部分,值为True则蜕变为带有核函数的DNN。取值true/false,默认false。 |