推荐系统浅谈-对推荐系统的认识

2017-11-24  本文已影响0人  kexiaohua

前言

写今天这篇文章的目的, 是在接触推荐系统时,对推荐系统认识比较重要的部分。这里边的大部分内容(包括截图)都都摘自于项量编著的《推荐系统实践》的第7章-推荐系统实例。
个人认为做推荐系统首先要明白两点:
1.什么是推荐系统?推荐系统于我们其他系统的区别?以及推荐系统在整个复杂系统功能构建中的角色是什么?
2.熟悉自己的业务场景,清楚自己的系统适不适合上推荐模块,即想根据什么依据得到什么推荐结果。

本文内容

1.推荐系统的理解
2.推荐系统常用算法介绍

推荐系统的理解

1.推荐系统的外围结构(红框标明位置)

推荐系统依赖两个条件:用户行为数据页面展示,用户日志是每个系统都应该有的,也是推荐系统的底层数据支持。

image.png
2.推荐系统的架构

a)推荐系统是联系用户和物品的媒介,而推荐系统联系用户和物品的方式有3种:
物品相似、用户相似、具有某些固定属性特征。


image.png

b)如果把上面用户喜欢的物品、相似的用户也看做一种特征,那么用户就和物品通过特征相联系,进行抽象,由此产生的基于特征的推荐系统架构。


image.png
c)用户的特征种类非常多,主要包括如下几类。

d)但是实际用用中推荐并不是根据一种算法进行的推荐,还有很多任务,比如

e)多引擎推荐系统
如果把一个系统上面提到的各种特征和任务都统筹考虑,那么系统将会非常复杂,而且很难通过配置文件方便的配置不同的特征和任务权重。因此推荐系统需要有多个推荐引擎组成,每个推荐引擎负责一类特征和一种任务,而推荐系统的任务只是将推荐引擎的结果按照一定的权重或者优先级合并、排序然后返回。


image.png
3.推荐引擎的架构理解

在推荐系统中,推荐引擎是最核心的计算位置,它是你的业务逻辑需求和算法结合最紧密的部分。
推荐引擎架构主要包括3部分:

2.常用的推荐算法和应用场景

名称 原理简述 优点 缺点 建议应用场景
基于人口统计学的推荐 “人以群分”,以相同特征相似度大的人群特征为推荐标准 不依赖于喜好历史数据,不依赖与特定项目,领域独立,没有新用户冷启动问题 分类粗糙,不适合推荐质量高的网站,用户固定且敏感的信息不好获取,如年龄,收入 用户的属性固定,且不敏感,对用户初始推荐要求太高的网站
基于内容的推荐(CBR) 根据推荐物品或内容的元数据,发现物品或者内容的相关性 易于实现,不需要用户数据因此不存在稀疏性和冷启动问题,不存在过度推荐热门的问题 抽取的特征既要保证准确性又要具有一定的实际意义,否则很难保证推荐结果的相关性 推荐系统多用于一些资讯类的应用上,或者被推荐对象有明显特征的网站
基于关联规则的推荐 在用户历史行为中,挖掘出关联规则,也就是那些同时被很多用户购买的物品集合,这些集合内的物品可以相互进行推荐 推荐较准确,转化率较高 计算量较大,容易出现冷启动和稀疏性问题以及热门项目过度推荐问题 常见于电子商务推荐系统中
基于协同过滤的推荐 “物以类聚,人以群分”的假设,喜欢相同物品的用户更有可能具有相同的兴趣。被划分为两种:基于用户(User-based)的推荐和基于物品(Item-based)的推荐 现用户的潜在兴趣,并且针对每个用户生成其个性化的推荐结果 计算量较大,基于历史数据,恶意评分影响,容易出现冷启动和稀疏性问题、用户“兴趣漂移”难发现 在物品的个数和用户的喜好相对稳定的系统相对比较稳定

欢迎大家积极指正,组团交流,谢谢!

上一篇 下一篇

猜你喜欢

热点阅读