作者:18届 cyl
日期:2021-08-20
一、推荐算法概述
推荐系统是信息过滤领域的重要课题。我们通常使用的音乐或视频播放软件、新闻浏览软件、网购软件等等软件都有他的身影。这些推荐系统的输入既可以为单一输入(音乐或视频)也可以为多输入(同平台或跨平台的多种数据),最终为用户提供精选内容,提高用户满意度与软件点击率。目前,推荐系统甚至被应用在寻找研究文章与相关专家、金融服务等领域。
二、推荐系统种类
2.1 协同过滤
定义:协同过滤算法假设人们在将来对事物所表现出来的偏好与过去所表现出来的偏好相同。该算法仅使用有关不同用户或项目的评级概况信息生成推荐。它首先寻找与当前用户A(项目)历史偏好相同的用户B(项目),然后将B历史偏好中有但A没有的偏好推荐给A。
重点:寻找相似用户(如使用KNN或Pearson相关性评价用户相似度)
数据:分为显式和隐式两种数据。其中显式是指用户打分、用户对自己的喜好进行排列等;隐式数据则是用户平时的使用习惯、浏览记录、购买记录、购物车记录等等
优点:无需进行复杂的机器分析,因此即使算法本身可能并不理解不同电影的内容之间的区别和偏好但仍然可以为不同用户推荐电影。
缺点:
- 慢启动:当面对一个新的用户或者商品,早期没有足够的数据来提供准确的推荐。(解决方法:多臂老虎机算法)
- 拓展性:系统往往需要大量的算力来处理源源不断的数据并为用户提供个性化推荐。
- 稀疏性:商品总量往往很大,然而用户可能只关注其中一小部分。
2.2 基于内容过滤
定义:基于内容过滤的推荐算法首先分析被推荐物品的特点,然后将这些物品进行分类或建立相关性网络。当用户选择物品A时向用户推荐与A特性相似的B。系统通常会为用户建立一个基于内容的配置文件——加权特征向量,其中权重代表每个特征的重要性。
重点:
-
物品特性提取及分类(需要专业人士对物品进行大量的分析及分类工作)
-
用户偏爱项目类型分析(统计并分析用户点击足迹或购买收藏足迹)
数据:
-
专家对物品的特性分析及分类
-
用户偏好数据(浏览、点击、收藏、购买等足迹)
-
用户与推荐系统的交互(对推荐物品的满意度反馈
优点:无需用户登录也可以建立基于用户点击的临时偏好配置文件。(无慢启动问题)
缺点:
- 需要大量专家对相关物品做特征提取与分析分类。
- 系统总是被受限于推荐用户经常浏览的同一类型的物品。而这类推荐系统的价值会低于可以提供不同类型物品推荐服务的系统。比如:根据用户的新闻浏览数据向用户推荐新的新闻是有效的,但是如果也可以推荐音乐、视频等各类文章将会更好。为了克服这个缺点,大多数基于内容过滤的推荐系统通常也使用一些其他形式的混合系统。
2.3 基于对话的推荐系统
这些推荐系统使用用户对话的数据来生成推荐。亚马逊与油管则使用这类推荐系统。这类系统通常基于生成序列模型(RNN、Transformer等)来根据用户对话提取偏好。
2.4强化学习
推荐问题可以看作是强化学习问题的一个特殊实例,其中用户是代理的环境,推荐系统在其上采取行动而用户的电机与参与视为奖励。这与依赖于不太灵活的监督学习方法的传统学习技术形成对比,强化学习推荐技术允许潜在地训练可以直接根据参与度和用户兴趣指标进行优化的模型。
2.5多标准推荐系统MCRS
正如名字所说,MCRS融合多种标准进行推荐。用户 u 对项目 i 的整体偏好,这些系统尝试通过利用影响该整体偏好值的多个标准的偏好信息来预测对 u 未探索项目的评级。通常MCRS问题也被当做多标准决策问题MCDM,使用MCDM来解决推荐领域的多标准问题。
2.6风险感知推荐系统
在某些特定情况下为用户推送可能会惹恼用户(深夜、会议期间等)。因此,推荐系统的性能也依赖与避免风险能力。管理此问题的一种选择是 DRARS,这是一种将上下文感知推荐建模为强盗问题的系统。该系统结合了基于内容的技术和上下文老虎机算法。
2.7移动推荐系统
在智能手机上获取位置信息已经相当容易,因此将位置信息纳入推荐系统是十分明智的。如美团的外卖餐馆推荐、滴滴的上车地点推荐等等。
2.8 混合推荐系统
大多数推荐系统现在使用混合方法,结合协作过滤、基于内容的过滤和其他方法。毕竟,在百花齐放的现在没有理由只使用一种策略。Netflix 是使用混合推荐系统的一个很好的例子。 该网站通过比较相似用户的观看和搜索习惯(即协同过滤)以及提供与用户评价很高的电影具有共同特征的电影(基于内容的过滤)来提出建议。
混合方法:
- 加权:为不同推荐方法所得出的评分加权求和来得到综合预测分数
- 选择:在不同推荐方法中选择最好的一种
- 混合:将不同推荐方法所得出的推荐同时交给用户
- 特征组合:来自不同知识源的特征组合在一起并提供给单个推荐算法
- 特征增强:计算一个特征或一组特征,然后将其作为下一项技术输入的一部分。
- 级联:推荐者被给予严格的优先级,较低优先级的推荐者在较高的评分中打破平局
三、算法评估
3.1评估方法
-
离线评估:通过训练集、测试集、验证集的形式在已有数据集上进行精确率或召回率测试。
-
用户测试:通过用户问卷调查的方式进行测试
-
在线测试:(内测)小范围用户测试,大多使用A/B测试,即双盲对照实验。
3.2评估标准
-
多样性:要求推荐系统可以为用户提供多种不同类型的物品
-
推荐持久化:要求推荐系统能够重复推荐同一种商品。(这次没点击,下次会点击)
-
隐私:保护用户隐私。尤其可能因为用户隐私问题爆发大规模抵制。
-
用户人口统计:推荐系统通常会对不同用户进行统计。例如老年人口更喜欢推荐系统。
-
安全稳健性:避免欺诈问题
-
巧合惊喜性:要为用户推荐能使其眼前一亮的物品
-
信任性:推荐系统可以向用户解释为什么向其推荐该物品
-
标签:用户对推荐满意度会受到标签影响。(标记为“赞助商”的推荐点击率低于“有机”的点击率低于无标签商品)
3.3算法可再现性
大概在顶会顶刊上只有约40%的论文可再现。
四、思考
- 为不同领域推荐不同的推荐标准
- 为不同用户使用不同的推荐方法
- 考虑时效性 对热点信息的推荐问题