用户行为的设计和推荐系统的组合方式

我们推荐的baseline是协同过滤,所以user-item矩阵是必要的,
因此我们需要对用户行为数值化,以下是我设计的行为量化方式:

用户数据:
{
    行为数据——F2
    {
        浏览:+1(时间加权,一个用户对一个页面最多记录20次)
        点赞:+5(最多一次,并记录)
        取赞:-5(最多一次,要求已经点赞,并记录)
        不喜欢:直接屏蔽
    }
}

此外,我们推荐系统中有四个推荐引擎(UserCF,ItemCF,LFM,TOPK),所以我们需要采取一个推荐策略

我设计的推荐策略如下:

  1. 如果用户没有任何行为,使用TOPK(将热门产品推荐给用户)
  2. 如果用户产生行为的物品少于5个,使用ItemCF的方法
  3. 如果用户产生行为的物品多余5个,使用组合引擎

组合引擎其实是从三种引擎中随机选择一个,但是选择的概率的是不同的,
使用组合引擎的目的是为了得出哪个推荐引擎在实际使用中的效果最好,
这里我使用是Bandit算法(Softmax):

选择引擎:使用是softmax

用户行为的设计和推荐系统的组合方式_第1张图片

其中u1,u2是引擎权值,t是温度系数(我设置的是1)

权值更新:使用的是γ累计折扣奖赏,初始引擎的权值都为1,每次推荐会使用一种推荐引擎,如果得到反馈,权值更新Qt+1 = 1+r*Qt;反之Qt+1 = 0+r*Qt,这里我设置的r为0.9

你可能感兴趣的:(实训)