快捷搜索:  汽车  科技

推荐算法主流模型,基于bayes的推荐算法

推荐算法主流模型,基于bayes的推荐算法给定一个用户u,给该用户推荐应用B,根据贝叶斯公式用户安装概率为:以应用商店中应用推荐为例,业务场景:当用户进入应用商店,根据用户已安装应用列表给用户推荐应用。 上述公式中,P(Bi|u)表示的含义是在发生了事件u的情况下,发生事件Bi的概率,P(Bi)表示事件Bi的发生概率,P(u)表示事件u的发生概率。 如何利用上述定理进行个性化推荐,下面我们举个业务实践的例子。二、业务实践

导读

贝叶斯个性化推荐算法(BPR,Bayes Personalized Ranking)利用Bayes定理把每个用户对应的所有商品按喜好排序,在实际产品中,BPR之类的推荐排序在海量数据中选择及少量数据做推荐的时候有优势,因此在某宝某东等大厂的应用中也很广泛。

一、算法简介

Bayes(贝叶斯)定理是关于随机事件A和B的条件概率相互转化的一则定理,贝叶斯公式如下:

推荐算法主流模型,基于bayes的推荐算法(1)

上述公式中,P(Bi|u)表示的含义是在发生了事件u的情况下,发生事件Bi的概率,P(Bi)表示事件Bi的发生概率,P(u)表示事件u的发生概率。

如何利用上述定理进行个性化推荐,下面我们举个业务实践的例子。

二、业务实践

以应用商店中应用推荐为例,业务场景:当用户进入应用商店,根据用户已安装应用列表给用户推荐应用。

  • Step1:问题分解

给定一个用户u,给该用户推荐应用B,根据贝叶斯公式用户安装概率为:

推荐算法主流模型,基于bayes的推荐算法(2)

设用户的安装列表为{A1 … An},把用户u看作是事件{A1 … An},为了简化问题,假设Ak相互独立,那么:

推荐算法主流模型,基于bayes的推荐算法(3)

上述式子可以化为:

推荐算法主流模型,基于bayes的推荐算法(4)

在推荐场景中,是对一个用户计算不同应用的得分,然后作降序进行推荐。而对于同一个用户P(u)是不变的,所以我们可以用以下公式作为排序依据:

推荐算法主流模型,基于bayes的推荐算法(5)

全库的应用集合记为,所以在贝叶斯推荐模型中主要参数有两个集合,分别为:

推荐算法主流模型,基于bayes的推荐算法(6)

  • Step2:数据准备

首先收集历史的用户在应用商店中应用展示记录,并且关联用户在展示时刻的安装列表,数据格式如下:

推荐算法主流模型,基于bayes的推荐算法(7)

表1:初始数据

  • Step3:模型参数计算

参数集合{P(B)|B∈I}的计算:给定一个应用B. 根据表1,首先中“展示应用=B”的样本数,记为showNumsB然后计算“展示应用=B”且“用户是否安装=1”的样本数记为installNumsB 那么:

推荐算法主流模型,基于bayes的推荐算法(8)

参数集合{P(Ai|B)|B∈I Ai∈I}给定一个应用B及Ai 根据表1,首先计算“Ai∈已安装列表”且“展示应用=B”的样本数,记为showNumsAi B . 然后计算“Ai∈已安装列表”且“展示应用=B”且“用户是否安装=1”的样本数,记为installNumsAi B 那么:

推荐算法主流模型,基于bayes的推荐算法(9)

在计算P(Ai|B)可能会遇到样本不足的情况,导致计算出异常值,为了避免这类情况,需要根据经验加个最少安装数限制,这里我们定义为最少安装次数为100,那么:

推荐算法主流模型,基于bayes的推荐算法(10)

其中P(Ai)是表示在所有用户中,安装了应用Ai用户的占比。

  • Step4:给用户推荐应用

给定一个用户u,及一批候选推荐应用池,我们通过上述方法计算用户u对候选池中每个应用的得分sortScore(u B),根据这个值做降序,取top 10的应用推荐给用户。

猜您喜欢: