Professional Documents
Culture Documents
基于机器学习的电子游戏推荐系统 - 以 Steam 游戏平台为例
基于机器学习的电子游戏推荐系统 - 以 Steam 游戏平台为例
基于机器学习的电子游戏推荐系统 - 以 Steam 游戏平台为例
基于机器学习的电子游戏推荐系统——
以 Steam 游戏平台为例
Machine Learning-Based Video Game
学生姓名:
所在学院: 信息管理学院
专 业: 数据科学与大数据技术
班 级:
指导老师:
上海立信会计金融学院普通本科生毕业论文(设计)
2024 年 3 月
声明及论文使用的授权
本人郑重声明:所呈交的论文是本人在导师的指导下取得的研究成果, 论文写作
严格遵循学术规范。除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经
发表或撰写的研究成果。因本毕业论文引起的法律结果完全由本人承担。上海立信会计
金融学院享有本毕业论文的研究成果。
论文作者签名 年 月 日
本人同意上海立信会计金融学院保留使用学位论文的规定,即:学校有权保留送
交论文的复印件,允许论文被查阅和借阅;学校可以上网公布全部内容,可以采用影
印、缩印或其他复制手段保存论文。
论文作者签名 年 月 日
上海立信会计金融学院普通本科生毕业论文(设计)
摘 要
Steam 游戏平台作为全球最大的综合性数字发行平台之一,为玩家提供了海量的游
戏选择和丰富的社交互动功能。然而,随着游戏库的不断扩充,玩家在面对众多游戏选
择时,往往难以快速找到符合自己兴趣的游戏,这就是所谓的“信息过载”问题。近年
来,基于机器学习的推荐算法在电子商务、视频推荐等领域取得了显著成果。在游戏领
域,个性化推荐系统可以帮助玩家发现新游戏,提高游戏的可见性和用户满意度,进
而促进游戏的销售和平台的用户活跃度。
本研究以 Steam 游戏平台为例,探讨基于机器学习的电子游戏推荐系统的构建和
应用。通过深入分析玩家推荐数据,挖掘玩家对不同标签下游戏偏好和倾向,本研究旨
在丰富和完善个性化推荐算法在游戏领域的应用理论。同时,本研究还将探索如何利用
机器学习技术,有效处理和分析非结构化的玩家数据,为类似场景下的数据挖掘提供
理论支持和方法指导。
关键词:机器学习;推荐系统;游戏平台
1
上海立信会计金融学院普通本科生毕业论文(设计)
Abstract
As one of the world's largest comprehensive digital distribution platforms, the Steam
game platform provides players with a large selection of games and rich social interaction
features. However, with the continuous expansion of the game library, it is often difficult for
players to quickly find a game that meets their interests when faced with a large number of
game choices, which is the so-called "information overload" problem. In recent years,
machine learning-based recommendation algorithms have achieved remarkable results in e-
commerce, video recommendation and other fields. In the gaming space, personalized
recommendation systems can help players discover new games, improve game visibility and
user satisfaction, and in turn boost game sales and user engagement on the platform.
This study takes the Steam game platform as an example to explore the construction and
application of a machine learning-based video game recommendation system. Through in-
depth analysis of player recommendation data and mining players' preferences and tendencies
for games under different tags, this study aims to enrich and improve the application theory of
personalized recommendation algorithm in the field of games. At the same time, this study
will also explore how to use machine learning technology to effectively process and analyze
unstructured player data and provide theoretical support and methodological guidance for data
mining in similar scenarios.
Key words: Machine learning; recommender systems; gaming platforms
2
上海立信会计金融学院普通本科生毕业论文(设计)
目 录
一、 引言.................................................................3
(一) 研究背景和选题意义.................................................3
(二) 目标和研究问题.....................................................3
(三) 数据来源介绍.......................................................3
二、 相关工作和技术.......................................................4
(一) 推荐系统算法综述...................................................4
(二) 数据预处理.........................................................4
三、 用户特征与游戏特征...................................................4
(一) 用户特征提取与分析.................................................4
(二) 游戏特征提取与分析.................................................4
四、 推荐算法选择与实现...................................................4
(一) 算法实现与优化.....................................................4
(二) 模型评估与比较.....................................................4
五、 结果分析与讨论.......................................................4
参考文献..................................................................5
附 录....................................................................9
致 谢...................................................................10
一、引言
(一) 研究背景和选题意义
1.研究背景
随着互联网技术的飞速发展,电子游戏作为一种新兴的文化娱乐形式,已经逐渐渗
透到人们的日常生活中。Steam 游戏平台作为全球最大的综合性数字发行平台之一,为
玩家提供了海量的游戏选择和丰富的社交互动功能。然而,随着游戏库的不断扩充,玩
家在面对众多游戏选择时,往往难以快速找到符合自己兴趣的游戏,这就是所谓的
“信息过载”问题。为了解决这一问题,个性化推荐系统应运而生,成为了研究和实践
的热点。个性化推荐系统通过分析用户的历史行为、偏好等信息,利用机器学习、深度学
3
上海立信会计金融学院普通本科生毕业论文(设计)
习等算法,为用户推荐其可能感兴趣的内容。在游戏领域,个性化推荐系统可以帮助玩
家发现新游戏,提高游戏的可见性和用户满意度,进而促进游戏的销售和平台的用户
活跃度。近年来,基于机器学习的推荐算法在电子商务、视频推荐等领域取得了显著成
果,但在游戏推荐领域,尤其是在利用玩家评论数据进行推荐方面,仍然存在诸多挑
战和待解决的问题。玩家评论数据作为一种非结构化的文本信息,蕴含着丰富的玩家情
感和游戏特征,如何有效地提取和利用这些信息,成为提升游戏推荐系统性能的关键。
2.选题意义
理论意义
本研究以 Steam 游戏平台为例,探讨基于机器学习的电子游戏推荐系统的构建和
应用。通过深入分析玩家评论数据,挖掘玩家的游戏偏好和情感倾向,本研究旨在丰富
和完善个性化推荐算法在游戏领域的应用理论。同时,本研究还将探索如何利用机器学
习技术,有效处理和分析非结构化的玩家评论数据,为类似场景下的文本数据挖掘提
供理论支持和方法指导。
实践意义
(1)提高玩家体验:通过为玩家提供个性化的游戏推荐,本研究有助于解决玩家
在海量游戏选择中的迷茫问题,提高玩家的游戏体验和满意度。这将有助于增强玩家对
Steam 平台的粘性和忠诚度,进而促进平台的可持续发展。
(2)促进游戏销售:个性化的游戏推荐可以将合适的游戏推荐给潜在的感兴趣玩
家,从而提高游戏的曝光率和销售量。这对于独立游戏开发者和小型游戏公司来说尤为
重要,因为他们的游戏可能在大量游戏中被忽视。通过本研究的推荐系统,这些优质但
知名度较低的游戏有机会被更多玩家发现和购买。
(3)优化平台运营:本研究通过深入分析玩家评论数据,还可以为 Steam 平台提
供有关游戏质量、玩家需求和市场趋势等方面的有价值信息。这些信息可以帮助平台更
好地调整游戏策略、优化游戏库结构和改善用户服务,从而提高平台的整体运营效率和
市场竞争力。
(4)推动技术发展:本研究将探索机器学习的推荐算法在游戏领域的新应用和新
挑战,为推动相关技术的发展和创新做出贡献。同时,本研究还将为其他类似场景(如
电影推荐、音乐推荐等)下的个性化推荐系统提供借鉴和参考。
(二) 目标和研究问题
3.目标
4
上海立信会计金融学院普通本科生毕业论文(设计)
随着信息技术的迅猛发展和大数据时代的到来,电子游戏行业迎来了前所未有的
繁荣。Steam 游戏平台作为全球最大的综合性数字发行平台之一,拥有海量的游戏资源
和庞大的用户群体。然而,面对如此众多的游戏选择,玩家往往难以快速找到符合自己
兴趣和需求的游戏。因此,构建一个准确、高效的电子游戏推荐系统显得尤为重要。本研
究旨在运用机器学习技术,结合 Steam 游戏平台上玩家的评论数据,构建一个基于用
户反馈的电子游戏推荐系统。通过深入分析玩家的评论内容,提取玩家的游戏偏好、情
感倾向等关键信息,进而为玩家提供个性化的游戏推荐服务。研究目的具体包括:探索
玩家评论数据中的有效信息,挖掘其对游戏推荐的价值。玩家评论是玩家对游戏体验的
直接反馈,其中包含了丰富的情感信息和游戏评价。通过挖掘这些评论数据,可以更准
确地理解玩家的游戏需求和偏好,为推荐算法提供更有价值的输入。构建基于机器学习
的电子游戏推荐模型。利用机器学习算法,如协同过滤、内容过滤、深度学习等,结合玩
家评论数据和其他相关信息(如游戏类型、价格、评分等),构建一个能够准确预测玩
家游戏喜好的推荐模型。该模型能够根据玩家的历史行为和偏好,为其推荐最可能感兴
趣的游戏。优化推荐系统的性能和用户体验。通过对比不同推荐算法的效果,选择最优
的算法组合和参数设置,以提高推荐系统的准确性和效率。同时,关注用户体验,确保
推荐结果的可解释性和多样性,增加用户对推荐系统的信任和满意度。推动电子游戏行
业的创新和发展。本研究不仅为 Steam 游戏平台提供了一个实用的推荐系统解决方案,
还为整个电子游戏行业带来了新的思路和启示。通过引入先进的机器学习技术和大数据
分析方法,有望推动游戏行业的创新升级,为玩家带来更丰富、更个性化的游戏体验。
4.研究问题
为了实现上述研究目的,本研究将围绕以下几个核心问题展开:如何有效地从玩
家评论数据中提取关键信息?玩家评论数据通常包含大量的文本信息,其中既有有用
的评价内容,也有无关紧要的噪音信息。因此,需要研究如何运用自然语言处理
(NLP)等技术,对评论数据进行清洗、分词、情感分析等处理,以提取出对游戏推荐有
价值的关键信息。如何选择合适的机器学习算法构建推荐模型?机器学习算法种类繁多
每种算法都有其适用的场景和优缺点。本研究需要对比不同算法在电子游戏推荐任务上
的表现,选择最适合的算法或算法组合来构建推荐模型。同时,还需要考虑如何结合玩
家评论数据和其他相关信息来优化模型性能。如何评估推荐系统的性能和用户体验?为
了验证推荐系统的有效性和优越性,需要设计合理的评估指标和实验方案来对比不同
5
上海立信会计金融学院普通本科生毕业论文(设计)
推荐算法的效果。同时,还需要关注用户体验方面的指标,如推荐结果的可解释性、多
样性以及用户对推荐结果的满意度等。这些指标将有助于全面评估推荐系统的性能和用
户体验水平。如何将研究成果应用于实际场景中?本研究最终的目标是将构建的电子游
戏推荐系统应用于实际场景中,为 Steam 游戏平台的用户提供个性化的游戏推荐服务。
因此,需要研究如何将研究成果与 Steam 平台的实际运营相结合,考虑如何部署推荐
系统、如何更新模型以适应游戏市场的变化以及如何处理用户隐私保护等问题。
综上所述,本研究旨在运用机器学习技术构建基于玩家评论数据的电子游戏推荐系统,
通过解决上述研究问题来实现准确、高效的个性化游戏推荐服务,以 Steam 游戏平台为
例,解决玩家在海量游戏选择中的迷茫问题,提高玩家的游戏体验和满意度。这将有助
于游戏产业的可持续发展和相关技术的创新做出贡献。通过深入探索玩家评论数据的价
值和应用方法,本研究有望为个性化推荐系统在游戏领域的应用提供新的思路和方向。
(三) 数据来源介绍
本研究的数据来源于 Kaggle 网站,一个广受数据科学家和机器学习爱好者欢迎的
在线数据平台。Kaggle 不仅提供了大量的公开数据集供用户下载和使用,还建立了一个
活跃的社区,方便数据爱好者们交流和分享经验。
我从 Kaggle 上下载了一个包含 Steam 游戏玩家信息的数据集。Steam 是由 Valve 公
司开发的一款流行的数字发行平台,为游戏玩家提供了购买、下载、讨论和评价游戏的
一站式服务。因此,Steam 平台上的用户数据对于理解游戏市场趋势、玩家偏好以及游
戏性能等方面具有重要价值。该数据集包含了约十万多条记录,每条记录都详细描述了
一个游戏玩家的相关信息。数据项包括用户 ID、游戏名称、游戏售价、发行商、游戏时长
以及评论信息等。其中,用户 ID 和游戏名称是识别玩家和游戏的基本信息;游戏售价
反映了游戏的定价策略和市场定位;发行商信息有助于分析不同发行商的市场表现和
影响力;游戏时长则反映了玩家的游戏习惯和参与度;最后,评论信息提供了玩家对
游戏的直接反馈和评价,是研究玩家满意度和游戏质量的重要依据。总的来说,这个数
据集为我提供了一个宝贵的机会,可以从多个角度深入分析和理解 Steam 游戏玩家的
行为和偏好。通过挖掘这些数据中的模式和关联,有望为游戏开发商、发行商以及整个
游戏产业提供有价值的见解和建议。
6
上海立信会计金融学院普通本科生毕业论文(设计)
资料来源:www.kaggle.com
图 1:原数据集来源
二、相关工作和技术
(一) 推荐系统算法综述
随着信息技术的飞速发展,用户面临的信息过载问题日益严重。为了有效地解决这
一问题,推荐系统应运而生,成为帮助用户从海量信息中筛选出感兴趣内容的重要工
具。推荐系统通过分析用户的历史行为、兴趣偏好以及物品的特征,利用算法预测用户
可能感兴趣的内容,并进行个性化推荐。本文将对推荐系统中常用的几种算法进行综述
包括协同过滤算法、内容过滤算法以及深度学习算法,并以 Steam 游戏平台为例,探讨
这些算法在电子游戏推荐中的应用。
1.协同过滤算法
协同过滤是推荐系统中最经典且最广泛使用的算法之一。它基于用户或物品之间的
相 似 性 来 进 行 推 荐 。 协 同 过 滤 算 法 可 以 分 为 两 类 : 用 户 协 同 过 滤 ( User-Based
Collaborative Filtering ) 和 物 品 协 同 过 滤 ( Item-Based Collaborative
Filtering)。
用户协同过滤的核心思想是找到与目标用户兴趣相似的其他用户,然后将这些相似
用户喜欢的物品推荐给目标用户。在 Steam 游戏平台的上下文中,如果用户 A 和用户 B
都喜欢玩《巫师 3:狂猎》和《上古卷轴 5:天际》,那么当用户 A 玩了一个新用户 B 还没
7
上海立信会计金融学院普通本科生毕业论文(设计)
(二) 数据预处理
4.数据收集与理解
我从 kaggle 网站下载了数据集:users.csv、games.csv、games_matadata.json 和
recommendation.csv 作为我的原始数据。
users.csv 中的字段如用户 ID、总游戏数量和评论数量,为我提供了用户活跃度和
参与度的信息。
表 1:users.csv(部分)
8
上海立信会计金融学院普通本科生毕业论文(设计)
资料来源:www.kaggle.com
资料来源:www.kaggle.com
9
上海立信会计金融学院普通本科生毕业论文(设计)
资料来源:www.kaggle.com
图 2:games_metadata.json(部分)
10
上海立信会计金融学院普通本科生毕业论文(设计)
资料来源:www.kaggle.com
通过对这四个数据集的详细分析,我获得了对用户、游戏和用户-游戏交互行为的
深入理解,为后续的数据预处理和模型构建提供了坚实的基础。
5.数据清洗
确保数据的准确性、一致性和完整性,为后续分析提供可靠的数据基础。
对于 users,csv,考虑到其数据条数众多,结构简单,我仅去除了其中的缺失值。
表 4:users_cleaned.csv(部分)
11
上海立信会计金融学院普通本科生毕业论文(设计)
12
上海立信会计金融学院普通本科生毕业论文(设计)
app_id tags
13500 ['Action', 'Adventure', 'Parkour', 'Third Person', 'Great Soundtrack', 'Singleplayer', 'Platformer',
22364 ['Action']
113020 ['Co- op', 'Stealth', 'Indie', 'Heist', 'Local Co- Op', 'Strategy', 'Online Co- Op', 'Top- Down', 'Actio
226560 ['Zombies', 'Adventure', 'Survival', 'Action', 'Third Person', 'Open World', 'Gore', 'Horror', 'Singl
249050 ['Roguelike', 'Strategy', 'Tower Defense', 'Pixel Graphics', 'Indie', 'RPG', 'Sci- fi', 'Dungeon Crawl
250180 ['Arcade', 'Classic', 'Action', 'Co- op', 'Side Scroller', 'Retro', 'Local Co- Op', 'Shooter', '2D', 'Onlin
253980 ['RPG', 'Action', 'Fantasy', 'Third Person', 'Hack and Slash', 'Adventure', 'Singleplayer', 'Classic',
271850 ['Strategy', 'Simulation', 'Action', 'RTS', 'World War II']
282900 ['Anime', 'JRPG', 'Female Protagonist', 'Cute', 'RPG', 'Singleplayer', 'Comedy', 'Funny', 'Turn- Ba
19810 ['Action', 'Tactical']
15270 ['Horror', 'Action', 'Survival Horror', 'Third- Person Shooter', 'Zombies', 'Classic', 'Third Person',
21130 ['LEGO', 'Adventure', 'Local Co- Op', 'Action', 'Magic', 'Family Friendly', 'Multiplayer', 'Singlepla
22130 ['Strategy', 'Grand Strategy', 'World War II', 'Historical', 'RTS', 'Simulation']
29180 ['Indie', 'Casual', 'Puzzle', 'Relaxing', 'Singleplayer', 'Physics', 'Great Soundtrack', 'Ambient', 'Atm
32750 ['Action', 'Simulation', 'Flight', 'Classic']
241620 ['RPG', 'Indie', 'Isometric', 'Dark Fantasy', 'Singleplayer', 'Fantasy', 'Story Rich', 'Medieval', 'CRPG
408520 ['Adventure', 'Indie', 'Casual', 'VR', 'Puzzle', 'First- Person', 'Singleplayer', 'Sci- fi', 'Atmospheric',
244910 ['Atmospheric', 'Puzzle', 'Exploration', 'First- Person', 'Indie', 'Adventure', 'Horror', 'Mystery', 'W
245950 ['Action', 'RPG', 'FPS', 'Co- op', 'Shooter', 'Action RPG', 'Online Co- Op', 'Open World', 'Post- ap
经过数据清洗阶段的处理,我确保了数据集的准确性、一致性和完整性,为后续的
13
上海立信会计金融学院普通本科生毕业论文(设计)
特征工程、模型训练和评估提供了可靠的数据基础。
三、用户特征与游戏特征
(一) 用户特征提取与分析
1.Distribution of Games Owned by Users
下两图横坐标代表了游戏的数量,特别选取了横坐标从 100 到 500,而纵坐标代表
了拥有这些游戏数量的用户的频数。图中显示出一种负偏态分布,意味着大部分用户只
购买或拥有少量的游戏,而只有一小部分用户对游戏有更高的兴趣或需求,因此拥有
更多的游戏。
这种分布可能受到多种因素的影响,比如游戏的价格、用户的购买力、游戏类型和
品质等。一些用户可能受限于预算,只能购买少数几款心仪的游戏;而另一些用户可能
因为对游戏的热爱或收藏兴趣,愿意投入更多来购买更多游戏。
14
上海立信会计金融学院普通本科生毕业论文(设计)
15
上海立信会计金融学院普通本科生毕业论文(设计)
16
上海立信会计金融学院普通本科生毕业论文(设计)
比例较低,即他们可能更倾向于为较少的游戏发表评论,或者他们的评论并不频繁,
可能只是偶尔玩几款游戏并发表评论。而当评论与游戏比例接近 1.0 时,即用户几乎为
每款游戏都发表了评论,这样对多款游戏都有深入的体验并愿意分享自己评价的用户
数量相对较少。
17
上海立信会计金融学院普通本科生毕业论文(设计)
18
上海立信会计金融学院普通本科生毕业论文(设计)
(二) 游戏特征提取与分析
6.Distribution of Positive Rating Ratios
这张图片展示了游戏的积极评分比例分布情况。首先,我们注意到平均积极评分比
例为 77.13%,这表明大部分游戏在评分上表现良好,受到了玩家的积极评价。而积极评
19
上海立信会计金融学院普通本科生毕业论文(设计)
分的众数更是接近 90%。
20
上海立信会计金融学院普通本科生毕业论文(设计)
这种分布反映了游戏市场的定价策略。游戏开发商更倾向于保持较高的价格,只提
供有限的折扣来吸引消费者。同时,少数提供折扣的游戏可能是为了促销、清仓或特殊
活动而设置的。
对于消费者来说,可能意味着在购买游戏时需要仔细比较价格和折扣,以找到最优
惠的购买选择。
9.Distribution of Game Price Discounts
对于提供折扣的游戏而言,下图以柱状图的形式清晰地呈现了不同价格折扣的频率
分布。观察图表,我们不难发现,那些提供折扣优惠的游戏,其给予的折扣力度通常都
相当大,大部分能提供 1 折的优惠。而对于其他有折扣的游戏来说,它们的折扣设置则
更倾向于遵循整十的折扣规律。
21
上海立信会计金融学院普通本科生毕业论文(设计)
下图是一张关于游戏标签(tags)的词云图。词云图是一种展示文本数据的方式,
其中每个单词的大小表示其在原始文本中出现的频率或重要性。从这张词云图中,我们
可以看到以下一些主要的游戏标签:
1.类型与玩法:包括“ Strategy”(策略)、“ Action-Adventure”(动作冒险)、
“OpenWorld”(开放世界)、“RPG”(角色扮演)、“Based Tactics”(基于战术)、
“Turn-Based”(回合制)、“Female Protagonist”(女性主角)等。这些标签展示了游
戏的不同类型和玩法,从战略决策到紧张刺激的生存恐怖,再到经典的角色扮演,种
类繁多。
2.故事背景:包括“Survival”(生存)、“Adventure”(冒险)、“Dark”(黑暗)、
“Fantasy”(奇幻)等,这些标签揭示了游戏可能设置的故事背景和氛围。
3.游戏特色与风格:如“Great Soundtrack”(出色配乐)、“Replay Value”(高重玩
价值)、“Customization”(定制化)、“Indie”(独立游戏)、“ChoicesMatter”(选
择重要)等。这些标签反映了游戏在设计、内容和风格上的独特之处。
综合地看,这张词云图展示了多种游戏标签,涵盖了游戏类型、玩法、故事背景以
及特色等多个方面。它反映了游戏领域的多样性和丰富性,以及玩家和开发者在描述和
分类游戏时所关注的不同维度。同时也反映出游戏行业对于游戏分类缺乏一个严格的标
准,原始数据的(tags)下其实混杂着类型与玩法、故事背景、游戏特色与风格这三个不
同的维度。
23
上海立信会计金融学院普通本科生毕业论文(设计)
而以下的词云图展示了具有哪些标签的游戏是真正受欢迎的。
24
上海立信会计金融学院普通本科生毕业论文(设计)
25
上海立信会计金融学院普通本科生毕业论文(设计)
26
上海立信会计金融学院普通本科生毕业论文(设计)
四、推荐算法选择与实现
(一) 算法实现与优化
1 协同过滤算法(ALS)
1.1 实现概述:
协同过滤的实现使用了交替最小二乘法(ALS),此算法基于用户对游戏的历史评价数
据(推荐与否),构建一个矩阵分解模型,这种方法能够捕捉用户的偏好并预测未知
的评价,从而进行个性化推荐。
1.2 实现原理
ALS 分为显式反馈和隐式反馈两种,显式反馈是指用户有明确的评分。对于游戏推荐
来说,大部分是通过用户的行为,获取隐式反馈的评分。隐式反馈评分矩阵需要处理,
如果有用户评分则置为 1,否则为 0。
ALS 算法使用矩阵分解,它基本上是将一个大矩阵分解成较小的矩阵,其乘积等于原
始矩阵。对于具有隐式数据的推荐系统而言,矩阵分解在数学上将原始矩阵“所有用户
与所有内容”简化为更小的矩阵,分解为“所有用户与某些特征”和“所有内容与某
些特征”。这里提到的特征是指从数据中学习的,并不一定代表任何真是的元数据。ALS
是一个迭代优化过程,它试图在每次迭代中达到原矩阵 R 的越来越接近的因式分解表
达式(U × V)。
图 21 matrix factorization
1.3 模型抽象
如果用户对物品有明确的评分行为,那么可以用对比重构出来的评分矩阵和实际的
评分矩阵,便可以得到误差。由于用户对物品的评分缺失,仅以评分行为的物品去计算
误差。下面是显式反馈的代价函数:
其中,λ 为正则项系数。
1.4 算法求解
隐式代价函数是凸函数,而且变量耦合在一起,常规的梯度下降算法不能直接求解 ,
但是我们先固定 U 求得 V,再固定 V 求得 U,如此迭代下去,问题就得到解决:
隐式反馈求解:
模型的关键优化包括选择合适的潜在因子数量来平衡过拟合和欠拟合,以及调整
正则化参数以改善模型的繁华能力。数据预处理包括将布尔值转换为数值型,并采用系
数矩阵表示来提高计算效率。将数据集划分为训练集和测试集,并在训练集上训练 ALS
模型,在测试集上进行预测,并使用合适的评估指标(如均方根误差 RMSE)来评估模型
的性能。
28
上海立信会计金融学院普通本科生毕业论文(设计)
2 基于内容的协同过滤算法
实现概述:基于内容的推荐系统着重于分析游戏的标签值。通过 TF-IDF(词频-逆文
档频率)转换器处理游戏标签,并计算游戏之间的余弦相似度,以确定推荐的相关性。
该算法的优化关注于有效的特征提取,确保不同游戏之间的独特性得以体现。通过选择
恰当的 TF-IDF 参数,比如去除停用词,可以提升特征向量的质量。此外,通过优化相
似度计算过程,可以提升推荐系统的效率和准确率。
3 混合系统
将 ALS 协同过滤算法和基于内容的过滤算法相结合而形成的混合系统,可以充分利用
它们各自的优势。首先,使用 ALS 算法学习用户和物品之间的隐含特征,然后根据用户
的历史行为和偏好来生成推荐列表。其次,利用基于内容的过滤算法来补充推荐列表,
确保推荐的物品不仅与用户历史行为相似,还与用户喜欢的内容相关联。
(二) 模型评估与比较
ALS 算法(Alternating Least Squares)和基于内容的过滤算法(Content-Based
Filtering)是两种不同的推荐系统算法,它们在目标、方法和应用场景上有显著的区
别:
目标与方法:
(1)基于内容的过滤:这种算法重点关注单个用户的行为和偏好,以及物品的特征。
它通过分析用户以往对特定物品的喜好,来推荐具有相似特征的新物品。这种方法依赖
于对物品内容的深入理解和特征提取。
(2)ALS 算法:这是一种基于矩阵分解的协同过滤方法,主要用于处理用户-物品交互
数据。ALS 通过交替最小二乘法来分解用户-物品的交互矩阵,从而学习用户和物品的潜
在特征向量。它不直接依赖于物品的内容特征,而是通过用户群体的交互行为来推测用
户和物品之间的隐含关系。
数据依赖:
(1)基于内容的过滤:这种算法主要依赖于对物品特征的理解,如文本描述、分
类标签等。用户的历史行为(比如评分、购买)被用来与这些特征相匹配,形成推荐。
29
上海立信会计金融学院普通本科生毕业论文(设计)
总的来说,基于内容的过滤算法侧重于物品的特征和用户的个人偏好,而 ALS 算
法则侧重于从用户和物品的交互行为中学习潜在的偏好和特征。在实际应用中,这两种
方法常常被结合使用,以利用各自的优势,提供更加准确和多样化的推荐。
五、结果分析与讨论
为了比较用于生成推荐的不同算法,我们创建了一个脚本,这个脚本为每个用户
计算用户测试数据集中排名前 20 位的游戏数量与用户测试数据集中游戏总数的比率。
然后计算所有用户的比率的平均值。
30
上海立信会计金融学院普通本科生毕业论文(设计)
综合而言,ALS+CB(即混合系统)在这个测试数据集上表现最佳,推荐的游戏数
量最多且比率最高,而基于内容的过滤算法表现相对较差。而 ALS 算法在比率和推荐游
戏数量上介于两者之间。
我们实施了三种不同的推荐系统算法,分别是协同过滤算法(ALS)模型和基于内
容的协同过滤算法模型以及它们的结合,即混合系统。正如在评估与分析部分所示,对
于这个项目来说,混合系统根据我们的评估提供了最佳推荐。通过这个项目的经验,我
们更好地理解了协同过滤系统的工作原理。它确实不适用任何关于项目的信息,而完全
依赖于用户-项目交互和矩阵操作来生成推荐。除此之外,我们必须找到一种方法来处
理我们的数据集,因为它只包含隐式数据。为了消除一些噪声数据,我们使用奇异值分
解(SVD)作为降维技术,使得处理大型数据集更加容易,有效地避免了内存溢出的情
况。
31
上海立信会计金融学院普通本科生毕业论文(设计)
参考文献
[1]陈政.基于 Spark 的个性化音乐推荐系统的设计与实现[D].南京大学,2020.
[2]张坤.基于 Spark 机器学习的电影推荐系统的设计与实现[D].南京邮电大学,2022.
[3]许张贤.基于深度学习与对象感知的个性化电影推荐系统[D].南京邮电大学,2022.
[4]张鹏飞.基于数据挖掘的个性化电影推荐系统设计与实现 [D].杭州电子科技大
学,2022.
[5] 双 乐 珊 . 基 于 深 度 学 习 的 冷 启 动 化 妆 品 推 荐 系 统 设 计 与 实 现 [D]. 南 京 邮 电 大
学,2022.
[6]刘丹阳.结合知识图谱的个性化新闻推荐系统[D].中国科学技术大学,2022.
[7]刘文炎.联邦学习中差分隐私与推荐系统应用研究[D].华东师范大学,2022.
[8]关凯轩.基于大数据技术和深度学习的混合模式电影推荐系统设计 [D].东华大
学,2022.
[9] 杨 力 威 . 基 于 微 服 务 和 深 度 学 习 的 保 险 推 荐 系 统 研 究 与 实 现 [D]. 华 东 师 范 大
学,2022.
[10]姚振旭.基于深度强化学习融合社交网络信息的推荐系统[D].华东师范大学,2020.
[11]刘雯.基于深度学习的商品评论主题推荐算法研究与实现[D].华东师范大学,2022.
[12]周巧玲.基于深度学习的琉璃制品推荐系统的设计与实现[D].华东师范大学,2022.
[13] 于 佳俊 .基于 深度 学习的个性化 门店 推荐系统的设计与 实现 [D]. 华东 师范大
学,2022.
[14]王磊.基于深度学习的推荐算法与系统研究[D].北京邮电大学,2021.
[15]何蓉.基于卷积神经网络的音乐推荐系统[D].南京邮电大学,2019.
[16]杨浪.基于 Spark 的电影推荐系统设计与实现[D].北京邮电大学,2021.
[17]彭立涵.基于大数据平台的音乐推荐系统的设计与实现[D].哈尔滨理工大学,2021.
32
上海立信会计金融学院普通本科生毕业论文(设计)
33
上海立信会计金融学院普通本科生毕业论文(设计)
学报,2023,44(05):464-468+475.
[36]许天月,柳先辉,赵卫东.基于知识图谱与用户兴趣的推荐算法[J/OL].计算机科
学,1-13[2023-12-20]
[37]吴杰,姜宜鑫,韩国敬等.一种基于变分推断的可评判推荐算法[J].计算机技术与发
展,2023,33(10):150-156.
[38]李莉,聂文海,王浩楠等.基于机器学习的指标协同自适应推荐算法[J].信息技
术,2023,(09):119-124.
[39]王丽兰.基于 Apriori 算法的高职院校图书精准推荐系统[J].河北软件职业技术学
院学报,2023,25(03):6-9.
[40]丁婧娴,李翔,孙纪舟等.融合多特征和双向图分类的专家推荐方法[J].数据采集与
处理,2023,38(05):1214-1225.
[41]吴珂彤,贾双英,李恒博.基于 K-means 的个性化视频推荐方法研究[J].现代计算机,
2023,29(17):95-99.
[42] 宋 莉 . 面 向 在 线 学 习 的 个 性 化 学 习 资 源 推 荐 系 统 设 计 [J]. 兰 州 工 业 学 院 学
报,2023,30(04):85-90.
34
上海立信会计金融学院普通本科生毕业论文(设计)
附 录
35
上海立信会计金融学院普通本科生毕业论文(设计)
致 谢
本文是在钱佳威老师细致、耐心地指导下完成的。从论文选题到最终完成,钱佳威
老师给了我很多的建议和帮助,让我在完成论文的同时,学到了很多。在此,我衷心感
谢钱佳威老师在论文完成过程中给予我的帮助。
同时,我要感谢学校和信息管理学院所有老师在这四年大学学习生活中对我的教
导和帮助,让我在收获知识的同时,丰富了人生的阅历,在此,我由衷地向你们表示
感谢。
致谢人:
2024 年月日
36