本发明属于数据挖掘和自然语言处理的技术领域,尤其涉及一种基于个性化差分隐私保护的推荐方法。
背景技术:
最近二十年中,互联网上的信息呈爆炸式增长,人们不可能通过搜索所有的网络信息,去寻找自己想要获取的信息。推荐系统能够为用户提供个性化的内容和服务推荐,也能提高用户的在线服务体验。推荐系统在电子商务中已经得到广泛应用,可以为用户提供商品推荐服务。推荐系统中最常用的算法是协同过滤算法,该算法利用用户的历史行为数据为用户产生推荐服务。如果攻击者获取到一些用户的历史行为数据,就可以推断出用户的其他信息。研究者dwork针对用户的历史行为信息提出了三种类型的推荐攻击,这些攻击会给用户的隐私带来极大的威胁。差分隐私是一种密码学技术,当从统计数据库查询时,可以在保证查询结果准确性的同时,最大程度地减少识别其记录的机会。差分隐私技术已经被广泛应用于推荐系统中。有人提出了一种差分隐私矩阵分解机制,该机制能够防止不可信的推荐系统获取到用户的隐私信息。其基本思想是,首先获取不加隐私的用户因子矩阵,将其保密存储,然后扰动目标函数得到加噪后项目因子矩阵,最后发布加噪后的项目因子矩阵。由于项目因子矩阵是满足差分隐私的,攻击者无法通过项目因子矩阵以推断用户的隐私信息,从而保证了用户的隐私安全。
传统的差分隐私保护方法有一个重要的限制,它只能为数据集中的所有用户提供统一级别的隐私保护。这种方法忽略了一个事实,每个人都会对他自己的隐私信息有不同的要求。而在实践中,用户对自己的隐私级别会有个性化的需求,即用户根据自己的意愿以设置自己的隐私级别。个性化的差分隐私保护,可以实现更高地推荐准确度。因为在传统的差分隐私保护中,一般会将数据集中用户要求最高的隐私级别设置成统一的隐私级别,这样会导致更多的噪声,也降低了预测的准确度。个性化隐私保护模型很好地解决了这个问题,它考虑到了用户的个人隐私需求,并允许用户指定自己隐私保护级别。基于邻域的协同过滤算法,由于评分数据集过于稀疏,导致其预测精度不高。而基于模型的矩阵分解算法只关注评分矩阵的全局信息,没有考虑到评分矩阵的局部信息,导致预测评分在准确度和多样性较差。
技术实现要素:
针对现有技术中存在的不足,本发明所要解决的技术问题在于提供一种基于个性化差分隐私保护的推荐方法,考虑到在实践中用户对自己的隐私级别会有个性化的需求,即用户希望可以根据自己的意愿来设置自己的隐私级别,个性化的差分隐私保护,在保护用户个人隐私的前提下,还能为用户提供高质量地推荐服务。
为了实现以上技术方案,提出了一种基于个性化差分隐私的集成推荐方法,包括以下步骤:
s1、数据的采集及划分:将处理好的数据集随机选取80%的历史交互作为训练集,用于训练模型;其余作为测试集,从训练集中随机选取10%的交互作为验证集,用于调整超参数;
s2、ppcf算法的构造:个性化差分隐私的协同过滤算法通过用户的邻域以预测用户评分
s3、随机采样:根据用户的隐私偏好级别以决定用户评分随机抽样的概率,对原始评分矩阵的数据进行随机抽样,可以得到随机抽样后的评分矩阵drs;
s4、隐私保护的集成推荐算法:将步骤s2阶段得到的基于邻域预测评分
s5、生成推荐:通过用户因子矩阵p和项目因子矩阵
优选的,所述步骤s1的数据的采集及划分的具体步骤如下:
s101、将下载的netflix电影数据集进行数据预处理;
s102、将数据按照8:1:1的比例分别划分训练集、测试集和验证集。
进一步的,所述步骤s2中ppcf算法的构造的具体步骤如下:
s201、数据的预处理:首先是通过对高斯分布n(0,1/m)中的每个原始评分进行采样构造了一个过渡矩阵a。其次是通过将原始矩阵与过渡矩阵相乘得到新评分矩阵,将新评分矩阵的维度降到了d维;
s202、相似度扰动处理:采用拉普拉斯机制噪声对相似度进行扰动,以保护用户的隐私。由于全局敏感度衡量的是所有相邻数据集查询结果之间的最大差异,通常考虑最坏的情况,对所有用户都采用相同的标准,而实际中发生最坏情况的概率非常小,所以采用了即时敏感度;
s203、隐私参数的选择:由于不同用户对隐私的需求不同,在个性化的隐私保护中,用户会根据自己的隐私需求来设定自己的隐私保护级别。计算任意两个用户之间的相似度时,由于隐私预算是根据用户变化的,所以通常会选择较小的隐私预算值,这样可以同时保证两个用户的隐私,公式如下:
其中εp是用户ui的隐私级别,εx是用户ux的隐私级别;
s204、ppcf算法:个性化差分隐私的协同过滤算法通过用户的邻域以预测用户评分
进一步的,所述步骤s3中随机采样的具体步骤如下:
s301、采样机制:通过用户的个人隐私偏好,以一定的概率进行采样。根据用户的隐私偏好级别,决定用户评分随机抽样的概率,然后对原始评分数据进行随机抽样,最后输出采样后的评分矩阵drs,并将其中未抽样的评分置为零。抽样概率为π(rij),计算公式如下:
其中t称为个性化隐私参数,其取值范围为min(εij)≤t≤max(εij),并且t的值是一个可变参数。
进一步的,所述步骤s4中隐私保护的集成推荐算法的具体步骤如下:
其中pi表示用户因子矩阵p的第i个列向量,qj表示项目因子矩阵q的第j个列向量,μ为调节参数,η为样本噪声矢量,γ为学习率,t为取样阈值。
进一步的,所述步骤s5中生成推荐的具体步骤如下:
s501、由s4得到用户因子矩阵p和扰动项目因子矩阵
由上,本发明将个性化差分隐私机制应用到集成推荐算法中,考虑到每个用户对各种项目的隐私级别的需求是不一样的,pdp-ir方法能够为用户提供个性化隐私需求和项目级别的隐私保护,还可以提供高质量地推荐服务。根据个性化差分隐私的定义,从理论上证明了pdp-ir方案是满足个性化差分隐私的,从而保证了整个方案的隐私安全。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下结合优选实施例,并配合附图,详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例的附图作简单地介绍。
图1为本发明的基于个性化差分隐私保护的推荐方法的基本流程图;
图2为ppcf算法流程图;
图3为基于差分隐私保护的集成推荐算法流程图。
具体实施方式
下面结合附图详细说明本发明的具体实施方式,其作为本说明书的一部分,通过实施例来说明本发明的原理,本发明的其他方面、特征及其优点通过该详细说明将会变得一目了然。在所参照的附图中,不同的图中相同或相似的部件使用相同的附图标号来表示。
如图1至图3所示,本发明的基于个性化差分隐私保护的推荐方法,包括:
数据的采集及划分模块,下载的netflix电影数据集进行数据预处理,将数据按照8:1:1的比例分别划分训练集、测试集和验证集。
ppcf算法的构造模块,首先利用随机预处理方法,将原始评分矩阵从高维降为低维,得到降维矩阵g;然后计算用户间的相似度,并使用拉普拉斯噪声扰动相似度的值,并基于扰动的相似度选取k个最近邻域用户;基于这k个邻域用户得到预测评分
随机采样原始数据模块,根据用户的隐私偏好级别以决定用户评分随机抽样的概率,对原始评分矩阵的数据进行随机抽样,得到随机抽样后的评分矩阵drs;
隐私保护的集成推荐算法模块,将基于邻域的预测评分
生成推荐模块,通过用户因子矩阵p和项目因子矩阵
如图1所示,本发明的基于个性化差分隐私保护的推荐方法包括如下步骤:
s1、数据的采集及划分:将处理好的数据集随机选取80%的历史交互作为训练集,用于训练模型;其余作为测试集,从训练集中随机选取10%的交互作为验证集,用于调整超参数;
s2、ppcf算法的构造:个性化差分隐私的协同过滤算法通过用户的邻域以预测用户评分
s3、随机采样:根据用户的隐私偏好级别以决定用户评分随机抽样的概率,对原始评分矩阵的数据进行随机抽样,可以得到随机抽样后的评分矩阵drs;
s4、隐私保护的集成推荐算法:将s2阶段得到的基于邻域预测评分
s5、生成推荐:通过用户因子矩阵p和项目因子矩阵
步骤s1中的数据的采集及划分的具体步骤如下:
s101、将下载的netflix电影数据集进行数据预处理;
s102、将数据按照8:1:1的比例分别划分训练集、测试集和验证集。
如图2所示,步骤s2中ppcf算法的构造的具体步骤如下:
s201、数据的预处理:首先是通过对高斯分布n(0,1/m)中的每个原始评分进行采样构造了一个过渡矩阵a。其次是通过将原始矩阵与过渡矩阵相乘得到新评分矩阵,将新评分矩阵的维度降到了d维;
s202、相似度扰动处理:采用拉普拉斯机制噪声对相似度进行扰动,以保护用户的隐私。由于全局敏感度衡量的是所有相邻数据集查询结果之间的最大差异,通常考虑最坏的情况,对所有用户都采用相同的标准,而实际中发生最坏情况的概率非常小,所以采用了即时敏感度;
s203、隐私参数的选择:由于不同用户对隐私的需求不同,在个性化的隐私保护中,用户会根据自己的隐私需求来设定自己的隐私保护级别。计算任意两个用户之间的相似度时,由于隐私预算是根据用户变化的,所以通常会选择较小的隐私预算值,这样可以同时保证两个用户的隐私,公式如下:
其中εp是用户ui的隐私级别,εx是用户ux的隐私级别;
s204、ppcf算法:个性化差分隐私的协同过滤算法通过用户的邻域以预测用户评分
其中,步骤s3中的随机采样的具体步骤如下:
s301、采样机制:通过用户的个人隐私偏好,以一定的概率进行采样。根据用户的隐私偏好级别,决定用户评分随机抽样的概率,然后对原始评分数据进行随机抽样,最后输出采样后的评分矩阵drs,并将其中未抽样的评分置为零。抽样概率为π(rij),计算公式如下:
其中t称为个性化隐私参数,其取值范围为min(εij)≤t≤max(εij),并且t的值是一个可变参数。
如图3所示,步骤s4隐私保护的集成推荐算法的具体步骤如下:
s401、将步骤s2阶段得到的基于邻域预测评分
s402、将得到的项目因子矩阵q代入到基于个性化差分隐私的集成推荐算法,获得扰动后的项目因子矩阵
其中pi表示用户因子矩阵p的第i个列向量,qj表示项目因子矩阵q的第j个列向量,μ为调节参数,η为样本噪声矢量,γ为学习率,t为取样阈值。
其中,步骤s5生成推荐的具体步骤如下:
s501、由步骤s4得到用户因子矩阵p和扰动项目因子矩阵
以上所述是本发明的优选实施方式而已,当然不能以此来限定本发明之权利范围,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和变动,这些改进和变动也视为本发明的保护范围。
1.一种基于个性化差分隐私保护的推荐方法,其特征在于,包括以下步骤:
s1、数据的采集及划分:将处理好的数据集随机选取80%的历史交互作为训练集,用于训练模型;其余作为测试集,从训练集中随机选取10%的交互作为验证集,用于调整超参数;
s2、ppcf算法的构造:个性化差分隐私的协同过滤算法通过用户的邻域以预测用户评分
s3、随机采样:根据用户的隐私偏好级别以决定用户评分随机抽样的概率,对原始评分矩阵的数据进行随机抽样,可以得到随机抽样后的评分矩阵drs;
s4、隐私保护的集成推荐算法:将步骤s2阶段得到的基于邻域预测评分
s5、生成推荐:通过用户因子矩阵p和项目因子矩阵
2.如权利要求1所述的基于个性化差分隐私保护的推荐方法,其特征在于,所述步骤s1的数据采集及划分的具体步骤如下:
s101、将下载的netflix电影数据集进行数据预处理;
s102、将数据按照8:1:1的比例分别划分训练集、测试集和验证集。
3.如权利要求1所述的基于个性化差分隐私保护的推荐方法,其特征在于,所述步骤s2中ppcf算法的构造的具体步骤如下:
s201、数据的预处理:首先是通过对高斯分布n(0,1/m)中的每个原始评分进行采样构造了一个过渡矩阵a,其次是通过将原始矩阵与过渡矩阵相乘得到新评分矩阵,将新评分矩阵的维度降到了d维;
s202、相似度扰动处理:采用拉普拉斯机制噪声对相似度进行扰动,以保护用户的隐私;
s203、隐私参数的选择:由于不同用户对隐私的需求不同,在个性化的隐私保护中,用户会根据自己的隐私需求来设定自己的隐私保护级别,计算任意两个用户之间的相似度时,由于隐私预算是根据用户变化的,所以通常会选择较小的隐私预算值,这样可以同时保证两个用户的隐私,公式如下:
其中εp是用户ui的隐私级别,εx是用户ux的隐私级别;
s204、ppcf算法:个性化差分隐私的协同过滤算法通过用户的邻域以预测用户评分
4.如权利要求1所述的基于个性化差分隐私保护的推荐方法,其特征在于,所述步骤s3中随机采样的具体步骤如下:
s301、采样机制:通过用户的个人隐私偏好,以一定的概率进行采样,根据用户的隐私偏好级别,决定用户评分随机抽样的概率,然后对原始评分数据进行随机抽样,最后输出采样后的评分矩阵drs,并将其中未抽样的评分置为零,抽样概率为π(rij),计算公式如下:
其中t称为个性化隐私参数,其取值范围为min(εij)≤t≤max(εij),并且t的值是一个可变参数。
5.如权利要求1所述的基于个性化差分隐私保护的推荐方法,其特征在于,所述步骤s4中隐私保护的集成推荐算法的具体步骤如下:
其中pi表示用户因子矩阵p的第i个列向量,qj表示项目因子矩阵q的第j个列向量,μ为调节参数,η为样本噪声矢量,γ为学习率,t为取样阈值。
6.如权利要求1所述的基于个性化差分隐私保护的推荐方法,其特征在于,所述步骤s5中生成推荐的具体步骤如下:
s501、由步骤s4得到用户因子矩阵p和扰动项目因子矩阵