矩阵分解算法的音乐推荐研究【字数:11053】
摘 要随着 Internet 技术的发展,生活节奏的加快,人们一方面利用网络进行学习,另一方面也享受着网络带来的各种便利。传统的存储方式已不能满足当下人们的需要,在线音乐网站便应运而生。但是用户已不满足于简单的音乐爱好需要,更多的是希望能通过良好的推荐算法得到适合于自己的音乐。本系统针对现在已存在的一些在线音乐试听网站进行了实际的需求分析,选择了时下火热的矩阵分解算法进行推荐操作。在网站开发方面采用 JSP技术和MySQL数据库管理系统作为工具。整个系统主要服务于系统管理员、普通客户这两类用户。为满足用户要求的角度出发,设计并开发出能让普通用户进行注册登录,歌曲试听,修改密码等功能的网站。而网站管理员方面,则可以实现歌曲与专辑管理、前后台用户管理、栏目分类管理、以及歌曲上传等功能。基本上满足了两种用户对普通音乐网站的需要,而另一方面矩阵分解算法给予用户的体验也能解决用户对音乐的需求。本设计说明书主要介绍了本课题的开发背景、技术详情和系统可行性,并着重对矩阵分解算法进行了详细地说明,给出了一些技术难点和与之对应的解决方案。
目录
1.引言 1
1.1研究的背景 1
1.2研究的目的 2
1.3研究的意义 2
2. 推荐系统中的矩阵分解 3
2.1 矩阵分解的一般形式 3
2.2 利用矩阵分解进行预测 4
2.2.1损失函数 4
2.2.2损失函数的求解 4
2.2.3加入正则项的损失函数即求解方法 5
2.2.4预测 6
2.3 矩阵分解的优缺点 6
3.系统分析 7
3.1 可行性分析 7
3.2 性能需求分析 8
3.3 功能需求分析 8
3.4 数据需求分析 9
4.系统设计 10
4.1 系统功能概述 10
4.2系统功能结构图 10
4.3主要功能详细设计 10
4.4数据库设计 14
5.系统实现 19
5.1 开发环境 19
5.2 用户功能模块的实现 20
5.2.1矩阵分解推荐算法实 *好棒文|www.hbsrm.com +Q: ^351916072*
现 25
5.2.2用户登录 25
5.2.3用户注册 28
5.2.4用户激活 31
5.2.5音乐下载 32
5.2.6音乐播放 33
5.2.7 音乐搜索 35
5.3 管理员功能模块的实现 35
5.3.1音乐上传 36
6.系统影响与效益 37
参考文献 39
致谢 40
1.引言
1.1研究的背景
随着因特网技术的迅速发展,互联网中蕴含的信息量已经呈现出爆炸性的增长趋势。据国际数据公司(International Data Corporation即IDC)2018年发布的报告表明,2017年全球数据总量为21.6ZB,而每年增长速度在40%左右,预计到2020年,全球数据总量将到达40ZB。海量的信息同时摆在了用户的面前,使很多用户很难找到自己感兴趣的内容而无所适从,这就是常说的“信息过载”(information overload)问题。如何从海量的数据中挖掘出用户所需求的信息,提高信息检索、推荐的智能水平,提升用户体验,已经成为计算机科学领域研究的热点之一。
本文重点在于将基于矩阵分解的推荐算法合理地运用到个人音乐网站的推荐系统中,通过用户的喜好评分进行计算,提供一个专属的个性化的音乐推荐。
1.2研究的目的
本次毕业设计课题是基于矩阵分解算法的音乐推荐系统的设计与实现。
系统的开发目的就是利用当前火热的矩阵分解算法,分析出用户所偏好的音乐类型,根据这些类型对用户进行音乐推荐。而音乐网站方面,能提供用户一个可以试听和下载的窗口,同时给予管理员特殊的权利:提供一个便捷的增删歌曲,增删用户等的后台服务平台。构建这样一个小型的音乐网站不仅给客户一个人性化的推荐系统,也可以给网站管理员带来很大的方便。
开发前台系统的目的主要是为了客户的不同需求,不单单是音乐推荐,也希望给予客户一个试听和下载的途径,增加客户对网站的粘性。
开发后台系统的目的主要是为了方便网站管理员对网站进行想要的操作,提高管理员的工作效率,实现管理的信息化。
1.3研究的意义
当今,中国做为全球最大的发展中国家,在线音乐的好时代正在接近。据中商产业研究院整理表明,截至2017年6月,网络音乐用户规模达到5.24亿,较去年底增加2101万,占网民总体的69.8%。2017年中国在线音乐市场规模为85亿元,同比增速略有放缓。预计到2018年中国在线音乐市场规模将突破100亿元。毫无疑问,在线音乐市场的潜力是巨大的。
一大批音乐网站应运而生,目的是满足各类音乐爱好者的需求。本次开发的音乐推荐系统,在在线音乐方面采用了B/S开发框架,利用了先进的管理构思和完善的业务管理。而至关重要的音乐推荐方面,则采取了较为火热的矩阵分解算法进行数据的分析,合理推测出用户对于音乐方面的需求。整个网站在管理、实用性、易用性、数据容量与安全性、网络稳定性等方面相对于之前的系统都有了极大的提高。网站的管理系统更是增加了上传音乐的功能,更好地服务了管理员对于音乐所必须的控制。
2. 推荐系统中的矩阵分解
对于推荐系统(Recommend System, RS),从广义上来讲可以理解为:为用户(User)推荐相关的商品(Items)。而在其中,最重要的数据是用户对商品的打分,其数据形式如图21所示:
/
图21用户的商品打分数据
其中,U1?U5表示的是5个不同的用户(随机获取),D1?D4表示的是4个不同的商品(随机获取),这样构成了一个用户商品矩阵。在该矩阵中,记录了用户对每一件商品的打分,其中“”表示的是用户未对该商品进行打分。
矩阵分解技术就是通过已有的矩阵信息,先将“”转化为“0”,再将该矩阵分解成两个或多个矩阵的乘积。最后分析计算出未填项的分值,即用户对于未打分的商品的预测评分。
2.1 矩阵分解的一般形式
矩阵分解是指将一个矩阵分解成两个或者多个矩阵的乘积。对于上述的用户商品矩阵(即图2.1的评分矩阵),记为Rm×n。可以将其分解成两个或者多个矩阵的乘积,假设分解成两个矩阵Pm×k和Qk×n,我们要使得矩阵Pm×k和Qk×n的乘积能够还原原始的矩阵Rm×n:
Rm×n≈Pm×k×Qk×n=R^m×n
其中,矩阵Pm×k表示的是m个用户与k个主题之间的关系,而矩阵Qk×n表示的是k个主题与n个商品之间的关系。
2.2 利用矩阵分解进行预测
在上述的矩阵分解的过程中,将原始的评分矩阵Rm×n分解成两个矩阵Pm×k和Qk×n的乘积:
目录
1.引言 1
1.1研究的背景 1
1.2研究的目的 2
1.3研究的意义 2
2. 推荐系统中的矩阵分解 3
2.1 矩阵分解的一般形式 3
2.2 利用矩阵分解进行预测 4
2.2.1损失函数 4
2.2.2损失函数的求解 4
2.2.3加入正则项的损失函数即求解方法 5
2.2.4预测 6
2.3 矩阵分解的优缺点 6
3.系统分析 7
3.1 可行性分析 7
3.2 性能需求分析 8
3.3 功能需求分析 8
3.4 数据需求分析 9
4.系统设计 10
4.1 系统功能概述 10
4.2系统功能结构图 10
4.3主要功能详细设计 10
4.4数据库设计 14
5.系统实现 19
5.1 开发环境 19
5.2 用户功能模块的实现 20
5.2.1矩阵分解推荐算法实 *好棒文|www.hbsrm.com +Q: ^351916072*
现 25
5.2.2用户登录 25
5.2.3用户注册 28
5.2.4用户激活 31
5.2.5音乐下载 32
5.2.6音乐播放 33
5.2.7 音乐搜索 35
5.3 管理员功能模块的实现 35
5.3.1音乐上传 36
6.系统影响与效益 37
参考文献 39
致谢 40
1.引言
1.1研究的背景
随着因特网技术的迅速发展,互联网中蕴含的信息量已经呈现出爆炸性的增长趋势。据国际数据公司(International Data Corporation即IDC)2018年发布的报告表明,2017年全球数据总量为21.6ZB,而每年增长速度在40%左右,预计到2020年,全球数据总量将到达40ZB。海量的信息同时摆在了用户的面前,使很多用户很难找到自己感兴趣的内容而无所适从,这就是常说的“信息过载”(information overload)问题。如何从海量的数据中挖掘出用户所需求的信息,提高信息检索、推荐的智能水平,提升用户体验,已经成为计算机科学领域研究的热点之一。
本文重点在于将基于矩阵分解的推荐算法合理地运用到个人音乐网站的推荐系统中,通过用户的喜好评分进行计算,提供一个专属的个性化的音乐推荐。
1.2研究的目的
本次毕业设计课题是基于矩阵分解算法的音乐推荐系统的设计与实现。
系统的开发目的就是利用当前火热的矩阵分解算法,分析出用户所偏好的音乐类型,根据这些类型对用户进行音乐推荐。而音乐网站方面,能提供用户一个可以试听和下载的窗口,同时给予管理员特殊的权利:提供一个便捷的增删歌曲,增删用户等的后台服务平台。构建这样一个小型的音乐网站不仅给客户一个人性化的推荐系统,也可以给网站管理员带来很大的方便。
开发前台系统的目的主要是为了客户的不同需求,不单单是音乐推荐,也希望给予客户一个试听和下载的途径,增加客户对网站的粘性。
开发后台系统的目的主要是为了方便网站管理员对网站进行想要的操作,提高管理员的工作效率,实现管理的信息化。
1.3研究的意义
当今,中国做为全球最大的发展中国家,在线音乐的好时代正在接近。据中商产业研究院整理表明,截至2017年6月,网络音乐用户规模达到5.24亿,较去年底增加2101万,占网民总体的69.8%。2017年中国在线音乐市场规模为85亿元,同比增速略有放缓。预计到2018年中国在线音乐市场规模将突破100亿元。毫无疑问,在线音乐市场的潜力是巨大的。
一大批音乐网站应运而生,目的是满足各类音乐爱好者的需求。本次开发的音乐推荐系统,在在线音乐方面采用了B/S开发框架,利用了先进的管理构思和完善的业务管理。而至关重要的音乐推荐方面,则采取了较为火热的矩阵分解算法进行数据的分析,合理推测出用户对于音乐方面的需求。整个网站在管理、实用性、易用性、数据容量与安全性、网络稳定性等方面相对于之前的系统都有了极大的提高。网站的管理系统更是增加了上传音乐的功能,更好地服务了管理员对于音乐所必须的控制。
2. 推荐系统中的矩阵分解
对于推荐系统(Recommend System, RS),从广义上来讲可以理解为:为用户(User)推荐相关的商品(Items)。而在其中,最重要的数据是用户对商品的打分,其数据形式如图21所示:
/
图21用户的商品打分数据
其中,U1?U5表示的是5个不同的用户(随机获取),D1?D4表示的是4个不同的商品(随机获取),这样构成了一个用户商品矩阵。在该矩阵中,记录了用户对每一件商品的打分,其中“”表示的是用户未对该商品进行打分。
矩阵分解技术就是通过已有的矩阵信息,先将“”转化为“0”,再将该矩阵分解成两个或多个矩阵的乘积。最后分析计算出未填项的分值,即用户对于未打分的商品的预测评分。
2.1 矩阵分解的一般形式
矩阵分解是指将一个矩阵分解成两个或者多个矩阵的乘积。对于上述的用户商品矩阵(即图2.1的评分矩阵),记为Rm×n。可以将其分解成两个或者多个矩阵的乘积,假设分解成两个矩阵Pm×k和Qk×n,我们要使得矩阵Pm×k和Qk×n的乘积能够还原原始的矩阵Rm×n:
Rm×n≈Pm×k×Qk×n=R^m×n
其中,矩阵Pm×k表示的是m个用户与k个主题之间的关系,而矩阵Qk×n表示的是k个主题与n个商品之间的关系。
2.2 利用矩阵分解进行预测
在上述的矩阵分解的过程中,将原始的评分矩阵Rm×n分解成两个矩阵Pm×k和Qk×n的乘积:
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/jsjkxyjs/537.html