推荐系统的比较研究外文翻译资料

 2023-08-09 04:08

Western Kentucky University

TopSCHOLARreg;

Masters Theses amp; Specialist Projects Graduate School

Fall 2019

A Comparative Study of Recommendation Systems

Ashwini Lokesh

Western Kentucky University, ashwinilok@gmail.com

Follow this and additional works at: https://digitalcommons.wku.edu/theses

Part of the Computer Sciences Commons, and the Engineering Commons

Recommended Citation

Lokesh, Ashwini, 'A Comparative Study of Recommendation Systems' (2019). Masters Theses amp; Specialist Projects. Paper 3166.

https://digitalcommons.wku.edu/theses/3166

This Thesis is brought to you for free and open access by TopSCHOLARreg;. It has been accepted for inclusion in Masters Theses amp; Specialist Projects by an authorized administrator of TopSCHOLARreg;. For more information, please contact topscholar@wku.edu.

A COMPARATIVE STUDY OF RECOMMENDATION SYSTEMS

A Thesis Presented to

School of Engineering and Applied Sciences

Western Kentucky University

Bowling Green, Kentucky

In Partial Fulfillment

Of the Requirements for the Degree Master of Science

By

Ashwini Lokesh

December 2019

I dedicate this thesis to my parents, Lokesh Narayanaswamy and Chandrika Lokesh, and my brother, Arjun Lokesh, who are a great inspiration to me and my biggest support system, also the reason for where I am today. A special mention to Shreyas Suresh Hassan, who has been ever so kind and patient throughout and kept me going. I would also like to thank my friends, Gayathri Suresh and Rutuja Chinchankar for guiding me through and being there for me during my stay at WKU.

ACKNOWLEDGMENTS

I would like to thank my advisor, Dr. Huanjing Wang for the constant support and being so patient. I really appreciate the freedom she has given me with exploring different concepts in recommendation systems. I specially thank my committee members, Dr. Guangming Xing who has helped me immensely to deal and handle various difficult situations during my studies, and Dr. Zhonghang Xia who has taught me to challenge and push myself further with every project from CS 500 (Proficiency) to CS 543 (Advanced Database).

iv

TABLE OF CONTENTS

Chapter 1. Introduction 1

1.1 The Origin of Recommendation Systems 1

1.2 What Does A Recommendation System Do? 2

1.3 How Does A Recommendation System Work? 3

1.4 Types of Recommendation Systems 5

1.4.1 Collaborative Filtering Recommendation System 5

1.4.2 Content-Based Filtering Recommendation System 8

1.4.3 Hybrid Recommendation System 9

1.5 Overview 10

Chapter 2. Background 11

2.1 Collaborative Filtering Based Method 11

2.1.1 User Based Collaborative Filtering (UBCF) 15

2.1.2 Item Based Collaborative Filtering (IBCF) 16

2.2 Content-Based Filtering Method 17

2.2.1 Vectors 18

2.2.2 TF – IDF 18

2.2.3 Similarity Measures 20

Chapter 3. Evaluation Criterion 22

3.1 Cross Validation 22

3.2 Root Mean Square Error (RMSE) 23

3.3 Mean Absolute Error (MAE) 25

3.4 Qualitative and Quantitative Analysis 25

Chapter 4. Literature Survey 26

Chapter 5. Experiments 28

5.1 Dataset 28

5.2 Methodology 32

5.2.1 Collaborative Filtering Based Recommendation 32

5.2.2 Content-Based Filtering Recommendation 32

5.2.3 Hybrid Recommendation 32

5.3 Result Analysis 33

5.3.1 Quantitative Analysis 33

5.3.2 Qualitative Analysis 38

v

Chapter 6. Conclusions And Future Work 41

References 42

lt;

剩余内容已隐藏,支付完成后下载完整资料


附录A 译文

简介

在当今的数字世界中,我们都会遇到推荐系统(RS)的大部分方面。本章研究了推荐制度的起源及其作用。详细讨论了不同的类别,每个类别的示例提供了更好的概述和理解。对不同类型的推荐制度进行了实证分析,得出了比较好的结论。此外,在本章的最后,我们将看到论文的组织结构以及在接下来的每一章中包含的内容。

推荐制度的起源

自早期文明时代以来,人们总是依赖于建议来做出每一件大事或小事的决定。无论是来自经验丰富的人的意见(推荐),还是两个或三个以上的人推荐的相同意见,都最有可能被这个人所采纳。在当今的互联网时代,推荐系统的出现也是基于这样的理念。推荐系统是根据终端用户的喜好或相似用户的喜好向终端用户提供推荐的工具。这将推荐系统分为两大类:基于内容的过滤推荐系统和协同过滤推荐系统。我们将在下一节中看到每一个类别。这些划分属于基于相似性度量的方法,而现在我们已经转向更复杂的方法,如机器学习和深度学习。随着推荐系统在电子商务、电影、音乐、图书和新闻推荐领域取得了令人鼓舞的成功,现在它已经广泛应用于其他两个领域,如旅游、银行等。表1显示了一些使用推荐引擎的流行站点。

表 1-1使用推荐系统的一些流行站点

网站

推荐什么?

Amazon

消费品

Netflix

电影和电视剧

Facebook

朋友推荐

CareerBuilder

工作

YouTube

视频

Tinder

日期

随着最近大数据不断增长的趋势,它给了一种方式去分析大的数据集和完成一个推荐系统。让我们了解一下推荐系统是做什么的以及它是如何工作的?

推荐系统的作用是什么?

根据[1]中的定义,“推荐引擎或推荐系统是信息过滤系统的一个子类,其试图预测用户将给予某一项目的“评级”或“偏好”。并且一旦做出预测,就根据预测的结果向用户提供推荐或建议。虽然这听起来很简单,但它的具体工作原理还有更多内容,我们可以在下一节中看到这一点。

推荐系统如何工作?

推荐系统的主要目标是为终端用户和特定项目建立一个目标函数或数学模型。这个目标函数应该能够衡量项目对用户的有用性。这就形成了一个推荐系统,通过优化目标函数,我们还可以得到一个更好的推荐系统。图1显示了目标函数。为了构建这个系统,我们首先收集用户数据。数据可以显式或隐式收集。隐式数据可以从订单历史记录、对某些项目的点击或歌曲被收听的次数中收集,而显式数据则从评级和来自用户的反馈中获得。

图1推荐系统的目标函数

构建推荐系统的三个主要步骤是:加载和格式化数据,计算用户之间或项目之间的相似度,预测用户的未知评分。如之前所述,可以显式或隐式地收集数据,并且随着可用数据的增加,推荐系统会变得更加优化。对于非结构化数据,可以将该数据存储为NoSQL格式,对于结构化数据,可以将其存储为SQL表。在最新的技术中,云端被用来存储数据,并且可以很容易地检索到。数据将被格式化:在大多数情况下,用户项目集被转换成称为评级矩阵的矩阵。在这里,终端用户用行表示,而产品用列表示,每个单元格值都指向特定用户对产品的评分。

然而,我们应该明白,并不是每个用户都会喜欢或评价每一部电影(产品)。所以从本质上讲,这个矩阵是一个非常稀疏的矩阵,现在问题出现了,我们如何找到缺失值?在这里,我们将使用不同的相似性度量来查找缺失值。一旦获得用户或产品之间的相似度,就可以预测未知的评级。例如,假设我们想要预测Abbey对Product 1的评分,我们将发现Abbey与所有与他最相似的其他用户之间的相似性。在找到与Abbey相似的前N名用户后,我们将计算Abbey可能给她没有评级的产品打了多少分。可以对数据集中的每个用户重复这些步骤。要计算未知的评分,有几种方法,我们可以使用一些简单的方法,比如计算类似用户给出的该产品的所有评分的平均值。这解释了推荐系统工作的基础。

推荐系统的类型

有几种构建推荐系统的方法,这些方法根据应用程序的需要进行划分。虽然推荐系统的类型很多,但主要分为三类:协同过滤、基于内容的过滤和混合推荐系统。在本节中,让我们看看这些类型中的每一种。

1.4.1协同过滤推荐系统

在技术方面,推荐引擎正在从机器学习方法转向更先进的神经网络和深度学习方法。协作过滤的理念非常简单;给定用户的评比,找到所有相似的活跃用户,这些活跃用户在过去具有相似的行为,然后在考虑相似用户的偏好或品味的同时,通过对尚未评比的活跃用户的相似用户为由,做一个关于未知产品的预测。我们首先计算其他用户与活跃用户的相似度,然后根据预测将用户社区中未评级的项目推荐给用户。在这里,活跃用户是系统向其提供推荐的人。在这些类型的系统中,主要参与者是用户和产品信息,如评分、排名和对产品的喜好。图2表示基于协同过滤的推荐系统。

图 2基于协同过滤的推荐系统

协作过滤主要有两种风格:基于用户的协同过滤(UBCF)(如图3所示)和基于项目的协同过滤(IBCF)(如图4所示)。顾名思义,相似性被衡量介于用户和项目前后者之间。这些RS背后的基本概念是,如果用户喜欢某个项目,他也最有可能喜欢类似的项目,如果两个用户相似,他们最有可能有共同的兴趣。在UBCF中,计算用户之间的相似度,将未评分的项目推荐给相似的用户。在IBCF中,计算项目之间的相似度,并将未评级的相似项目推荐给活跃用户。

图3 基于用户的协同过滤(UBCF)

图4 基于项目的协同过滤(IBCF)

对于协同过滤,我们需要与应用程序交互的用户集合、项目信息和每个用户对项目的评分。协同过滤中不需要有关项目的详细信息,因此可以很容易地开始。然而,这种在向没有任何评级信息的新用户推荐时,面临着冷启动问题。

1.4.2基于内容的过滤推荐系统

图5描述了构建基于内容的过滤推荐系统,该系统包括三个主要步骤:生成产品的内容信息、生成与产品的特征相关的用户资料和偏好、以及生成推荐并预测用户可能喜欢的项目列表。在项目数据存储生成中,提取代表产品的产品特征。这些功能可以是结构化数据,也可以是非结构化数据。例如,在电影的情况下,每部电影的项目数据存储可以由不同类型组成。这是通过创建一个以项目为行、类型为列的矩阵来实现的。二进制表示法用于显示电影是否属于某一类型(用1表示)或不属于(用0表示)。在用户数据存储生成步骤中,建立与产品内容相匹配的偏好矩阵,并将用户数据存储和项目数据存储进行比较并计算它们之间的相似度。冷启动问题很容易处理。

图5 基于内容的过滤推荐系统

1.4.3混合推荐系统

混合式推荐系统的出现是由于前几种推荐系统各自的局限性。因此,出现了几种将协同过滤和基于内容的过滤相结合的策略,称为混合推荐引擎,如图6所示。在使用的各种方法中,加权方法是最常用的。首先,从每个结果中获得推荐结果的组合,并对这些结果中的每个结果分配相等的权重,并在评估用户对推荐的响应之后逐渐调整权重。特征组合方法是另一种流行的方法,其中将来自基于内容的过滤的用户数据存储与用户项目评级信息组合,并考虑一种新的策略来构建混合推荐系统。

图6 混合推荐系统

1.5概述

本文对不同类型的推荐系统进行了实验研究,得到了不同的实验结果,展示了不同类型推荐系统的性能。在第一章中,我们看到了RS的功能以及它的工作原理。第二章讨论了实现推荐系统所需的概念。在第三章中,我们详细阐述了我们在实验中使用的评估技术和度量标准。第四章,介绍了这一领域的主要研究成果。第五章对数据集、方法和结果进行了分析。然后我们得出结论,并在第6章中完成以后的工作。

背景

基于协同过滤的方法

协同推荐系统与基于内容的过滤推荐系统一样,是目前最常用的推荐系统之一。根据文献[2]的定义,“协同过滤(CF)是推荐引擎背后的预测过程。推荐引擎分析具有相似品味的用户信息,以评估目标个人将喜欢某些东西(如视频、书籍或产品)的概率。协同过滤也称为社交过滤。正如我们在第一章中已经看到的,协同过滤的第一步是预测用户的未知评分,这些预测是基于用户的历史行为,具体地说,就是用户根据过去的经验对一组项目的偏好。协同推荐系统可以在定义评级的方式上彼此不同。它们可以是二元的,关注的是观点随时间、模型或记忆的变化。有几种协同过滤方法,其中角色会根据方法的不同而变化。

可以用于协同过滤的两个非常基本的算法是NormalPredictor和BaselineOnly。NormalPredictor算法基于假设为正态分布的训练集的分布来预测随机评级。BaselineOnly算法预测给定用户和项目的基线估计。

还有多种基于k-NN的算法。K-NN是一种非参数、懒惰的学习方法。它使用一个数据库,其中的数据点被分成几个簇,以对新的样本进行推理。K-NN不对底层数据分布做任何假设,但它依赖于项目特征相似度。例如,当kNN对一部电影进行推理时,k-NN会计算目标电影与其数据库中所有其他电影之间的“距离”,然后对其距离进行排序,并返回最接近的k部电影作为最相似的电影推荐。该算法有考虑每个用户的平均评分或每个用户的z分数标准化。

接下来,还有基于矩阵分解的算法,如奇异值分解(SVD)、具有隐式评级的奇异值分解和非负矩阵分解。SVD算法等价于概率矩阵分解。在这项工作中,我们使用了奇异值分解(SVD)算法。

在下面的算法(图7)中,交互矩阵被分解为两个小矩阵,一个用于用户,另一个用于具有一定数量的潜在成分(通常为数百个)的项目。

接下来,有基于矩阵分解的算法,例如奇异值分解(SVD),具有隐式评级的奇异值分解和非负矩阵分解。 SVD算法等效于概率矩阵分解。 在这项工作中,我们使用SVD算法。

在以下算法(图7)中,交互矩阵分解为两个小矩阵,一个用于用户,一个用于具有一定数量潜在成分(通常为数百个)的商品。

图7 基于矩阵分解的推荐算法

(u,i)评级是通过将这两个小矩阵相乘得到的。有几种方法可以分解矩阵并对其进行训练。上面显示的是一种简单的梯度下降技术。采用随机梯度下降法、交替最小二乘法或坐标下降法可以使误差最小。也有基于奇异值分解(SVD)的方法,其中排名矩阵被分解成三个矩阵。

SVD是一种矩阵分解技术,通常用于通过将空间维数从N降低到K来减少数据集的特征数量,其中Klt;N。然而,对于推荐系统,我们只对保持相同维数的矩阵分解部分感兴趣。矩阵因式分解是在用户-项目评级矩阵上完成的。从高层次上看,矩阵分解可以看作是找出2个乘积为原始矩阵的矩阵。

每个项目都可以用向量“ qi”表示。 同样,每个用户都可以用一个向量“ pu”表示,这样这两个向量的点积就是预期的评分。

公式 1

“qi”和“pu”可以以这样的方式找到,即它们的点积与用户-项目矩阵中的已知评级之间的平方误差差是最小的。

公式 2

为了使我们的模型能够很好地推广,而不是过度拟合训练集,我们在最小化方程中引入了一个惩罚项。这由正则化因子lambda;乘以用户和项目向量大小的平方和来表示。

公式 3

为了说明此因素的用处,假设我们有一个极端情况,其中给电影一个低的评比,而该用户没有进行其他的评比。该算法将通过给lsquo;qirsquo;一个较大的值来最小化误差。这将导致该用户对其他电影的所有评分都非常低。这在直觉上是错误的。通过将向量的大小添加到方程中,赋予向量较大的值将使方程最小化,从而将避免此类情况(更多信息请参见此处)。

为了减小预测值和实际值之间的误差,该算法利用了数据集的一些特性。特别地,对于每个用户-项(u,i)对,我们可以提取3个参数。micro;是所有项目i的平均评级减去micro;,lsquo;bursquo;是用户u减去micro;给出的平均评级,从而得出预期评级:

公式 4

因此,最小化的最终方程为:

公式 5

使用随机梯度下降算法将上述方程最小化。从高层次的角度来看,SGD首先给出我们试图最小化初始值的方程的参数,然后迭代以减小预测值和实际值之间的误差,每次将先前的值修正一个小因子。该算法使用一个称为学习率gamma;的因子,该因子在每次迭代后确定旧值和新计算值的比率。实际上,当使用高gamma;时,可能会跳过最优解,而当使用低gamma;值时,需要大量迭代才能达到最佳值。

2.1.1基于用户的协同过滤(

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[606738],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

课题毕业论文、文献综述、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。