推荐算法的主要分类
我这边主要说基于协同过滤的算法:但是还是会简单介绍下其它的
关联规则推荐算法
首先是关联规则算法:即:Apariori以及一个对前者的补充:FP-Growth
概念我就暂时不说了,直接举例子吧
借用慕课网的一个例子:
下面一张表,列举了A、B、C、D四个用户购买商品的清单:
设置支持度为 2
支持度:Apariori算法中支持度是其重要参数,也就是说在商品每一个组合中如果它的支持度是小于2的那么这个商品的组合就不是一个频繁集,就被淘汰。还有一个至信度,暂时不考虑。
列出商品的单一组合
每个商品的购买人数都大于2,所以所有商品都保留。然后我们看下两两组合:
通过组合,看到有小于2的,代表要被淘汰,所以只留下了面包、麦片的组合。最后得到频繁项集。
然后我们来看看FP-Growth算法。
基于内容的推荐算法:
- 推荐内容相似的物品
方法:
TF-IDF算法步骤:
- 提取关键词及其TFIDF值
- 将共同关键词的TFIDF值的积并求和
- 获取相似度的值
属于自然语言范围。
还有一个分类算法:
暂时点到就好了,以后如果用到的话我会写写~~
基于协同过滤的推荐算法(重点)
协同过滤算法有三种:
- 基于用户的推荐
- 基于物品的推荐
- 基于模型的推荐{SVD/SVD++模型、基于概率的矩阵分解、隐语义模型(LFM)
由于SVD太过于复杂,所以提出了基于概率的矩阵分解。
推荐系统常见的问题:
集中在数据处理(冷启动)和算法优化上(数据稀疏)。
集中在人心的发掘(不算变化的用户爱好、不可预知的事项)。
冷启动:
用户冷启动 ->给新用户做个性化推荐
物品冷启动 ->把新物品推荐给特定的用户
系统冷启动 ->新系统让用户感受到推荐效果
- 根据用户注册信息对用户进行分类
电话号码、性别、地区
- 推荐热门排行榜单
- 基于深度学习模型推荐
解决方案:
冷启动问题解决方案:
- 文本分析
- 主题模型
- 给物品打标签
- 推荐排行榜
好的推荐系统:
- 推荐给用户的是用户感兴趣的
- 满足所有内容都推荐给感兴趣的用户
- 能预测用户行为
- 帮助用户去发现可能感兴趣但是不容易发现的东西。
推荐系统效果评测: