基于用户的协同过滤推荐算法笔记--01

以下内容来源

知网

题目:基于用户协同过滤的短视频推荐优化方法研究

作者:杨枝蕊

使用的工具

画图工具

Excalidraw | Hand-drawn look & feel • Collaborative • Secure

摘要

互联网的发展导致信息的爆发式增长

如何找到想要的信息呢?

分类目录、搜索引擎、推荐技术

分类目录、搜索引擎是人找信息

推荐技术实现了信息找人

推荐技术的应用领域?

网络购物、在线音视频、社交网站等等

其中短视频平台成为主流。

各个平台推荐结果是否满足用户的个性化需求是影响其成功与否的重要因素。

研究对象

短视频

研究内容

设计了适应增量式变化的用户协同过滤推荐算法流程。User_CF(效率、时效性)

提出了一种考虑用户行为时间差和视频流行度的用户相似度算法。TP_User_CF(相似度)

提出了面向不同用户行为模式的显隐式反馈评分方法。(用户-项目评分矩阵)

构建了基于显隐式反馈评分的用户协同过滤推荐算法TP_EI_User_CF

TP_EI_User_CF

引言

研究背景

主动:
一方面,如果用户对自己的需求
不够明确,无法将想看的内容转化为准确的关键词,搜索引擎生成的内容与用户的
匹配度就较低;另一方面,每个用户的兴趣偏好不尽相同,但按照相同的关键词检
索出的结果是相似的,这就导致系统无法为用户提供符合其偏好的个性化内容。

研究意义

适应增量式变化的用户协同过滤推荐算法流程--缓解海量数据带来的算法效率问题并且兼顾时效性

在用户相似度的计算方法中引入了行为时间差和视频流行度因素---满足用户偏好、时效性

按照用户不同的行为模式进行了显隐式反馈评分计算---应用在推荐算法上面

国内外研究现状

研究现状分析

推荐算法分类:

        基于内容的推荐

        基于协同过滤的推荐

        混合推荐

(1)无需分析项目内容具有的特征。
(2)可帮助用户培养新的兴趣方向。
(3)推荐自动化程度高。

国内外研究方向

推荐效率的提升,相似用户优化,用户显隐式反馈

推荐效率提升的研究

大数据技术
基于扩展向量的并行协同过滤推荐模型(PCF-EV)
项目-用户倒查表
基于 Minhash 算法的协同过滤模型
基于聚类和降维技术的协同过滤推荐算法
将算法流程分为了离线和在线两个模块
基于人工免疫网络算法(aiNet)的协同过滤模型
使用 Minhash 和 PLSI 在动态数据集上进行聚类的方法,结合 MapReduce 框架实现了可伸缩的实时推荐引擎
基于内存的协同过滤框架
利用小波数将项目评分向量进行压缩
遗忘机制引入了协同过滤推荐
上面的研究主要是解决存量数据的效率提升问题,对于视频平台这种数据增量变化的算法效率提升研究相对较少。

相似用户优化相关研究

基于熵的相似用户选择方法
基于云模型的用户相似度比较方法(LICM)
将兴趣相似度和评分相似度融合的用户相似度计算方法
评分奇点
将用户群体划分为悲观、中立和乐观三个聚类簇
视频流行度和纵向用户偏好变化因素
结合用户兴趣时间变化规律的用户相似度计算方法
基于资源相似度的协同过滤推荐算法
改进的基于云模型的相似性度量方法
在公式中增加一个权重因子来改进用户相似度的计算
提出了改进的相似性计算方法
全局相似性和局部相似性
加权参数自动调节
杰卡德统一算子距离相似度

上面的研究缺乏考虑热门项目对于用户相似度计算造成的偏差,缺少对相似用户的时效性的考虑

用户显隐式反馈相关研究

利用云模型和概率矩阵分解模型将用户、项目和隐式反馈信息结合处理
基于隐式反馈的推荐问题转化为了最优化问题
隐式反馈挖掘用户偏好、用显式反馈反映偏好程度
通过分析用户对项目的隐式反馈信息来判断用户对项目的感兴趣程度,从而获得用户偏好
同时利用了用户隐式反馈和项目隐式反馈,并利用矩阵分解将二者进行了融合
先通过用户的隐式反馈对待推荐项目进行一轮筛选,然后根据显式反馈预测用户对项目的评分进行二次排序
利用用户显式反馈对推荐序列实现对推荐序列的在线更新,利用隐式反馈对推荐序列进行离线更新
基于项目的隐式反馈信息的矩阵分解模型
将深度学习引入了协同过滤算法中
矩阵分解对隐式反馈信息处理后,再对 Top-N 推荐的排序进行优化
将显式反馈数据转化为了用户对项目的评分值,并将隐式反馈数据作为数据置信度修正评分
用户开始浏览项目的时间、用户购买的时间以及二者之间的时间差
隐式反馈信息转化为显式评分
用户观看电影的时长转化为了评分,并结合电影的类型、演员、导演等特征进行推荐
利用显隐式反馈信息分析用户偏好已经成为解决用户评分数据稀疏的重要途径

现有研究总结

针对短视频这类时效性较强、对效率要求更高的领域缺乏相应的研究
缺乏考虑热门项目对用户相似度计算造成的偏差
缺乏对相似用户间的时效性研究
现有研究中提出的方法没有考虑用户偏好表达方式的不同,不能很好地反映用户的个性化特点

研究内容与技术路线

研究内容

研究对象:短视频

算法基础:基于用户的协同过滤算法

研究目标:提升算法的推荐效率和质量为研究目标

主要内容

引言
基于用户协同过滤的推荐算法流程优化研究
考虑行为时间差与视频流行度的用户相似度计算方法
面向不同用户行为模式的显隐式反馈评分方法
基于显隐式反馈评分的用户协同过滤推荐
结论

技术路线

基于用户协同过滤的推荐算法流程优化研究

基于用户的协同过滤推荐算法基本流程

核心原理

群体的智慧

过程

用户 A 喜欢电影 1、2、3、4,用户
B 喜欢电影 2、3、4,用户 C 喜欢电影 4,从中可以看出用户 A 和用户 B 喜欢的内
容重合度较高,则可以认为两人的兴趣较为相似,基于此,可以推测用户 B 也会
喜欢用户 A 喜欢的内容,于是就可以将用户 A 看过而用户 B 没有看过的电影 1 推
荐给用户 B
根据用户的历史交互数据找到更多相似用户是推荐流程中的重要环节

1、用户-项目矩阵构建

布尔型

U 表示用户,M 表示项
目,矩阵中元素 1 代表用户对项目有过历史行为,如点击过、观看过、收藏过或者
购买过等,0 代表用户没看过该项目
数值型

数值型矩阵也被称为评分矩阵,相较于布尔型矩阵,元素的值一方面表示用户
是否看过项目,另一方面还表示用户对项目的喜好程度,数值型矩阵的元素通常是
用户对项目的评分值
用户 - 项目评分矩阵中的评分数据通常是需要用户主动提供的,但数据获取较
为困难,导致评分矩阵较为稀疏,影响推荐结果。
解决办法:
利用用户的显隐式反馈行为信息计算用户评分,解决推荐系统评分获取困难的问
题,改善数据矩阵稀疏性。

2、用户相似度计算

计算相似度的方法:

        余弦相似度

        修正的余弦相似度

        杰卡德相似系数

        皮尔森相关系数

        欧式距离

以上方法在不同的场景中灵活使用

余弦相似度

实际应用中每个用户的评分习惯是有所差异的,因为每个人对与好与不好的
评价标准是不一样的。
布尔型

数值型

杰卡德相似系数

杰卡德相似系数仅考
虑了用户与项目是否有过历史行为,而没有考虑用户对项目的评分值。

皮尔森相关系数

当需要衡量两个变量之间的线性相
关关系时,常使用皮尔森相关系数

欧氏距离

将两个用户共同有过行为的项目集合分
别转化成向量形式后,就可以用欧式距离来度量二者之间的相似性

上述常用的相似度计算方法中,都没有考虑到用户行为时间差和视频流行度
对用户相似度的影响

3、预测推荐

评分预测

常用算法KNN

生成推荐列表

数据规模及相似用户计算频次对算法效率的影响分析

时间复杂度为n的平方

从控制数据集规模和降
低相似用户的计算频次两个方面入手,对算法流程进行改进

数据内容

不同数据规模下的算法表现分析

评价指标

准确率

算法耗时

实验过程与结果分析

首先获取实验数据集

划分数据集,划分成不同大小

在各个子数据集上面运行推荐算法并且记录算法的准确性与耗时

随着用户和项目数量的增加,在一定范围内可以使得算法
的准确率有明显提升,但继续新增大量的数据后,只能带来准确率的微小提升,而
耗时却快速攀升。造成该结果的原因主要包括如下两点,首先,准确率一开始能够
有所提升的主要原因是随着数据规模的增大,相似用户的搜索范围也随之扩大,从
而找到了更准确的相似用户,使得推荐准确率上升;其次,随着数据规模增加,相
似用户的搜索范围也进一步扩大,算法需要计算更多用户之间的相似度,导致耗时
成倍增加,因为系统中每新增 1 个用户,就需要计算该用户与所有相关用户的相
似度。但是,绝大部分的相似用户在数据达到一定量级时已经被找到了,后续即使
再扩大搜索范围,相似用户的计算结果与之前无明显差异,故准确率的提升不再明
显。
在控制数据规模的同时,还要考虑时间问题,日期更近的用户交互数据更能体
现用户近期的兴趣偏好。

相似用户计算频次分析

在基于用户的协同过滤推荐算法中,没有必要在每一次推荐时都重新
计算目标用户与系统中所有用户的相似度并更新相似用户集合

适应增量式变化的用户协同过滤算法流程设计

基于用户的协同过滤推荐算法由于数据规模过大且持续增长、以及
相似度计算过于耗时导致算法效率欠佳的问题,研究了数据集规模对准确率和耗
时的影响关系,并对相似用户的短期稳定性和计算频次进行了分析,设计了适应增
量式变化的用户协同过滤算法流程,改进后的算法流程能够在提升效率的基础上
充分利用相似用户的价值、兼顾用户兴趣的偏移并保证推荐内容的时效性

考虑行为时间差与视频流行度的用户相似度计算方法

短视频推荐中的用户相似度影响因素

传统的用户相似度计算方
法应用在短视频领域中时,缺乏考虑热门项目对用户相似度计算造成的偏差以及
对相似用户间的时效性考虑。
考虑用户间观看的历史项目是否重合,还引入了用户行为时间、视频流
行度两个因素对相似度计算的影响。

用户行为时间因素

在寻找相似用户的时候,仅通过两个用户观看过的内容是否重合来判断其相似度是不够
全面的,需要在相似性中引入时间因素辅助判断。
如果几个用户均观看过相同的内容,那么观看时间间隔越短的用户间相似性
应该越明显。

视频流行度因素

短视频具有传播速度快、信息易理解吸收的特点,更加符合了碎片化时代下的
用户需求,这也使得视频热度会在短时间内上升并获得大量关注,但持续时间很短,
不久后便会淡出用户视野。

改进后的用户相似度算法

面向不同用户行为模式的显隐式评分方法

根据算法流程可知,用户评分是预测目标用户对项目偏好的重要依据。但由于
短视频平台缺乏评分功能,导致系统获取用户对视频的态度较为困难,另一方面,
不同的用户表达偏好的方式也存在差异,需要从不同的用户交互行为中获得信息,
从而转化为评分数据。

显示反馈行为

显式反馈行为是指用户基于系统设置的功能,主动表达自己对项目的态度或
偏好程度的行为

优缺点:

显式反馈的优点在于可直接反映用户对项目的态度,系统也能直接利用显式
反馈数据迅速判断用户偏好,有助于算法产生较好的推荐效果。缺点在于获取大量
且真实的显式反馈数据往往较为困难

隐式反馈行为

隐式反馈行为通常是用户在使用系统的过程中自然产生并被系统记录下来的

短视频推荐系统中的显隐式反馈

用户的行为模式

例如,用户 A 看视频时只会产
生点赞和查看评论两种互动行为,那么对于该用户而言,只有点赞和评论行为对其
偏好分析有意义,其他行为若同样赋权考虑反而会降低准确性。

基于显隐式反馈的评分方法

例如,用户观看视频 A 时仅仅只查看了视频评
论,而观看视频 B 时发表了评论,两个行为差异的背后代表的是用户对视频的偏
好度不同,因为用户发表评论的互动成本是大于查看评论的,如果此时依旧认为用
户对两条视频的感兴趣程度是一样的,则结论会有失偏颇。

基于显隐式反馈评分的用户协同过滤推荐

基于模拟退火算法的参数计算流程

模拟退火算法的优势

(1)模拟退火算法允许以一定的概率接受较差解
(2)模拟退火算法具有较强的鲁棒性。

实验分析

实验数据集与评价指标

微信视频号的数据集

评价指标:准确率,MAP

数据预处理

数据清洗(箱线图)

实验结果

需要继续探讨的问题

(1)当系统中没有历史数据或历史数据较少时,本文提出的方法无法解决冷
启动问题,仍需要其他方法配合使用,后续的研究中可以引入基于项目协同过滤的
推荐方法,挖掘项目间的相关关系,完善偏好模型。
(2)利用用户的显隐式反馈行为计算用户评分时,由于实验数据集内容有限,
没有考虑用户的负反馈,只能通过评分的高低来判断用户的喜欢程度,但是用户也
可能存在对内容完全不喜欢的情况,所以未来的研究中还应该对负反馈信息进行
分析和利用,优化推荐结果。
(3)基于用户的协同过滤推荐中,对用户的偏好分析是核心内容,本文暂时
只利用用户对项目评分数值的高低描述了用户偏好,未能完全刻画出用户偏好,下
一步可以尝试从项目信息、用户信息等维度进一步研究。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值