首页 家电市场 推荐系统的隐私保护算法的研究

推荐系统的隐私保护算法的研究

  无论是人们的工作还是生活,都深受网络科技的影响,甚至可以说网络科技带来了一场深刻的革命,在一定程度上改变了人们传统的生活方式和生活节奏;另一方面,大量信息鱼龙混杂,充斥着网络空间,在对互联网依赖程度越来越高的今天无疑会给人们的日常生活带来极大的不便,在此背景下,推荐系统应运而生。所谓推荐系统,指的是根据用户日常的访问喜好,在下次访问时有针对性的提供和推荐其偏好的信息,是一个可以帮助用户有效解决信息筛选困难问题、降低时间成本的工具。但个人偏好往往又与个人隐私密切相关,也就是说,在解决了用户信息筛选问题的同时,也可能造成了隐私信息的泄露,若不进行相关处理,极有可能带来严重的后果,特别是最近几年,相关隐私泄露案例呈现逐年递增的态势,给人们的生活带来诸多的困扰。因此,在推荐系统中融入隐私保护技术是完全必要的,具有重要的现实意义。基于此,本文从两个方面对推荐系统的改进问题进行了深入的研究和探讨:

  首先提出一种基于差分隐私保护的谱聚类推荐算法。针对电子商务系统中传统协同过滤推荐算法面临的稀疏性、准确性、实时性及隐私泄露问题,利用累计分布函数生成满足拉普拉斯分布的随机噪声,将该噪声添加到经过谱聚类算法计算的样本相似度的函数中,该算法在保证推荐质量的同时有效改善了推荐系统的安全性。

  其次提出一种基于推荐的社交媒体数据发布的隐私保护框架。针对FM推荐算法的特性,提出距离度量KFC,约束数据失真,提出了PrivFM,一个可定制的、连续的、保护隐私的社交媒体数据发布框架,通过扰乱用户发布的活动数据,防止推理攻击,同时保证推荐效用。除了可以有效的维护网络用户的隐私安全之外也能获得理想的推荐效应。

  第1章绪论

  1.1研究背景与意义

  1.1.1研究背景介绍

  互联网的广泛应用使人类社会进入到了移动互联时代,从根本上改变了人们传统的沟通、购物等工作和生活方式,在一定程度上降低了人们的时间成本,提高了工作效率。但事物皆有其两面性,互联网在为人们提供极大便利的同时,各式信息充满了互联网空间,令人真假难辨,搜索筛选有用的信息变得极为困难;百度等搜索引擎的出现在一定程度上缓解了此问题,但问题并未从根本上得到解决,因为通过同一关键字的快速检索,搜索到的结果是完全相同的,而事实上,即使输入的是同一关键字,不同用户的需求也会有很大的差异,导致用户付出了大量的时间和精力只找到了少量,甚至完全未找到所需要的信息,所以说,百度等搜索引擎已经无法更好的将人们所需要的个性化内容展现出来。

  在线内容现在体现出越来越强烈的个性化趋势,比如Amazon对知情的客户的购买情况进行了详细的记录,它们据此向他们推荐商品。与此同时,脸书也根据个人的兴趣爱好对新闻进行了重新排序,具备这一类个性化特征的引擎称之为推进系统。推荐系统严密的追踪用户和系统的各种各样的交互行为,在此基础上形成匹配,并试图对用户的爱好兴趣进行推断,以便能够筛选出用户所需要的信息,将垃圾信息进行自动过滤。现如今推荐系统遍及各处,公司在开展业务的时候已经将其作为核心机制。Netflix目前有广泛的采用推荐系统,这个系统可以为其潜在客户提供个性化的观影体验,一大批的观影者因此培养了粘性,与此同时,亚马逊为了提高销售额也大力引入了推荐系统。推荐系统如此受欢迎,其关键原因在于两点:第一推荐系统采用了非常高效的信息过滤技术方式,网民能够精准的找到其需要的内容,这也是推进系统的魅力所在;第二,推荐系统可以量身定制,根据客户个人的兴趣爱好来定制产品。

  一般来说,推荐系统可以记录网名浏览商品的痕迹,记录其爱好习惯,从而有针对性的推荐满足其需求的商品,一旦用户将商品放入到购物车,则推荐系统立即就会将类似的产品向用户主动的推荐,从而吸引他们的购买兴趣,一方面推进系统改善了电商网站的销售模式,另外也方便了用户。从目前的技术层面来看,推荐系统有三种主流方式:基于协同过滤的推荐算法、基于内容的推荐算法以及基于混合推荐的算法。协同过滤推荐算法在为特定用户进行推荐内容的时候,主要是向用户推荐有爱好相同或相似的用户信息,并将它们作为推荐依据。基于内容的推荐系统则将关键词特征从商品的项目描述中提取出来,并且构建好全方位的用户爱好模型,有的放矢地将目标商品推荐给客户。混合技术则将前面几种技术综合运用起来,将每一种技术的优点放大。传统的推荐系统在商品推荐的时候利用的因素非常单一,那就是评分信息用户的评分信息一般来说非常稀疏,尤其是当用户的评分数量不多的时候推荐准确度会直线降低。社交网络的发展速度十分快,推荐系统创造了无限可能,利用社交网络当中广泛存在的各种用户联系,可以有效的弥补评分信息的缺失带来的影响。

  推荐系统引发用户信息泄露的原因是多方面的,既可能是服务方有意的泄露,也可能是无意的泄露,还可能是服务器遭到了黑客攻击。文献表明用户的个人信息如性别、年龄及宗教信仰等较为隐私的信息,能够通过用户所观看电影的内容及类型推断出来。通过其对医疗产品的评价或喜好,攻击者能够非常容易的分析出其身体健康状况。文献表明,攻击者在对目标用户的相关信息了如指掌的前提下,创建出一个虚假的与其评分相同的用户,并通过对推荐系统输出结果或项目相关性列表的观察,分析出目标用户的行为历史和评分信息。

  不仅仅是在数据发布和数据提供的过程中存在隐私泄露风险,在其他方面,隐私泄露的风险也是无处不在,因为互联网是完全开放的,即使推荐系统对用户信息的收集和存储等环节都进行了相关的保密处理,但归根结底,其提供给用户的推荐结果不是从天而降的,而是从他人的个人信息中获得的,从而为心怀不轨之人创造了条件,通过伪造虚假用户的手段窃取用户的隐私信息。比较危险情况是,推荐系统的算法模型及其参数在被攻击者攻破,再通过一些社交网络平台获取用户对于某种物品或者消费以后的评分信息以后,则推断出用户剰下的评分历史会如同探囊取物般容易。可以说,攻击的方法多种多样,不胜枚举,其中针对协同过滤的KNN攻击最为常见,其攻击过程大致可以概括如下:

  攻击者为了达到某一个目的,创作出k个伪造用户,接着移植一部分用户的评分记录到伪造用户上面,对任何一个伪造用户而言,其k个最相似用户是其余的伪造用户以及目标用户的概率是非常大的。正因如此,攻击者对每一个伪造用户的商品推荐详细列表进行查看,此时这些列举出来的商品信息就可以作为目标用户曾经评分过的商品的证据,很显然这种行为严重的损害了用户的隐私信息。

  如果推荐系统所采取的技术是基于协同过滤技术,其典型特点是用户评分矩阵尾数不是很高,对基于协同过滤技术的推进系统,采取KNN攻攻击方式效果十分明显,通常而言,攻击者手上所拥有的部分评分数据只要满足条件,他就可以实施攻击。在上述公式当中,用n来表示数据集中用户的规模,有如果数据集达到了上千个用户的规模,则m的值只要取8就可以了,该值非常容易获取。换句话说,如果推荐系统的推荐结果可以被攻击者人为的进行更改,那么这种攻击所带来的后果将会更加严重,尤其是对于那些不够完善的系统攻击者,可以随意的篡改历史评分数据。

  对推荐系统而言,用户的隐私泄露很有可能是遭受KNN攻击所导致的,但这并不是唯一的方式,可能出现有些不法商家为花钱雇佣专门的人员虚构用户记录,他们采用这种违法方式误导了其他的用户,使他们获得了不真实的推荐结果,自己的产品被过多的推荐,虽然这种产品的评价口碑都不是很好,并且与用户的真实需求大径相庭,但是通过操纵这些信息以后,依然被强塞推荐给用户。除此之外,攻击者还可以通过其他的手段对其竞争产品,伪造很多差评,这种方式在一定程度上降低了竞争对手的产品出现了概率,使得他们被推荐的概率很低,用户不能获取到此类产品,这种方法被称为托攻击。如果不加限制的话,推荐系统就会沦为一个乱发广告的平台,其结果也不能反映客观事实,使得整个推荐系失去信任,推荐结果得不到保证,违反推荐系统的初衷,严重扰乱市场的正常运行。除了在大量的网站上会出现这种情形之外,各大电商平台也有这种情况出现,此时很多商家都会排斥使用这样的推荐系统。

  推荐系统的出现为人们生活和工作带来了很大的便利,这一点不可否认,但随之出现的隐私泄露问题也万万不可忽视。推荐系统若想提升推荐质量,则必须以不断的收集用户隐私信息为基础,比如前一个月的网购记录、观影信息及评价等。只有掌握了该用户更多的信息,才会使所推荐的信息更接近于其偏好,推荐质量才会更高,但信息泄露的风险也会随之加大。所以,对推荐系统而言,并不应该只是追求所谓的推荐质量,而是应该探索怎样尽最大可能的保护好用户的个人隐私。因此,推荐系统中出现的隐私保护问题,已经引起社会的高度重视,成为数据挖掘领域中迫切需要解决的重要问题,当前对此问题进行深入的研究和探讨具有重要的现实意义。

  1.1.2研究意义

  对于推荐系统而言,确保推荐质量和客户隐私信息安全并不矛盾,也是其不可推卸的责任义务。一方面,在推荐系统中,采取有效的隐私保护技术,使得用户在上传自己的信息时毫无顾忌,并且乐意分享自己的真实数据,以便得到更好的推荐结果,另一当面,真实数据更便于推荐系统进行训练,提升推荐质量,从而更好的满足用户的需求。而用户对推荐系统的信心和参与度又会随着良好的用户体验不断提升,从而乐于将更多隐私信息分享给推荐系统,进而形成一个良性循环。基于此,对推荐系统的隐私保护进行探讨,不仅有利于当前推荐系统提升推荐质量,更有助于其实现可持续发展。

  如何从技术上将推荐系统的隐私水平提高到一个更高的层次,这是目前众多学者所关注的问题,同时也是一个比较困难的问题。用户信息的隐私保护历来就是一个严肃的问题,它不仅仅指的是用户记录当中的那些极为重要的敏感信息,那些分明的信息也有可能会通过非法手段利用起来,比如通过数据匹配来发掘不同的数据之间的内在联系,从而将它们和特定的对象联系起来。从现在的情况来看,比较普遍的隐私保护技术可以分为三类:第一,基于数据加密技术。第二,杜绝敏感数据的流出。第三,通过增加内容从而使数据在一定程度上失真。应用比较广泛的传统隐私保护方法有如下几种:k-匿名,l-diversity,t-closeness,(a,k)-匿名,M-invariance等。它们在一定的范围内可以做到很好的隐私保护,与此同时,原始数据当中的一部分有用信息也被很好的保留下来,但是它们都是基于建设某种攻击模型得到的,因此它们的共同特点就是对细节数据保护的非常好,这可以有效的避免攻击者获取大量的有用数据,这是它们的隐私保护机制,但是在现实情况当中攻击模型是非理想化的,攻击者所拥有的背景知识是很难预料的,当数据规模非常庞大的时候,加密技术也失去了用武之地。

  2006年Dwork所提出的一种差分隐私保护机制,即很好的解决了这一困扰业内多年的问题,首先定义一个极为严格的攻击模型,同时将噪音添加到原始信息或统计数据当中,从而达到保护用户隐私的目的。换言而知,即使在攻击者已经掌握了用户所有的背景知识的情况下,合法用户的隐私数据也能得到完全的保障。因此,该机制一经提出,很快引起了业内的广泛关注,并被国内外的很多学者作为了重点研究对象。但从当前情况来看,国内的研究进展情况并不乐观,仍然停留在基础理论和数据发布领域的研究,对数据挖掘方面的应用研究较少有人涉猎,尤其对于隐私保护的研究更是少之又少。由于该机制实现隐私保护的手段是添加噪声,若是噪声使用不尽科学合理,会导致数据信息可用性降低,甚至于无法使用,所以,其在现实应用过程中,必须充分结合实际算法,一方面保证了用户的隐私安全,还能够将这些数据信息挖掘出来提高其效用,基于信息论的隐私保护方法也被提出,通过条件熵、互信息等熵的度量方法,能够定量地衡量隐私泄露,并基于这些度量方法设计隐私保护机制。虽然差分隐私的概念比信息理论的概念更严格(即,针对具有任意背景知识的攻击者),且后者更直观易懂,并且符合许多应用领域的实际需求。特别是,信息理论可以提供直观的指导方针,通过观察和分析用户的公共数据(即从公共数据泄露的私人数据),定量地衡量对手可以了解的用户私人信息的数量。

  所以说,差分隐私保护、信息论的隐私保护方法及推荐算法的有机结合,不仅能够在很大程度上提升推荐算法的准确度,而且能够实现对隐私信息的有效保护,无论是在理论层面,还是在现实应用中都具有重要意义。

  1.2国内外研究现状

  在本节中,重点阐述了国内外在隐私保护推荐算法、基于差分隐私保护的推荐方案及基于信息论的隐私保护推荐方案等方面的内容。

  其实,对推荐系统隐私保护问题的关注由来已久,国内外对其研究也从未停止,只是研究的过程过于坎坷,研究成果也不是非常的显著。在国外,对此方面问题的研究起步较早,Narayanan与Shmatikov是对推荐系统进行隐私保护开展研究的先行者之一,在研究中,开创性的提出了对用户隐私攻击手段的假象,即假设用户的其他相关信息,已经被攻击者获取,比如用户曾参与过评价的物品、评分及评价的时间等等,然后攻击者将匿名化评分数据与已掌握的辅助信息进行对比,根据二者之间的相似性,准确还原了匿名数据中的原始数据。而Calandrino则分别探讨了在Hunch,Last.fm,Amazon三家公司中所使用推荐系统中存在的隐私问题,其运用背景知识创建了一个除些许噪声之外几乎与目标客户同样的账户,经过分析,其认为一个用户所进行的新的操作能够对推荐系统对于其他相似用户的推荐结果产生重要影响,所以,利用对假想用户推荐结果变化情况的分析,完全能够判断出目标用户当前所进行的操作。

  1.2.1基于差分隐私保护的推荐算法研究现状

  从当前情况来看,Dwork所提出的差分隐私技术受到了业内的普遍认可,并且有越来越多的专家学者以其研究成果为基础,对此展开了更深层次的探讨,以求其能够更加完善,使其更有效的保护推荐系统,从而完美的解决困扰人类已久的存在于推荐系统中的相关隐私保护问题。

  McSherry等首先将差分隐私保护技术巧妙的应用到协同过滤推荐算法当中。通过将差分隐私机制应用到用户、项目的平均评分以及在用户相似度矩阵的计算过程中,达到隐私保护的目的,并且基于处理后的数据为用户进行推荐服务。之后,郑等将差分隐私保护技术应用到矩阵分解的推荐算法当中,通过将拉普拉斯噪音分别添加到项目相似矩阵及梯度求解的过程中,来达到保护用户隐私的目的,并确保实验验证推荐算法的有效性。Xu等人构建了一个目标函数,采用差分隐私机制来保护矩阵分解算法,Yang等人提出的推荐方案是基于差分隐私的拉普拉斯机制,在处理用户的历史记录数据的时候采用的是随机扰动的方法,在此基础上生产新的数据,但是它的缺点就是噪声的加入可能导致不可控的后果。Friedman等人提出了一种插入两个扰动的隐私保护框架,也是基于差分隐私的拉普拉斯变换,其推荐算法是保护协同过滤算法,有效的避免了用户的推理攻击威胁,在分析矩阵分解推荐算法的时候应用了差分隐私保护技术,在文献中,研究的重点就是采用差分隐私保护技术,在矩阵分解当中实施数据的隐私保护。扰动方案有很多种,下面列举提出主要的四种,它们分别是输出扰动方案随机、梯度扰动方案、输入扰动方案和ALS差分隐私保护方案,该方案由Xian等人等人提出,其核心算法是SVD算法。

  Zhu等人在推断协同过滤推荐算法的时候也应用了查分隐私保护算法,他们的研究的重点是将拉普拉斯机制应用在用户相似度比较高的时候,在邻居选择的时候也采用了该技术。Hua等等人提出了目标函数的扰动方法,具体来说,将其应用在矩阵分解的时候,将用户评分矩阵实施分解之后可以满足差分隐私,最后将项目因子矩阵发布之后进行评分预测,该结果可以作为用户提供推荐服务的依据。彭慧丽等在聚类的过程中引入拉普拉斯机制,进而提出了具有隐私保护的社交网络项目推荐方法,并解决了传统匿名化方法过分依赖知识背景的问题。何明等人通过在协同过滤推荐系统引入满足差分隐私保护的评分矩阵分解机制。综上,差分隐私通过添加满足特定分布的随机噪声使数据一定程度失真,从而达到隐私信息保护的目的。

  1.2.2基于信息论的隐私保护的推荐算法的研究现状

  为了解决信息通信中的信息量化问题,Shannon提出了信息熵理论,这一理论在现阶段也在隐私保护研究中广泛应用:Diaz和Serjantov等人提出了使用信息熵来衡量匿名通信系统的匿名效果,首先假设攻击者的目的是确定发送(接收)者的真实身份,因此攻击者需要猜测系统中所有用户的身份,系统中的每个用户都具有一定的概率被认定是接收消息或者发送消息的用户,信息熵则被用来量化系统的隐私水平。此后,越来越多的学者将信息熵作为一种隐私度量的方式来使用,并且广泛用于在位置服务、社交网络和数据挖掘等领域。

  32

  近年来,基于信息论的隐私保护方法也被用于推荐系统中,他们试图基于各种基于熵的度量(如条件熵和互信息)定量地测量隐私泄漏,并基于这些度量设计隐私保护机制,提出了几种隐私保护信息熵模型。在现有的文献中,数据模糊方法主要是通过使用欧几里得距离、肯德尔等级相关系数距离等指标来限定数据失真,从而确保数据的实用性。它们类似于限制对项目预测用户评级的损失,目标是将预测评分和用户实际评分之间的整体差异减少。

  1.3课题研究内容

  本论文的主要工作是针对推荐算法中的隐私保护问题进行研宄,即对推荐方案的隐私性和推荐结果的实用性两个方面进行了探讨,对于前者主要是分析其中所存在的安全隐患,对于后者则主要是分析结果准确度的问题,同时提出了相应的改进策略,希望所设计的推荐方案能够实现安全性和准确推荐结果在一定程度上的统一,进而设计出更加完美,更加符合现实需求的隐私保护推荐方案。在本文中主要阐述了以下的内容和观点:

  (1)、介绍带有差分隐私保护的谱聚类推荐算法。利用谱聚类算法和累计分布函数能够解决传统的算法当中三个典型问题,即数据稀疏性问题,准确性问题和实时性问题,其作用在于:1、利用累计分布函数生成随机噪声如拉普拉斯分布;2、利用谱聚类算法对含有噪声的数据进行样本相似度的函数运算。通过设计实验对比,发现基于差分隐私保护的谱聚类推荐算法较传统协同过滤推荐算法而言,在均方根误差(RMSE),平均绝对误差(MAE),召回率(recall)和准确率(precision)等多个评价指标下具有优势。

  (2)、本文介绍了一种可定制、连续的隐私保护的社交媒体数据发布框架,通过发布模糊的用户活动数据,不断地保护用户指定的数据免受推理攻击,同时仍然确保所发布数据的实用性,以增强基于因子分解机的推荐。为了提供定制的保护,我们学习了最佳的数据混淆方法,以便将用户指定的私有数据的泄漏降到最低,为了确保数据实用性,减少特征间的关联性的损失,我们使用类似于Kendall-t距离来限制数据混淆过程中产生的关联度损失KFC。我们通过大量实验证明PriFM框架可以提供对私有数据的有效保护,同时还可以为基于因子分解机的推荐用例保留已发布数据的效用。如何平衡隐私保护和推荐质量两者之间的关系是本文的研究重点之一。

  1.4论文章节安排

  第1章绪论。对推荐算法隐私保护的研究意义课题的背景以及目前该领域的国内外研究现状和趋势进行了详细介绍,而且对本文的研究框架和研究内容进行了阐述。

  第2章描述推荐算法及隐私保护技术。2.1节介绍几个传统的推荐算法方法。综合阐述了其使用的技术和优缺点;2.2节介绍隐私保护技术的实现;2.3节对本章的内容做总结。

  第3章提出基于差分隐私保护的谱聚类推荐算法。3.1节介绍谱聚类算法及聚类过程中使用的距离度量;3.2、3.3节介绍相似度改进方法及差分隐私在谱聚类算法中的应用方式,并分析聚类过程中可能造成的损失;在3.4节中,介绍本章的算法;在3.5节,通过实验证明本算法;最后,3.6节对本章的内容进行总结。

  第4章提出一种基于推荐的社交媒体数据发布的隐私保护框架。4.1节一些基础理论;4.2节介绍PriFM框架设计的流程;4.3节介绍历史数据发布算法和在线活动数据发布算法;4.4对本章算法进行实验验证,在公开的数据集上进行实验;最后,4.5节总结本章的主要内容。

  最后,在本文的结论部分,总结了本文的基于差分隐私谱聚类的推荐算法和基于推荐的社交媒体数据发布的隐私保护框架等两项成果的优势,并客观分析这两个算法的不足,指出其改进空间和未来研究方向。

  1.5本章小结

  第1章绪论

  本章从阐述本课题的研究背景入手,并分别对国内外的研究现状进行了论述,然后总结了本课题的研究目的和主要研究内容;最后,对本文章节的安排情况进行了详细的说明。

  第2章相关理论与算法介绍

  2.1推荐系统技术

  推荐系统的推荐原理即是充分利用了所收集到的用户的隐式或显式的信息,来实现对用户偏好的判断,从而为其推荐出高质量的信息。当前,一般通过数据挖掘技术,并根据用户历史行为数据构建起一个用户偏好模型,从而实现用户和其偏好项目的对应一致,进而实现具有一定质量的差异化推荐,这项技术目前已经应用到人们生活和工作的方方面面,而且可以有效的解决信息过载问题,系统的推荐过程分别由三部分构成:数据收集模块、推荐模块、产生推荐模块,其推荐引擎工作原理如图所示:

  用户信息(年龄、学历、职业)

  偏好信息(评分数据、浏览记录)

  项目信息(类别、

  特点、详细介绍)

  推荐引擎

  用户1

  项目1

  用户2

  项目2

  用户3

  项目3

  用户4

  项目4

  图2-1推荐引擎工作原理

  Fig.2-1Howtherecommendationengineworks

  2.1.1协同过滤推荐算法

  该方法指的是充分利用人们之前的偏好数据或信息作为推荐的基础和前提,按照数据源主体的不同,可以将算法细分为两类,一是基于用户的协同过滤方案,二是基于项目的协同过滤方案,前者的最大优势在于其相对的简单合理性,且推荐结果的准确率较高,其劣势在于其可扩展性相对较低,也就是说,如果数据稀疏,则可能会对搜寻邻居带来一定程度的影响。众所周知,在现实生活中征求意见的对象往往是兴趣相近的人,基于此,推荐系统从所收集的信息中筛选出兴趣相近的用户,并将其聚集起来形成一个相似用户圈,彼此推荐他人尚未发现的新项目。如下图所示:

  物品A

  用户A

  物品B

  相似

  物品C

  用户B

  喜欢

  推荐

  物品D

  用户C

推荐系统的隐私保护算法的研究

  图2-2协同过滤推荐算法

  Fig.2-2Collaborativefilteringrecommendalgorithm

  对用户A进行推荐时,首先根据用户A所喜爱的历史物品与其他用户所喜爱的物品进行相似度求解,找到与用户A最相似的用户C,然后再将用户C的偏好且用户A从未涉及过的物品推荐给用户A。

  首先构建用户-项目评分矩阵,依据用户对项目的历史评分数据,选用适合的相似性计算方式,寻找类似用户集合,然后将相似用户的其他项目进行推荐。相似性计算方式使用用户的评分向量进行计算,每个向量是由用户对某一项目集合中每个项目的评分数据组成。一般,选定相似用户的个数为k,并将这k个用户所评价的项目进行整合,采用平均加权组合方法计算出用户对于某个目标项目的预测评分:

  (2-1)

  邻居用户的总数量用来表示,用户i和用户k的平均评分分别用和表示,用户i和用户k之间的相似度用来表示。在上述公式当中,项目j的预测评分表现出来的特点就是聚集了对项目j评过分的所有的邻居用户,而对邻居用户而言,其相似度的含义是其评分对目标预测评分具体贡献了多少,并且以相似度作为权重,最后用户i对项目j的预测评分是将所有的用户评分加权之后求和得到的。

  以上做法和传统的用户推荐法采用的是完全不同的思路,传统的以项目为基础的推荐方法比较看重用户的兴趣爱好,并且以此为基础将相似的项目向用户推荐。

  在已知给定用户评分信息的前提下,若想获取其对未曾发现项目的评分,则可以通过分析每个项目和用户已经评分项目之间的相似度,从中找到与已评分项目的邻居项目,并以相似度为权重,通过对所有用户对该项目的历史评分进行加权组合,从而得到该用户对此项目的预测评分:将邻居项目查找出来设计权重的时候,参照的是相似度,并且考虑历史评分,以其作为加权因子,最终获得用户的预测评分,

  (2-2)

  在公式2-2当中,项目的集合用来表示,两个项目的平均评分分别用与来表示,两个项目之间的相似度用来表示。

  虽然该方法应用效果良好,但其在实际应用中存在几个明显的缺陷,一是实际操作过程中,系统中所涉及的用户和项目数量极为庞大的,对其相似度进行计算需要付出极大的时间成本;二是推荐准确度在很大程度上取决于计算相似度所采取的方式,所以,针对不同的数据类型必须采取不同的相似度计算方法;三是收集到巨量的用户信息是采取此方法的前提保证,如果用户是一个无任何作息的新用户,则推荐系统也只能是巧妇难为无米之炊了。

  2.1.2基于内容的推荐算法

  这种算法在对项目进行详细的描述的时候采用的是语义特征分析法,最终推荐依据的是不同的用户对特别的项目的兴趣爱好程度来确定的,这种项目所推进了依据,一方面是用户的消费记录,另一方面,是用户对特定项目的评价,用户对特定项目的评价主要依据项目的属性,而用户偏好则能够从用户评分或其过去消费行为中取得,也就是说,推荐与用户过去消费项目内容相似的项目,比如在过去的几个月中,其每个月都观看一部科幻电影,则推荐系统必然会向其推荐一部其尚未观看的科幻影片。这种方法严重依赖于推荐对象的内容,因此它的适用范围是有限的,主要用于视频内容或者图像内容的分析。

  基于内容的推荐的方法,其核心思想就是划分关键字,并且是对非结构化的文本描述进行划分,特征向量采用的就是这些提炼出来的关键字,在对项目实施特征匹配的时候,参考的是用户的兴趣爱好,将所有能够匹配上的项目加入到推荐列表当中,可以看出这种方法的核心是关键字,关键字包含以下几个部分:

  1、关键是表示项目的方法是什么。

  2、如何用关键字来代表用户的兴趣爱好。

  3、用户的兴趣和项目之间如何匹配。

  当以结构化的形式将项目存储起来的时候,此时项目特征表现起来最为方便。在数据库表中,项目的特性采用的是其属性,非结构化的数据是最普遍的情形,它们通常都是一系列的文本,比如具体的项目评论内容,最常采用的解决方法是将文本简单的划分成为词组或者是单词,然后对其出现的频次进行计算,在此基础上分配词语的权重因子,在描述项目具体的特征的时候以词频-逆向文档频率来对词语的重要性进行衡量。

  在设定关键词的时候主要是参照集在文本中出现的次数频率,一般选取出现频数比较小的词语作为关键词,这种方法必须将词语出现的频率计算出来。现在做如下假定,在文本i当中有关键词k则用下列公式来表示关键词的频率:

  (2-3)

  关键词出现了的次数用来表示,其余的词语出现了最大次数用来表示,关键词的集合用N来表示。

  有相当一部分词语普遍存在泛用性的情况,在文本当中出现了次数都比其它的词要高,要想用它来突出文本的特征几乎是不可能的,因此要想方设法将这些不利影响消除掉,逆向文档频率就是在这种情况下引入的,下面是其计算公式,

  (2-4)

  文档的总数目用N来表示,含有关键词k的文本总数量用n(k)来表示,计算关键字的权重值的大小使用以下公式,

  (2-5)

  系统主要通过下面三种手法来获取用户的爱好,第一种方法是参照平台上面用户互动的历史记录,比如关键字。第二,将用户的特性列表摘取出来,第三,计算用户对某个特别项目喜欢的概率大小。

  通常采用KNN算法来将用户的兴趣爱好和项目特征匹配起来,在对项目实施分类的时候,采用的是项目特征来取代项目评分,计算项目特征的相似程度的时候采用的是相似度计算方法,这种计算方法对用户的短时期内的兴趣爱好可以进行确定,还可以为用户提供其感兴趣的新闻等一系列用文本描述的推荐内容。但是它的缺点也是非常明显的,比如需要消耗较长的时间去分类,除此之外还可以采用Na?veBayes分类器来实施项目的分类,总的来说这种分类器的综合性能比不上KNN算法,当概率比较低的时候,该算法可以写到较好的效果。

  可以说,该方法的优势和劣势都相当明显,优势在于其实现推荐的基础是项目内容,而不是过去的历史交易信息,所以,与其它方法相比,受冷启动的影响较小,即使是对从未评分的项目而言也可完成推荐;劣势在于其推荐结果主要取决于对项目特征的分析,如果项目特征难以抽取或者是跨领域推荐,系统则无法完成推荐。

  2.1.3基于矩阵分解的推荐算法

  在构建统计模型的时候采用评分矩阵的方式,这就是基于模型的推荐系统的构建思路,用户的预测评分是通过建立用户模型来实现的,而不必在模型建立好之后存储评分矩阵。一般采用人工智能当中应用非常广泛的机器学习法训练数据,因此对于引导新系统这个方法并不是很实用,比较常见的数据聚类以及降维技术的。

  在信息检索领域当中,数据将维技术应用十分广泛,尤其是在协同过滤方面,作为基于模型的比较早期的推荐系统,Eigentaste应用广泛,建立用户的爱好模型的时候,采用的是主成分分析法,Billsus和Pazzani提出在协同过滤当中应用SVD。Salakhutdinov为了提高数据比较稀疏的情况下推荐系统的推荐效率,将概率矩阵分解应用在其中,与此相类似的其他的方法还有受限波尔兹曼基以及贝叶斯方法。

  在以模型为基础的推荐方法中,以矩阵分解技术的应用最为广泛,为了有效的缩短运行时间,节约系统的内存可以采用矩阵分解法来实现,具体来讲,通过将高度疏散评分矩阵分解成两个分别代表用户的兴趣特征和项目描述的低维矩阵,对于矩阵当中遗失的数据可以通过对两个特征矩阵做内积运算来预测。

  R表示评分矩阵采用矩阵分解法获得了两个维度比较低的矩阵P和Q,将它们相乘,最后逼近平分矩阵R,满足下列公式,

  (2-6)

  必满足条件,用户对项目的预测评分用两个向量的内积(第u行向量、第i行向量)来表示。

  要满足的条件就是使真实评分和预测评分尽量保持一致,此时要做的就是对两个矩阵进行误差最小化处理,采用欧式距离来表示:

  (2-7)

  在评分矩阵当中,由于某些原因很有可能导致数据缺失,因此为了将评分矩阵当中的观测值进行分解引入了指示函数I,当用户对项目进行评价时,指示函数取值为1,反之为0。与此同时,为了避免出现过敏和现象,需要在公式当中增加两个正则项,因此有:

  (2-8)

  惩罚参数用来表示,且该值大于0,它用来确定目标函数的正则化水平,的值越大则表示正则化的水平越高,为了对目标函数实施最小化处理,通常采用的方法是随机梯度下降法和交替最小二乘法最终得到局部的最小值。现在对这两种方法进行解析:交替最小二乘法,首先固定特征矩阵P,然后将矩阵Q最小化处理,通过这种方式将目标函数的求解问题进行转化,最终可以通过解决线性回归问题来获得答案,将矩阵Q固定最小化矩阵P,然后对不同的特征矩阵实施最小二乘法处理,重复迭代使目标函数持续减少,直至两个矩阵收敛。

  梯度下降算法是一种常见的算法,搜寻最小值的时候沿着目标函数梯度方向进行,参照的是学习速率收敛速度的正比例关系,一般来说收敛速度和学习速率成正比,当学习速率达到某个阈值的时候,最小值点被直接越过,而且偏离程度越来越大,最终无法收敛,在参数更新之前,需要所有的训练集扫描一遍,因此这种情况不适合于数据集比较庞大的场合,更新步骤用下面的公式来表示,

  (2-9)

  其中,真实评分和预测评分的误差用来表示,更新速度用a来表示。

  2.1.4因子分解机

  德国学者SteffenRendle最早提出了因子分解机算法[[endnoteRef:36]],它以引分子分解模型作为基础,但是又改进了很多。因子分解机具有很好的适用性,和支持向量机算法进行比较之后,可以明显的看出分解机数学在逻辑上更为简洁,它的优点在于能够很好的处理稀疏数据矩阵,因此适用性非常强。SteffenRendle及其团队开发了基于因子分解机的工具[[endnoteRef:37]],在KDDCup比赛当中也获得了很好的成绩。[36:][37:]

  该技术起源于隐因子模型,与后者相比,其明显更具优势,主要表现在以下两个方面,

  一是在隐因子模型中,对于具体问题必须利用矩阵分解技术建立新的模型,同时需要设计出具体参数学习方法,在数据训练过程中,不只需要学习参数,还要学习参数的细致调节,在很大程度上影响了这一算法的智能水平。

  二是主流算法中,一般需要先提取数据特征,并据此建立起特征工程,以在一定程度上降低数据的复杂程度,同时需要结合冗余数据进行大量训练,而对于隐因子模型而言,利用特征工程技术降低数据的复杂度相对较难,因子分解及综合了二者的优势,并且充分发挥了因子分解机工具箱的特色,在实施训练的时候速度和准确率都非常高。

  因子分解机在使用的时候需要定义两个变量,一个是自变量,一个是因变量。

  在传统的机器学习理论中要求映射关系满足单个因变量对应多个自变量或者一个自变量,因此必须应用多项式回归方法,通常用下列公式来表示n元一次多项式的回归方程。

  (2-11)

  上面两个公式和前面的公式2-3和公式2-4有不同之处,这两个方程当中带有交叉项,比如三元二次多项式:

  (2-12)

  它是具有交叉项的,可以用公式2-13来表示这种情形,

  (2-13)

  n元二次多项式的优势非常明显,在多项式当中自变量表示属性特征,比如读者的性别和年龄以及书籍的具体类型,各个不同的属性类别在一元n次多项式当中是分开的,它们的权重是用各自的参数表达式来表示的,但是缺乏交叉项,因此不同属性类别的相互作用很难通过参数来度量。而对于n元二次多项式则包含交叉项,属性不同的类别在这里不做严格的区分,交叉项的意义可以表达出不同变量之间相互影响的程度,这使得多项式的理和能力超强,但是它内部又包含自相关项,这个缺点使它容易出现过拟和的不良现象,从而导致失真。

  定义2.1

  (2-14)

  上述公式是标准的FM模型,该模型当中不含有自相关相,因此过拟合现象没有发生的可能性,并且通过因子分解的形式来表达交叉项的参数,这样就可以通过训练数据的方式将交叉项参数之间的联系体现出来,通过映射的方式将两个交叉向系数映射出来:与,

  通过以上分析可知,当数据比较稀疏的时候,采用该方法非常合适,因子分解机最典型的优势在于其能够估计出隐含因子,而且对稀疏矩阵当中空缺的元素可以填充,完整而且可以实时分解,正因如此它在稀疏性矩阵上面有独特的优势,而且,该模型以协同过滤为基础,所以,其本质上仍无法脱离协同过滤范畴,只不过是对传统推荐算法进行了一定程度的补充,改善了传统算法的缺陷。

  2.2隐私保护技术

  随着人类社会步入高度发展的信息时代,使快速收集和处理大量的个人数据变成现实,比如购物习惯、征信记录及社交关系等信息,众所周知,这些信息具有重要价值。由于企业或者政府部门的业务需求,需要对大量的用户信息和数据进行分析利用,从而产生了数据挖掘技术,尽管这些信息各自都有其隐私或保密等级,但无论信息的访问者是政府还是个人,其拥有者都会有或多或少的关于信息被滥用的忧虑。

  2.2.1隐私定义

  在当今时代,互联网无处不在,每时每刻都在进行着巨量的运算和更新,产生的信息数量更是无法计算,如果这些信息被政府等相关部门应用于相关数据信息的统计工作,则对于整个社会是大有益处的。,但对于个人而言,其中有的信息可能会相对敏感,属于个人的隐私问题。

  谁都有隐私,隐私本身没有标准的定义,但是可以通过一定的语句来对隐私进行描述,它们可以是规范性的描述,因此对于隐私概念的理解具有很强的灵活性。1948年在世界人权宣言当中,隐私被公认为是人们的一项基本权利,但是它的范围并不是无限的,它局限在通信当中的隐私和家庭当中的隐私权。由于隐私具有很强的适用范围,因此很难精确定义隐私,通常来说隐私范围包含四大类型,它们分别是信息、通信、身体以及领土。信息指的是和个人相关的数据收集和处理,身体指的是物理伤害或者侵入性的程序伤害。通信则包括所有形式的通信。领土则指物理边界被入侵,这种对隐私的描述侧重于信息的具体类别。

  Westin在信息的范畴之内将隐私描述为个人或者是机构团体明确自己什么时候以及将何种程度的信息向外界传递。Bertino等人也给出了类似的定义,但是它的侧重点在数据控制方面,而且明确提出隐私侵权的风险的类别,以上学者普遍将隐私定义为一种特别的信息,这些信息为个人所有,未经授权不可以随便披露给任何电子存储库。因此,信息隐私保护本质上就是在收集个人信息时,进行隐私控制或者数据处理。

  2.2.2差分隐私保护技术

  2006年C.Dwor提出差分隐私保护技术,为了避免攻击者在可能的情况下无法将某条数据的取值确定下来,需要对数据集进行处理,使其满足差分隐私,这种做法可以保证数据集当中任何时候的输出结果的概率分布都保持一致,C.Dwork后来又提出了拉普拉斯机制,F.McSherry也通过提出指数机制成功的实现了差分隐私。

  从理论上来讲,该技术能够保证在某一数据集中无论是进行添加还是删减一条操作都无法影响到计算的输出结果;同时,攻击者虽然已经知道了敏感信息,具备相应的背景知识,但是他们很难获得与此相关联的信息,这是差分隐私保护技术的核心。

  定义2.2差分隐私:给定两个数据集A和B(),对随机函数f,其范围为range(A),若函数f满足如下公式,则f满足差分隐私。

  (2-15)

  对数据集A和B是否是毗邻关系主要是考察这两个数据集是否存在一条不一样的记录,隐私参数用来表示,它的含义是确定隐私保护的级别大小,的值越小则表示隐私保护程度越高。对任何一条记录,差分隐私都能够保证输出的结果不是很敏感的,即便攻击者的背景知识异常的丰富,我们认为攻击者对那些敏感信息都已经完全掌握,但是他们却很难获得和记录相关的敏感信息,该算法非常符合组合特征。

  定义2.3.当随机函数满足差分隐私,则随机函数必然同时满足差分隐私。

  因此若干个步骤同时被执行的时候,可以将累计起来,隐私开销累积的量超过指定的隐私参数,该技术的核心在于噪声的添加,一般而言,噪声添加主要有两种机制,一是拉普拉斯机制,二是指数机制。噪声的添加主要取决于隐私保护参数。

关于作者: guimow

热门文章