传统推荐算法入门
背景
公司商城,需要在首页对用户推荐商品。 要求能对用户进行初级画像,商品进行特征提取。
调研
市面上算法很多,从传统算法和高级算法来看。
传统算法
- 流行度推荐算法
- 基于内容推荐算法
- 协同过滤推荐算法
- 混合算法
流行度推荐算法
原理
根据流行度来推荐物品的算法
内容
- 物品的特征(分类)
- 物品使用数据
优点
- 算法简单,实现相对容易。
- 无需冷启动,有助于新用户。
缺点
- 需要标准化产品,进行分类等。
- 不会推荐新物品。
- 推荐列表一般不会有太大变动。
基于内容推荐算法 √
原理
根据用户过去喜欢的物品,推荐相似的物品。
内容
- 物品的特征(分类)
- 物品使用数据
优点
- 无需冷启动。
- 最直观的算法,可以通过用户内容来提供解释。
缺点
- 过度专业化,推荐内容没有多样性。
- 推荐物品很难出现意外之喜。
协同过滤推荐算法
原理
基于不同的偏好对用户进行群组划分并推荐品味相识的商品。人以类聚,物以群分。
内容
- 基于用户的协同过滤算法:
- 用户的喜好
- 相似的人群
- 人群喜好的物品
- 基于物品的协同过滤算法:
- 用户的喜好
- 相似的物品
优点
- 不需要了解用户以及产品特征。
- 大多数情况结果都令人满意。
- 不要求对领域知识又太深的了解。
缺点
- 冷启动问题
- 对用户与物品的比例需求较高约1:10
- 会受流行度的影响(长尾表现不佳)
- 很难提供解释(为啥给用户推荐)
混合算法
大厂专用,多种推荐算法同时使用。这里特指传统的算法。
原理
结合了协同过滤与基于内容过滤两种方式,以利用某个算法的优点解决另一个的缺点。
内容
- 物品的特征(分类)
- 物品使用数据
- 用户的喜好
- 相似的人群
- 相似的物品
优点
- 通常比单独的算法表现好
- 无冷启动问题
- 可实现多样化
缺点
- 不好平衡
高级算法
基于模型的推荐算法。
- 深度学习
- 学习拍拍
- 情景感知推荐
- 社会化学习
- …
最后
当一个推荐算法设计完成后,一般需要用查准率(precision),查全率(recall),点击率(CTR)、转化率(CVR)、停留时间等指标进行评价。
-
查准率(precision):推荐给用户且用户喜欢的物品在推荐列表中的比重
-
查全率(recall):推荐给用户且用户喜欢的物品在用户列表中的比重
-
点击率(CTR):实际点击了的物品/推荐列表中所有的物品
-
转化率(CVR):购买了的物品/实际点击了的物品