1、线性加权融合法
既是给不同的模型加权,让不同模型融合在一起
有两种加权方式:
1)、权值参数固定,给不同的场景设定不同的权重参数,给不同的特征设定不同的参数
适用于特征数量少,预测结果可观察的情况;
修改权重参数的方法是观察结果直接修改;
2)、动态参数法,既是使用wx+b,利用损失函数,训练w
实施步骤:
-- 1、原始数据
-- 2、根据不同的推荐目标,比如是否点击、是否购买,生成 推荐模型一,推荐模型二
-- 3、得到融合后模型:融合模型 = β1*推荐模型一 + β2*推荐模型二
推荐模型一保存数据的是否点击的得分
推荐模型二保存数据的是否购买的得分
-- 4、进行推荐,进入一条新的测试数据后,输入这个融合后的模型中:
会先用推荐模型一计算这个样本是否点击的得分,然后乘以系数β1
然后用推荐模型二计算这个样本是否购买的得分,然后乘以系数β2
然后这个融合模型会直接返回是否点击、是否购买的推荐
2、交叉融合法
最核心思路:推荐结果中,穿插不同推荐模型的结果,以确保结果的多样性
实施步骤:
将不同的推荐结果union起来进行同时展示,同时推荐
3、瀑布融合法
既是多个模型串联,上一个模型的输出作为这个模型的输入;
相当于把每一个模型当作一个过滤器;
实施步骤:
这个算法,是多个推荐算法的串联,类似于神经元中的门,所以要求如下:
1)、设计瀑布型混合系统中,通常会将运算速度快、区分度低的算法排在前列,这样前面的区分相当于数据清洗,不会造成每个类别的样本过少的情况;
2)、然后逐步过渡为重量级的算法,让宝贵的运算资源集中在少量较高候选结果的运算上。
3)、在面对候选推荐对象(Item)数量庞大,而可曝光的推荐结果较少,要求精度较高、且运算时间有限的场景下,往往非常适用。
4 特征融合法
既是抽取出不同数据来源的特征,加入推荐算法进行计算,最后将预测结果合并;
这样的好处是可以整合所有数据情况进行推荐,不偏不倚;" "实施步骤:
1、考虑不同数据来源,将同一推荐目标的不同特征提取出来
2、然后根据这么多目标共同推荐
3、第一、二步更像是数据清洗的过程
5、数据预测法
既是用预测算法来进行推荐;比如svm,随机森林,决策树和GDBT;
使用预测算法进行推荐的时候,自动的完成了多目标融合的推荐,也即是设定label多加一些维度:1-点击,2-不点击,3-购买,4-不购买。
6、分类器Boosting思想
既是使用分类算法进行预测
Boosting思想实施步骤:既是多个预测器,下一个预测器着重预测上一个预测器的预测错误的样本,然后把上一个预测器和他的预测权重保留;
1)、即将若干个弱分类器,组合成一个强分类器的方法。
2)、Boosting的核心思想是每轮训练后对预测错误的样本赋以较大的权重,加入后续训练集合,也就是让学习算法在后续的训练集中对较难的判例进行强化学习
3)、从而得到一个带权重的预测函数序列h,预测函数的权重既是预测效果,预测效果友和预测错误的样本有关,预测效果好的预测函数权重较大,反之较小。
4)、最终的预测函数H对分类问题采用有权重的投票方式,对回归问题采用加权平均的方法对新示例进行判别。算法的流程如下:(参考自treeBoost论文)"
7、多目标推荐系统
是指一个推荐模型有多个需要判别的目标,比如CTR(是否点击)、是否购买,是否好评等;
直观上想到的融合多目标的方法是多目标综合得分回归:
socres = α*目标一 + β*目标二 + γ*目标三
那难点就在于权重参数的学习,一般是直观设置法,然后逐次调参;
或者使用boosting的思想
8、推荐系统评价体系
AP
-- 推荐序列的逆序数,是推荐效果的评估方法" 也是一种推荐效果的评估方式:顺序敏感的recall
比如一次推荐了10个结果,结果第五个开始才是正确结果;
这个我个人理解为推荐逆序数;
MAP
-- 预测的平均准确率
是一种推荐系统的评测标准,也既是一种得分好坏的判断方式:
所有用户 u 的AP再取均值(mean)而已
F1得分
-- 确定实验方法是否有效
F1综合了P和R的结果,当F1较高时则能说明试验方法比较有效
正确率 = 提取出的正确信息条数 / 提取出的信息条数
召回率 = 提取出的正确信息条数 / 样本中的信息条数
两者取值在0和1之间,数值越接近1,查准率或查全率就越高。
F值 = 正确率 * 召回率 * 2 / (正确率 + 召回率) (F 值即为正确率和召回率的调和平均值)
AUC
-- 正样本得分大于负样本的概率,ROC曲线下面积
值是曲线下面积,曲线指的的是ROC曲线;
auc的直观含义是任意取一个正样本和负样本,正样本得分大于负样本的概率。
AUC是曲线下面积,这个值越接近1,表面曲线越靠近左上角,认为模型性能越好。
计算方法:假设总共有(m+n)个样本,其中正样本(得分为正)有m个,负样本有n个,则共有m*n个样本对。如果正样本预测为正样本的概率值大于负样本预测为正样本的概率值记为1,反之为0,求和后除以(m*n)就是AUC的值
NDCG
-- 平均增益
对于返回列表的每一项都有一个相关的评分值,通常这些评分值是一个非负数。这就是gain(增益)。此外,对于这些没有用户反馈的项,我们通常设置其增益为0。
现在,我们把这些分数相加,也就是Cumulative Gain(累积增益)。
我们更愿意看那些位于列表前面的最相关的项,因此,在把这些分数相加之前,我们将每项除以一个递增的数(通常是该项位置的对数值),也就是折损值,并得到DCG。
在用户与用户之间,DCGs没有直接的可比性,所以我们要对它们进行归一化处理得到nDCG;