个性化推荐技术(个性化推荐的弊端)

以下重点介绍如何进行个性化推荐。上图是整个流程图,我们一步一步来讲。

个性化推荐技术(个性化推荐的弊端)

1、首先明确地点、人物、时间,事件和数据

一、推荐哪里?也就是推荐的场景在哪里,会影响以后怎么拍你的样片和特写;

Ii .给谁?也就是你的受众,这就决定了如何取你的样本和用户画像的特征。

Iii .在什么时间推荐?也就是说,时间用户对商品的行为一般侧重于什么?那么引入这个特征可以最大化推荐效率;

Iv .推什么东西?这将影响最终文章特征的提取;

V.定义可以获取哪些数据,数据结构是什么,直接影响到要素构建的质量。

2.建筑特征

第一步:首先,你需要选择三类数据指标。

一、与场景相关的用户行为指标,如用户曝光、点击、下载、点击率、下载率等。

Ii .与人物相关的用户画像指标,如年龄、性别、学历、会员、黄钻等。

Iii .与物品相关的属性指标,比如游戏类型,游戏主题等等。

然后生成四种类型的特征,包括用户行为特征、用户肖像特征、对象肖像特征和对象属性特征。

提示:用户行为特征有两种,一种是简单的行为特征,比如曝光率、点击量、下载量、点击率、加载率等。而另一个很重要(后面会作为一个特性),就是用户对物品属性的行为特征,比如用户对不同游戏主题的点击率;一个物品头像的特征是指一个物品在一个用户头像下的行为比例,比如一个游戏不同性别的下载比例,会在后续的特征中用到,这一点很重要;特征的时间覆盖可以根据具体情况确定,最好覆盖足够稳定的用户,最好包含统计日的近期数据。

第二步:将上一步的特征合并,分为用户特征和项目特征,合并成两部分(两个表)。

温馨提示:最好收集所有的特征数据,这样如果你的特征类型丰富,会引入一些目标业务之外的新用户,带来新用户,避免后续预测出现瓶颈。

第三步:在导入LR模型进行训练之前,我们需要做一些特征工程工作:

I .清理、删除或填充一些会影响训练的脏数据,如空值、异常值等。

Ii .标准化,为了消除不同维度对模型拟合的影响,需要对特征进行标准化,这样既能加快模型拟合,又能提高效果。根据情况可采用以下方法:

(a)最小-最大:S(x)=(x最小(x))/(最大(x)最小(x))

(b)Z-:S(x)=(x-avg(x))(x)

(c)对数:S(x)=ln(1 x)/(1 ln(1 x))

其他:

前向特性:s(x)=(1-exp(ln(1/3)/avg(x)* x))/(1exp(ln(1/3)/avg(x)* x))

负特征:s(x)=1-(1-exp(ln(1/3)/avg(x)* x))/(1exp(ln(1/3)/avg(x)* x))

Iii .平滑度,一些转换率特征,如点击率、保留率等。当分母很小时,往往会出现转化率极高的异常情况,影响模型判断的准确性,所以需要平滑。有几种方法:

(a)用足够的历史数据进行平滑;

(b)只有当分母大于某一数量级,否则为0或其他时,才采用这一换算率;

(c)在分母中加入足够大的数据,以淡化这种负面影响,例如这一特征的平均值;

和(d)平滑贝叶斯参数估计。

Iv .离散化,即将原始特征值分成一系列0和1向量。离散特征有几个优点:

(a)离散特征容易增减,模型容易快速迭代;

(b)稀疏向量内积乘法运算速度快,计算结果易于存储和扩展;

(c)离散化后的特征对异常数据有很强的鲁棒性:例如一个特征是年龄30为1,否则为0;如果特征不离散化,一个“年龄300岁”的异常数据会对模型造成很大干扰;

(d) Logistic回归是广义线性模型,表达能力有限;单个变量离散成n个后,每个变量都有自己的权重,相当于在模型中引入非线性,可以提高模型的表达能力,增加拟合度;

(e)离散化后,可以进行特征交叉,从M ^ N个变量到M*N个变量,可以进一步引入非线性,提高表达能力;

(f)特征离散化后,模型会更加稳定。比如用户年龄离散化,20-30岁不会因为用户大一岁而变成完全不同的人。当然区间附近的样本会刚好相反,所以区间如何划分是一门学问;

提示:用户肖像特征和物品属性特征必须离散化,物品属性的用户行为特征和物品肖像特征也必须离散化,以便后续的特征组合;其他连续特征可以根据情况而定。如果你需要快速上网,你可以考虑省略它们,或者你可以考虑使用像GBDT这样的算法来自动离散化特征。

V.特征组合,上一步离散化的目的之一就是为了方便。既能从数据中真正推荐出用户最有可能感兴趣的项目,又能在模型中引入非线性,提高模型的表达能力,改善效果;常用的Cross方法一般包括内积和笛卡儿积,在更具体的情况下可能会用到。笛卡儿积带来的特征扩张会很厉害。

提示:以下两种类型的交叉必须做,用户人像特征x物品人像特征;文章属性的用户行为特征x文章属性特征。用户对用户和项目对项目的交叉可以根据具体情况进行。

Vi .特征筛选旨在选择模型的最优特征子集。特征之间会有一些相互作用,比如有些特征包含其他特征,有些特征与其他特征相关,有些特征需要与其他特征结合才能发挥作用,有些特征是负相关的;正是因为这些特征之间的关系,选择合适的特征集对模型效果有很大的影响。有两种可行的选择方法:

(a)滤波器,测量单个特征值与目标变量,即样本标签值之间的关系。常用的方法有:相关系数、卡方检验、信息增益、基尼系数;

(b)嵌入式,我觉得这种方法是比较可行的一种,它的思路是利用模型本身自动选择特征,比如正则化————L1Lasso有特征选择的能力,决策树,每次选择一个分类节点,都会选择最好的分类特征进行分割。

提示:样本数据可以在R中采样训练,结果会输出一个特征显著性P值分值,方便我们筛选初步特征,如下图;也可以在LR训练前尝试用RF训练一次,得到特征重要度的顺序进行标注,然后按照这个顺序选择比例较大的特征放入LR中进行训练。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。