基于深度学习和矩阵分解的个性化推荐算法研究
发布时间:2021-06-13 03:08
个性化推荐作为一种有效的信息过滤技术,能够有效缓解信息过载问题,有着极强的实用价值和商业价值。由于所面对业务环境的复杂性,个性化推荐一直存在着数据稀疏、冷启动以及用户兴趣迁移等问题需要解决和优化。本文针对推荐中存在的数据稀疏及用户兴趣迁移问题,对现有的矩阵分解推荐算法进行了改进,并在其基础上结合了深度学习相关模型,提出一种基于深度学习和矩阵分解的推荐算法,主要做了如下工作:首先,根据不同用户和不同项目之间的不对称关系,提出改进相关度计算式,用于预测评分,提出一种基于非对称相似度的矩阵分解推荐算法,缓解用户信息不对称造成的数据稀疏问题。并在MovieLens、Amazon和Ciao数据集上进行了实验设计,实验结果显示和同类型推荐算法相比改进算法能够明显提高推荐精度。其次,考虑到神经网络能够从数据中学习更为灵活的映射关系,在改进矩阵分解推荐算法的基础上增加了多层感知器来获取用户-数据交互信息的非线性部分,提出一种加权神经网络矩阵分解推荐算法,并在MovieLens和Pinterest两数据集上进行了实验设计,实验结果显示和其他主流推荐算法模型相比,推荐精度也有一定程度的提升。此外,针对用户...
【文章来源】:武汉纺织大学湖北省
【文章页数】:74 页
【学位级别】:硕士
【部分图文】:
本文的研究路线
武汉纺织大学硕士学位论文12信任度,后者指的是用户信任用户集合中的不同用户产生的不同信任度。社会化推荐系统的结构如图2.1所示。图2.1社会化推荐模型结构Fig.2.1Structureofsocialrecommendationmodel在采集数据的时候一般包括:用户和项目的属性信息,例如用户的年龄、地理位置以及项目的类型等;用户对项目的交互信息,例如用户对项目的评价、点击以及收藏等;和用户社会关系属性信息,例如用户的好友、关注等。采集到数据还需要进行处理,主要操作有:建立用户-项目的交互矩阵,对用户数据和项目数据的筛选,以及计算不同用户之间的信任关系等。社会化推荐模型主要是将社会化信息融合到推荐模型中,常用的社会化推荐算法有社会化矩阵分解推荐算法[33]、概率矩阵分解算法(PMF)[34]、基于信任加权的推荐算法(TrustSVD)错误!未找到引用源。等。社会化矩阵分解推荐模型是在矩阵分解的基础上考虑了社会信息,用社会正则化来约束矩阵分解的损失函数,其损失函数可以定义为公式(2.12)。222,,12,111min[()]2mnTijijijFFUVijGIRUVSUV(2.12)其中,221F2FUV表示用户特征和项目特征的正则项,1和2分别是正则项参数,2()1|()|mffFiiiFUSUFi表示社会正则项用户保存用户与其信任用户之间的兴趣差异,是社会正则项参数。由公式(2.12)可以看出,在社会化矩阵分解推荐模型中,需要定义用户相似度。用户相似度用来描述用户关联程度,常见的相似度度量方法有余弦相似度和皮尔逊相似度。余弦相似度描述的是向量之间的距离,直接计算了不同用户的交互向量之间的距离值,其计算公式如公式(2.13)所示:
武汉纺织大学硕士学位论文14图2.2NCF框架Fig.2.2NCFframeworkNCF框架采用了一种多层感知器来建立用户-项目的交互,底层输入层由用户u的特征向量和项目i的特征向量组成。在描述用户和项目之间的交互关系的过程中,可以采用多种方式来对用户和项目交互建模,常见的有:基于邻居的模型,基于项目内容的主题模型,因子分解机FM等。在处理输入的时候可以将用户和项目的标识作为输入,对其进行one-hot编码,将标志转化为二进制向量,除标志位为1以外,其他位都为0,这种做法可以较好的修正冷启动带来的问题。在输入层之后是嵌入层,这部分网络将one-hot编码映射到稠密向量上,从而得到的用户嵌入的潜在向量空间和项目嵌入的潜在向量空间。在将其输入至神经网络层之前,需要先将用户潜在向量和用户潜在向量连接起来,将拼接后的结果作为神经网络层的输入,然后通过多层神经网络模型来训练数据并得到最终的预测评分。在神经网络层中,每一层都可以被重新定义来发现用户-项目交互的某些潜在结构,一般来说,网络层数越多,模型的预测效果也会越好。最终的输出层是预测评分,然后通过损失函数来最小化和之间差值来训练模型。根据NCF的框架图,可以用公式(2.15)来表示NCF框架的预测模型:(Pv,Qv|P,Q,)TUTIuiuifyf(2.15)其中,P和Q分别表示用户和项目的潜在因子矩阵,Θf表示交互函数f的模型参数。交互模型f指的是NCF模型中的神经网络部分,对于一个X层的多层感知器网络,可以用公式(2.16)表示:21(Pv,Qv)((((Pv,Qv))))TUTITUTIuioutXuif(2.16)
【参考文献】:
期刊论文
[1]改进非对称相似度和关联正则化的推荐算法[J]. 刘春玲,张黎. 计算机工程与应用. 2020(16)
[2]社会化推荐研究综述[J]. 王刚,蒋军,王含茹. 计算机科学. 2018(S2)
[3]基于用户非对称相似性的协同过滤推荐算法[J]. 黄贤英,龙姝言,谢晋. 四川大学学报(自然科学版). 2018(03)
[4]支持推荐非空率的关联规则推荐算法[J]. 何明,刘伟世,张江. 通信学报. 2017(10)
[5]联合正则化的矩阵分解推荐算法[J]. 吴宾,娄铮铮,叶阳东. 软件学报. 2018(09)
[6]针对时间序列多步预测的聚类隐马尔科夫模型[J]. 章登义,欧阳黜霏,吴文李. 电子学报. 2014(12)
[7]协同过滤推荐技术综述[J]. 冷亚军,陆青,梁昌勇. 模式识别与人工智能. 2014(08)
[8]一种结合推荐对象间关联关系的社会化推荐算法[J]. 郭磊,马军,陈竹敏,姜浩然. 计算机学报. 2014(01)
[9]移动通信网中基于用户社会化关系挖掘的协同过滤算法[J]. 黄武汉,孟祥武,王立才. 电子与信息学报. 2011(12)
[10]面向个性化推荐的强关联规则挖掘[J]. 李杰,徐勇,王云峰,朱昭贤. 系统工程理论与实践. 2009(08)
硕士论文
[1]基于用户偏好多样性的推荐算法研究及应用[D]. 陈云峰.中国科学技术大学 2018
[2]基于时序模型的社会化推荐算法研究[D]. 牛冰慧.重庆大学 2017
本文编号:3226866
【文章来源】:武汉纺织大学湖北省
【文章页数】:74 页
【学位级别】:硕士
【部分图文】:
本文的研究路线
武汉纺织大学硕士学位论文12信任度,后者指的是用户信任用户集合中的不同用户产生的不同信任度。社会化推荐系统的结构如图2.1所示。图2.1社会化推荐模型结构Fig.2.1Structureofsocialrecommendationmodel在采集数据的时候一般包括:用户和项目的属性信息,例如用户的年龄、地理位置以及项目的类型等;用户对项目的交互信息,例如用户对项目的评价、点击以及收藏等;和用户社会关系属性信息,例如用户的好友、关注等。采集到数据还需要进行处理,主要操作有:建立用户-项目的交互矩阵,对用户数据和项目数据的筛选,以及计算不同用户之间的信任关系等。社会化推荐模型主要是将社会化信息融合到推荐模型中,常用的社会化推荐算法有社会化矩阵分解推荐算法[33]、概率矩阵分解算法(PMF)[34]、基于信任加权的推荐算法(TrustSVD)错误!未找到引用源。等。社会化矩阵分解推荐模型是在矩阵分解的基础上考虑了社会信息,用社会正则化来约束矩阵分解的损失函数,其损失函数可以定义为公式(2.12)。222,,12,111min[()]2mnTijijijFFUVijGIRUVSUV(2.12)其中,221F2FUV表示用户特征和项目特征的正则项,1和2分别是正则项参数,2()1|()|mffFiiiFUSUFi表示社会正则项用户保存用户与其信任用户之间的兴趣差异,是社会正则项参数。由公式(2.12)可以看出,在社会化矩阵分解推荐模型中,需要定义用户相似度。用户相似度用来描述用户关联程度,常见的相似度度量方法有余弦相似度和皮尔逊相似度。余弦相似度描述的是向量之间的距离,直接计算了不同用户的交互向量之间的距离值,其计算公式如公式(2.13)所示:
武汉纺织大学硕士学位论文14图2.2NCF框架Fig.2.2NCFframeworkNCF框架采用了一种多层感知器来建立用户-项目的交互,底层输入层由用户u的特征向量和项目i的特征向量组成。在描述用户和项目之间的交互关系的过程中,可以采用多种方式来对用户和项目交互建模,常见的有:基于邻居的模型,基于项目内容的主题模型,因子分解机FM等。在处理输入的时候可以将用户和项目的标识作为输入,对其进行one-hot编码,将标志转化为二进制向量,除标志位为1以外,其他位都为0,这种做法可以较好的修正冷启动带来的问题。在输入层之后是嵌入层,这部分网络将one-hot编码映射到稠密向量上,从而得到的用户嵌入的潜在向量空间和项目嵌入的潜在向量空间。在将其输入至神经网络层之前,需要先将用户潜在向量和用户潜在向量连接起来,将拼接后的结果作为神经网络层的输入,然后通过多层神经网络模型来训练数据并得到最终的预测评分。在神经网络层中,每一层都可以被重新定义来发现用户-项目交互的某些潜在结构,一般来说,网络层数越多,模型的预测效果也会越好。最终的输出层是预测评分,然后通过损失函数来最小化和之间差值来训练模型。根据NCF的框架图,可以用公式(2.15)来表示NCF框架的预测模型:(Pv,Qv|P,Q,)TUTIuiuifyf(2.15)其中,P和Q分别表示用户和项目的潜在因子矩阵,Θf表示交互函数f的模型参数。交互模型f指的是NCF模型中的神经网络部分,对于一个X层的多层感知器网络,可以用公式(2.16)表示:21(Pv,Qv)((((Pv,Qv))))TUTITUTIuioutXuif(2.16)
【参考文献】:
期刊论文
[1]改进非对称相似度和关联正则化的推荐算法[J]. 刘春玲,张黎. 计算机工程与应用. 2020(16)
[2]社会化推荐研究综述[J]. 王刚,蒋军,王含茹. 计算机科学. 2018(S2)
[3]基于用户非对称相似性的协同过滤推荐算法[J]. 黄贤英,龙姝言,谢晋. 四川大学学报(自然科学版). 2018(03)
[4]支持推荐非空率的关联规则推荐算法[J]. 何明,刘伟世,张江. 通信学报. 2017(10)
[5]联合正则化的矩阵分解推荐算法[J]. 吴宾,娄铮铮,叶阳东. 软件学报. 2018(09)
[6]针对时间序列多步预测的聚类隐马尔科夫模型[J]. 章登义,欧阳黜霏,吴文李. 电子学报. 2014(12)
[7]协同过滤推荐技术综述[J]. 冷亚军,陆青,梁昌勇. 模式识别与人工智能. 2014(08)
[8]一种结合推荐对象间关联关系的社会化推荐算法[J]. 郭磊,马军,陈竹敏,姜浩然. 计算机学报. 2014(01)
[9]移动通信网中基于用户社会化关系挖掘的协同过滤算法[J]. 黄武汉,孟祥武,王立才. 电子与信息学报. 2011(12)
[10]面向个性化推荐的强关联规则挖掘[J]. 李杰,徐勇,王云峰,朱昭贤. 系统工程理论与实践. 2009(08)
硕士论文
[1]基于用户偏好多样性的推荐算法研究及应用[D]. 陈云峰.中国科学技术大学 2018
[2]基于时序模型的社会化推荐算法研究[D]. 牛冰慧.重庆大学 2017
本文编号:3226866
本文链接:https://www.wllwen.com/guanlilunwen/xiangmuguanli/3226866.html