CN112883070B - 一种带有差分隐私的生成式对抗网络推荐方法 - Google Patents
一种带有差分隐私的生成式对抗网络推荐方法 Download PDFInfo
- Publication number
- CN112883070B CN112883070B CN202110086346.8A CN202110086346A CN112883070B CN 112883070 B CN112883070 B CN 112883070B CN 202110086346 A CN202110086346 A CN 202110086346A CN 112883070 B CN112883070 B CN 112883070B
- Authority
- CN
- China
- Prior art keywords
- data
- recommendation
- user
- matrix
- vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Databases & Information Systems (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioethics (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种带有差分隐私的生成式对抗网络推荐方法,涉及个性化推荐技术领域。该方法包括数据预处理;定义(ε,x,λ)~差分隐私进行差分隐私加噪,并引入高斯噪声机制,对数据集中数据进行保护;相关矩阵分解推荐模型CMF,将用户矩阵U和评分矩阵V映射到一个新的语义空间;除了在评级矩阵上实现最佳拟合之外,矩阵U或V中的一个分量也与另一个矩阵V或U中的每个分量紧密相关,采用相关矩阵分解获取推荐列表;搭建训练生成式对抗网络模型GAN,用于推荐列表的生成;将CMF和GAN的推荐列表进行合并,合并规则为保留重复的推荐项目。本发明在满足用户隐私数据的条件下保证足够高的推荐准确度,实现对推荐算法的隐私保护以及提升推荐准确率。
Description
技术领域
本发明涉及个性化推荐技术领域,尤其涉及一种带有差分隐私的生成式对抗网络推荐方法。
背景技术
随着大数据时代的到来,信息冗余和信息过载的问题逐渐浮现,而推荐算法最大化地解决信息过载问题,并为企业或社会带来利润可观的商业收益。目前,推荐算法在大多数领域都显现出不容小觑的高价值,例如电子商务、电影和视频推荐、音乐电台、个性化阅读、基于位置的服务和社交网络等。研究证明,强大而精准的推荐大力地提升用户满意度和项目供应方的收益,推荐算法帮助用户快速选择以及提高相应系统的商业价值。然而,蓬勃发展的推荐技术使数据安全和隐私面临更加严峻的挑战,因为推荐技术的更精准模型往往需要庞大数量的用户数据为支撑。
推荐系统中,用户隐私数据泄露事件频繁出现,给企业和用户造成严重的损失和伤害。随着攻击方反扒信息手段的不断更新和迭代,推荐系统的数据安全性能受到重大威胁。因此面对隐私数据泄露手段的不断更新,为了保障数据安全性能的可靠性以及稳定性,通常会采用隐私数据保护的技术。但是传统的隐私保护技术使得数据可分析性下降以及推荐算法的推荐准确率降低,尤其是对数据进行加密或者直接对数据进行添加噪声等方法。对推荐算法引入隐私保护技术,不仅面临着推荐准确率下降的问题,其次也存在如何巧妙地对数据加噪而使得数据安全的问题。
发明内容
本发明要解决的技术问题是针对上述现有技术的不足,提供一种带有差分隐私的生成式对抗网络推荐方法,实现对推荐算法的隐私保护以及提升推荐准确率。
为解决上述技术问题,本发明所采取的技术方案是:
一种带有差分隐私的生成式对抗网络推荐方法,包括以下步骤:
步骤1:对电影数据集进行预处理,引入矢量对抗方案来进行类别型和文本型数据的处理;
步骤1.1:对数据集中的各字段进行归纳和分类,去掉无用的字段;
步骤1.2:对类别型字段和文本型字段预处理;
对于类别型字段的处理方式为:首先将类别型字段中的类别转成字符串到数字的字典,然后再将每个项目对应的类别型字段转成数字列表;
对于文本型字段的处理方式为:首先创建文本到数字的字典,然后将Title字段中的描述转成数字的列表;Title字段中的时间点也需要去掉;
文本型字段和类别型字段需要将长度统一,空白部分用‘<PAD>’对应的数字填充;
步骤1.3:电影数据集中的其它字段采用先验知识去进行归纳缩减,最后将预处理后的数据集合并为一张表;
步骤2:对经过预处理后的数据进行差分隐私加噪以及引入时刻计数法变量追踪加噪结果;
Pr[A(O1)∈O]≤exp(ε)·Pr[A(O2)∈O]+x-λ (1)
其中参数ε为隐私保护预算,Pr[·]为事件发生的概率,O为与数据集O1、O2相近的数据集,x、λ为差分隐私参数,x>0,λ>0;
引入高斯噪声机制,定义如下:
f(O)≈f(O)+N(0,Δf2,σ2) (2)
其中,Δf为全局灵敏度,由任意函数f确定,即Δf=|f(O1)-f(O2)|对于f:O→R;N(0,Δf2,σ2)是均值为0、标准偏差为Δfσ的高斯分布;噪声大小由隐私保护预算参数和全局灵敏度控制;
根据(ε,x,λ)~差分隐私的定义,对经过预处理后的数据添加差分隐私噪声,对数据集中数据进行保护;
在加噪过程中,随着迭代结果对隐私变量进行优化,可能会出现优化结果先增加后降低的趋势,根据这一现象引入时刻变量,计算每一时刻的加噪结果,以求得最优的加噪结果;
步骤3:训练推荐模型进行高低阶特征训练,推荐模型分为相关矩阵分解推荐模型和生成式对抗网络推荐模型两部分;
步骤3.1:相关矩阵分解推荐模型CMF,将用户矩阵U和评分矩阵V映射到一个新的语义空间;除了在评级矩阵上实现最佳拟合之外,矩阵U或V中的一个分量也与另一个矩阵V或U中的每个分量紧密相关,采用相关矩阵分解获取推荐列表;
步骤3.1.1:为搭建相关矩阵分解推荐模型,将典型相关分析方法CCA作为相关矩阵分解推荐模型的组成部分;
相关矩阵分解推荐模型旨在将U和V放置在两个不同尺寸的不同潜在空间中,随后引入一个新的潜在相关因子y来预先耦合U和V,使得它们的关联最大化;y位于新的语义空间中,捕获了U和V之间的语义关联;观察第i个用户和第j个项目之间的交互Rij在新的语义空间中测量,并且表示为变换的U和V之间的距离;为了更好地将缺失值作为负面数据,引入一个权重变量cij,cij表示在观察用户i和项目j之间的交互Rij时的不同置信水平,并且可观察值总是拥有比丢失的值更高的权重;
令K为用户矩阵U的维度,T为评分矩阵V的维度,i、j分别代表用户向量和项目向量;令R∈RP×Q表示用户-项目交互矩阵,其中P和Q分别是用户数和项目数;相关矩阵分解推荐模型生成步骤如下:
步骤3.1.2:定义L维度的高斯相关因子y~W(0,1L),其中L是CCA中潜在相关因子y的维数,W为高斯函数;
步骤3.1.3:对于每一个用户矢量i∈{1,...,P},定义用户的潜在向量如下:
Ui~W(Tuy+μu,Ψu);Tu∈RK×L,Ψu≥0
其中,Ui代表第i个用户的潜在向量;Tu是维度为K×L的矩阵;μu、Ψu为相关因子辅助参数;
步骤3.1.4:对于每一个项目矢量j∈{1,...,Q},定义项目的潜在向量如下:
Vj~W(Tvy+μv,Ψv);Tv∈RT×L,Ψv≥0
其中,Vj代表第j个项目的潜在向量;Tv是维度为T×L的矩阵;μv、Ψv为相关因子辅助参数;
步骤3.1.5:对于R中的每一条记录数据(i,j),定义评分向量如下:
其中,rij代表评分向量;权重变量定义为cij=1+αrij,α为常数;
步骤3.1.6:按下式计算在给定初始模型参数Θ和评分的情况下从CMF模型产生的概率p(R|Θ);
步骤3.2:搭建训练生成式对抗网络模型GAN,用于推荐列表的生成;
步骤3.2.1:定义判别器D和生成器G的目标函数;
D的目标函数表示为J D,如下所示:
G的目标函数表示JG,如下所示:
其中,代表满足数据data的分布的数据期望,x-Pdata为x服从数据data的数据分布,D(·|·)为均方差,代表满足数据Φ的数据分布的数据期望,为服从数据Φ的数据分布,代表生成的数据,x代表真实数据,ru代表真实用户数据的评分;c为真实数据辅助向量;cu为用户购买数据辅助向量;eu为用户数据辅助向量,由0或1组成,用于筛选生成器生成但用户却未真实购买的数据;为生成的用户评分,u为某个用户;
步骤3.2.2:将G和D均实现为多层神经网络;
通过多层神经网络实现G和D,分别由φ和θ进行参数化;G是一个LG层的神经网络,LG≥2,其神经网络输入内容为{z,cu},输出为n维的购买向量其中{}表示内部两个向量的串联,cu是给定用户特定条件向量,z为随机噪声向量;D是一个LD层的神经网络,LD≥2,其神经网络输入是或{ru,cu},并输出一个单一的标量值,表示输入来自基本事实的概率,而不是G;随后采用随机梯度下降与小批量反向传播来训练G和D;交替更新它们各自的参数φ和θ,在另一个参数保持不变时更新;
步骤4、将CMF和GAN的推荐列表进行合并,合并规则为保留重复的推荐项目。
采用上述技术方案所产生的有益效果在于:本发明提供的带有差分隐私的生成式对抗网络推荐方法,在满足用户隐私数据的条件下保证足够高的推荐准确度,实现对推荐算法的隐私保护以及提升推荐准确率。
附图说明
图1为本发明实施例提供的带有差分隐私的生成式对抗网络推荐方法总体流程示意图;
图2为本发明实施例提供的电影推荐系统功能结构示意图;
图3为本发明实施例提供的电影推荐系统推荐流程的示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
如图1所示,本实施例的方法总体流程包括数据预处理、差分隐私加噪、CMF模型推荐、GAN模型推荐、合并推荐列表,具体方法如下所述。
一种带有差分隐私的生成式对抗网络推荐方法,包括以下步骤:
步骤1:对电影数据集进行预处理,引入矢量对抗方案来进行类别型和文本型数据的处理;
步骤1.1:对数据集中的各字段进行归纳和分类,去掉无用的字段;
在数据集中总是存在一些用户数据字段无用的情况,即此字段对推荐模型的训练起不了关键性作用,例如邮编、时间戳等字段,对于这些字段要进行删除。
步骤1.2:对类别型字段和文本型字段预处理;
类型型字段指的是某些字段的取值是有限且固定的,例如Genres字段(电影类型字段),此字段的取值通常为Animation|Children's|Comedy(动画|儿童|喜剧)。文本字段指的是由中英文组成的字符串,例如电影名称或文章标题等。
对于类别型字段的处理方式为:首先将类别型字段中的类别转成字符串到数字的字典,然后再将每个项目对应的类别型字段转成数字列表,因为有些商品是多个类别字段取值的组合。
对于文本型字段的处理方式为:首先创建文本到数字的字典,然后将Title字段中的描述转成数字的列表;Title字段中的时间点也需要去掉。
文本型字段和类别型字段需要将长度统一,这样在训练模型中方便处理。空白部分用‘<PAD>’对应的数字填充。
步骤1.3:电影数据集中的其它字段采用先验知识去进行归纳缩减,最后将预处理后的数据集合并为一张表。
先验知识为约定好的规则,比如对于年龄字段,要求1:"Under 18"、18:"18-24"、25:"25-34"、35:"35-44"、45:"45-49"、50:"50-55"、56:"56+"等,也就是说18岁以下年龄字段取值为1,18到24岁之间,年龄字段取值为18。对于某些字段取值广泛且为数值型的均采用先验知识去进行归纳。待各数据集预处理完毕需要进行数据表合并,后期方便训练推荐模型。
步骤2:对经过预处理后的数据进行差分隐私加噪,从而起到数据保护的作用,引入时刻计数法变量追踪加噪结果。
本实施例在现有研究基础上提出一种新的隐私定义,并为其选择合理的噪声机制。差异隐私的目的是提供一种加密数据集上的用户隐私的方法,它提供了隐私的数学定义,为数据集中的个人信息提供严格且可验证的隐私保证。假设O为要发布的敏感数据集。差异隐私是指使用随机算法A修改数据集O以使A的输出不会透露太多有关O中任何特定元组的信息的过程。差异隐私的正式定义如下:
Pr[A(O1)∈O]≤exp(ε)·Pr[A(O2)∈O]+x-λ (1)
其中,参数ε为隐私保护预算,Pr[·]为事件发生的概率,O为与数据集O1、O2相近的数据集,x、λ为差分隐私参数,x>0,λ>0。
凭经验预测,x-λ(x,λ>0)理应是一个很小的数,从现有研究预计为10-5上下,但不能确定具体数值,因此采用y=x-λ(x,λ>0)函数来进行训练得到一个更精准的答案。由于x-λ(x,λ>0)为非负数,因此对于任何x-λ(x,λ>0)值,满足ε-微分优先权的任何机制也都满足(ε,x,λ)-差分隐私。(ε,x,λ)-差分隐私通过忽略具有很小概率(由参数x-λ(x,λ>0)控制)的A的输出而放宽了ε-差分隐私。换句话说,(ε,x,λ)-差分私有机制满足由x-λ(x,λ>0)控制的概率的差分私有性。
差异隐私保护的实施需要引入噪声机制。拉普拉斯机制、高斯噪声机制和指数机制是常用的,前两者者适用于数值结果的保护,后者适用于非数值结果的保护。本模型更倾向于高斯噪声,因为后期实验需要利用高斯分布去进行隐私边界分析。高斯噪声机制定义如下:
f(O)≈f(O)+N(0,Δf2,σ2) (2)
其中,Δf为全局灵敏度,由任意函数f确定,即Δf=|f(O1)-f(O2)|对于f:O→R;N(0,Δf2,σ2)是均值为0、标准偏差为Δfσ的高斯分布;例如,计数函数具有小的全局灵敏度,余弦相似函数具有大的全局灵敏度。噪声大小由隐私保护预算参数和全局灵敏度控制;
根据(ε,x,λ)~差分隐私的定义,对经过预处理后的数据添加差分隐私噪声,对数据集中数据进行保护。例如,当用户在平台上产生消费记录信息时,人们可能不希望观察者知道他或她浏览或购买了哪些东西。这是由于以下事实:观察者会将测试结果与某个人的隐式/显式特征联系在一起,并且损害了该人的利益。适当的购买物品资格保护将确保以另一物品代替此物品不会对结果产生太大影响。仅当算法本身是随机的,即输出与分布相关联时,此属性才成立。如果某些数据受到干扰甚至被删除,该分布也不会改变太多。这正是差分隐私试图实现的目标。
在加噪过程中,随着迭代结果对隐私变量进行优化,可能会出现优化结果先增加后降低的趋势,根据这一现象引入时刻变量,计算每一时刻的加噪结果,以求得最优的加噪结果,这一过程称为噪声尾部约束。
有理论公式推导可证明引入时刻会计法的隐私噪声仍然符合常规隐私定义,该证明是基于数据集中证明中使用的标准Markov不等式论证,推导过程如下:
假设B={o:c(o)≥ε},则
Pr[M(d)∈S]=Pr[M(d)∈S∩Bc]+Pr[M(d)∈S∩B]
≤exp(ε)Pr[M(d′)∈S∩Bc]+Pr[M(d)∈B]
≤exp(ε)Pr[M(d′)∈S]+exp(α-λε)
其中对于d、d′∈Dn两个相邻数据集加噪的输出结果o∈R,R是实数域,将o处的隐私损失定义为c(o),M为高斯噪声机制,α、x、λ为差分隐私参数,S、B代表输出结果集。
步骤3:训练推荐模型进行高低阶特征训练,推荐模型分为相关矩阵分解推荐模型和生成式对抗网络推荐模型两部分;
步骤3.1:相关矩阵分解推荐模型CMF,将用户矩阵U和评分矩阵V映射到一个新的语义空间;除了在评级矩阵上实现最佳拟合之外,矩阵U或V中的一个分量也与另一个矩阵V或U中的每个分量紧密相关,采用相关矩阵分解获取推荐列表;
步骤3.1.1:为搭建相关矩阵分解推荐模型,将典型相关分析方法CCA作为相关矩阵分解推荐模型的组成部分;
相关矩阵分解推荐模型旨在将U和V放置在两个不同尺寸的不同潜在空间中,随后引入一个新的潜在相关因子y来预先耦合U和V,使得它们的关联最大化;y位于新的语义空间中(与U、V空间不同),捕获了U和V之间的语义关联;观察第i个用户和第j个项目之间的交互Rij在新的语义空间中测量,并且表示为变换的U和V之间的距离;随着y扮演中间人,使得用户和项目彼此之间的关系更加紧密。为了更好地将缺失值作为负面数据,引入一个权重变量cij,cij表示在观察用户i和项目j之间的交互Rij时的不同置信水平,并且可观察值总是拥有比丢失的值更高的权重。潜在的原因是,不对物品采取任何积极行动可能源于许多其他不喜欢它的原因,例如不知道物品的存在。
令K为用户矩阵U的维度,T为评分矩阵V的维度,i、j分别代表用户向量和项目向量;令R∈RP×Q表示用户-项目交互矩阵,其中P和Q分别是用户数和项目数;相关矩阵分解推荐模型生成步骤如下:
步骤3.1.2:定义L维度的高斯相关因子y~W(0,1L),其中L是CCA中潜在相关因子y的维数,W为高斯函数;
步骤3.1.3:对于每一个用户矢量i∈{1,...,P},定义用户的潜在向量如下:
Ui~W(Tuy+μu,Ψu);Tu∈RK×L,Ψu≥0
其中,Ui代表第i个用户的潜在向量;Tu是维度为K×L的矩阵;μu、Ψu为相关因子辅助参数;
步骤3.1.4:对于每一个项目矢量j∈{1,...,Q},定义项目的潜在向量如下:
Vj~W(Tvy+μv,Ψv);Tv∈RT×L,Ψv≥0
其中,Vj代表第j个项目的潜在向量;Tv是维度为T×L的矩阵;μv、Ψv为相关因子辅助参数;
步骤3.1.5:对于R中的每一条记录数据(i,j),定义评分向量如下:
其中,rij代表评分向量;权重变量定义为cij=1+αrij,α为常数。
生成步骤3.1.2、3.1.3和3.1.4构成了CCA的主体,最大似然估计使得U和V之间的相关性最大。同时,生成步骤3.1.3、3.1.4和3.1.5构成矩阵分解的框架。因此,U和V也具有评级矩阵潜在模式,通过将U和V用作共享部分,将矩阵分解MF和CCA巧妙地结合到一个统一的模型中。
在模型中,参数Tu和Tv分别是维度为K×L和T×L的矩阵。将U和V从各自的空间线性变换为y的空间(步骤3.1.3和3.1.4)。随机变量y形成变量集Φ={y}。可观察变量是整个评级矩阵R可以解释为权重参数,cij可以解释为权重参数,以指示观察Rij的不同置信度。大量实验验证,当αij=30模型总能产生良好的结果。
步骤3.1.6:按下式计算在给定初始模型参数Θ和评分的情况下从CMF模型产生的概率p(R|Θ);
步骤3.2:搭建训练生成式对抗网络模型GAN,用于推荐列表的生成。
步骤3.2.1:定义判别器D和生成器G的目标函数;
生成式对抗网络GAN,它提供了学习机器学习模型的新方法。通过涉及生成模型(简称为G)和判别模型(简称为D)的竞争过程,G学会了获取真实数据的分布,从而可以生成特性与真实数据无异的综合数据。其中G和D都是具备用户条件的,这意味着在学习模型参数的同时要考虑每个用户的个性化。给定用户特定的条件向量cu和随机噪声向量z,GAN中的G生成n维购买向量该向量应为稀疏向量,为所有与用户向量u的相关的记录相对应的元素。同样,以cu为条件,D被训练为区分所生成的购买向量与u的真实向量。
D的目标函数表示为JD,如下所示:
G的目标函数表示JG,如下所示:
其中,代表满足数据data的分布的数据期望,x-Pdata为x服从数据data的数据分布,D(·|·)为均方差,代表满足数据Φ的数据分布的数据期望,为服从数据Φ的数据分布,代表生成的数据,x代表真实数据,ru代表真实用户数据的评分;c为真实数据辅助向量;cu为用户购买数据辅助向量;eu为用户数据辅助向量,由0或1组成,用于筛选生成器生成但用户却未真实购买的数据;为生成的用户评分,u为某个用户。
步骤3.2.2:将G和D均实现为多层神经网络;
通过多层神经网络实现G和D,分别由φ和θ进行参数化;G是一个LG层的神经网络,LG≥2,其神经网络输入内容为{z,cu},输出为n维的购买向量其中{}表示内部两个向量的串联,cu是给定用户特定条件向量,z为随机噪声向量;D是一个LD层的神经网络,LD≥2,其神经网络输入是或{ru,cu},并输出一个单一的标量值,表示输入来自基本事实的概率,而不是G;随后采用随机梯度下降与小批量反向传播来训练G和D;交替更新它们各自的参数φ和θ,在另一个参数保持不变时更新;
步骤4、将CMF和GAN的推荐列表进行合并,合并规则为保留重复的推荐项目。
本实施例以某实验室搭建的电影推荐系统为例,使用本发明的带有差分隐私的生成式对抗网络推荐方法对该电影推荐系统的准确率进行评估。
本实施例所述的电影推荐系统采用C/S架构,特征存储模块采用J2EE开发技术,将业务处理、数据访问、合法性校验和系统接口等放在业务逻辑层。数据库采用MySQL关系数据库。特征收集模块和特征识别模块再用android技术,通过调用服务端的Servlet的实现各自功能。具体功能模块如图2所示,分别为电影评分模块、电影推荐模块、电影订票模块、登录注册模块以及订单模块。
本实施例所述电影推荐系统数据预处理以及差分隐私加噪过程如下:
步骤1-1:用户在系统上浏览、订阅电影、以及评分等操作所产生的数据称为痕迹数据,系统会将痕迹数据存储到数据库或者写入日志中。平台后期会对于数据库或日志中的用户痕迹数据进行导出特定存储。
步骤1-2:对于获取到的痕迹数据进行归纳和缩减,并最后合并为一张数据表,便于后续模型的训练。其中预处理操作包括:
UserID、Occupation和MovieID不用变;
Gender字段:需要将‘F’和‘M’转换成0和1;
Age字段:要转成7个连续数字0~6;
Genres字段:是分类字段,要转成数字。首先将Genres中的类别转成字符串到数字的字典,然后再将每个电影的Genres字段转成数字列表,因为有些电影是多个Genres的组合;
Title字段:处理方式跟Genres字段一样,首先创建文本到数字的字典,然后将Title中的描述转成数字的列表。另外Title中的年份也需要去掉。;
Genres和Title字段需要将长度统一,这样在神经网络中方便处理。空白部分用‘<PAD>’对应的数字填充。
步骤1-3:.对预处理后的训练数据进行差分隐私加噪,选取合理地参数值和加噪机制进行加噪,并在数据加噪训练中引入时刻变量来获取最优加噪结果。
本实施例所述的推荐模型训练过程如下:
步骤2-1:定义用户矩阵U和项目矩阵V,并对相关参数进行严格的定义;
步骤2-2实现相关矩阵分解推荐模型CMF,首先实现CCA,并和矩阵分解进行结合;
步骤2-3:随后训练模型寻找最佳模型参数,使得该模型参数在给定观测值的前提下最大程度地提高后验概率,最终生成推荐列表;
步骤2-4:定义判别器和生成器的目标函数;
步骤2-5:将G和D均实现为多层神经网络,搭建训练生成式对抗网络模型GAN,用于推荐列表的生成;
步骤2-6:利用模型预测出得分最高的前N个项目,生成推荐列表;
步骤2-7:将CMF和GAN的推荐列表进行合并,合并规则为保留重复的推荐项目,来提高推荐准确度。
本实施例中的所有数据均采集于电影推荐系统,其是一个集注册、登录、订票等多种服务于一身的智能电影推荐系统。本实施例推荐流程如图3所示,分别是用户登录注册、用户操作产生痕迹数据、后台获取数据集并对其进行预处理、平台利用本发明的推荐模型进行推荐产生推荐列表等。该电影推荐系统所使用的服务器配置如表1所示。
表1服务器配置表
搭建完最底层的环境之后,需要在环境中安装软件用于实验数据的收集与分析。本实施例选取的用户并发量数据集为Movielens 100K和Movielens 1M。
分析采集的历史用户并发量数据之后,需要对数据进行预处理,将数据补充为完整的数据集,之后,使用本发明的带有差分隐私的生成式对抗网络推荐方法进行推荐,并与其他推荐模型进行对比,验证该模型的推荐准确性。使用带有差分隐私的生成式对抗网络推荐方法(简称DPCMFGAN)与不带差分隐私的新型生成式对抗网络推荐方法(简称CMFGAN)预测完之后的比较数据如表2所示。
表2预测误差对比
算法 | 准确率 | 平均均方误差 | 平均绝对误差 |
CMFGAN | 0.6254 | 5.3654 | 2.0157 |
DPCMFGAN | 0.6198 | 6.7584 | 3.5864 |
通过对比分析可知,本发明的带有差分隐私的生成式对抗网络推荐方法DPCMFGAN推荐模型的推荐精确度要近似同于CMFGAN。证明本发明的模型在满足用户隐私数据的条件下保证足够高的推荐准确度。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。
Claims (1)
1.一种带有差分隐私的生成式对抗网络推荐方法,其特征在于:包括以下步骤:
步骤1:对电影数据集进行预处理,引入矢量对抗方案来进行类别型和文本型数据的处理;
步骤1.1:对数据集中的各字段进行归纳和分类,去掉无用的字段;
步骤1.2:对类别型字段和文本型字段预处理;
对于类别型字段的处理方式为:首先将类别型字段中的类别转成字符串到数字的字典,然后再将每个项目对应的类别型字段转成数字列表;
对于文本型字段的处理方式为:首先创建文本到数字的字典,然后将Title字段中的描述转成数字的列表;Title字段中的时间点也需要去掉;
文本型字段和类别型字段需要将长度统一,空白部分用‘<PAD>’对应的数字填充;
步骤1.3:电影数据集中的其它字段采用先验知识去进行归纳缩减,最后将预处理后的数据集合并为一张表;
步骤2:对经过预处理后的数据进行差分隐私加噪以及引入时刻计数法变量追踪加噪结果;
Pr[A(O1)∈O]≤exp(ε)·Pr[A(O2)∈O]+x-λ (1)
其中参数ε为隐私保护预算,Pr[·]为事件发生的概率,O为与数据集O1、O2相近的数据集,x、λ为差分隐私参数,x>0,λ>0;
引入高斯噪声机制,定义如下:
f(O)≈f(O)+N(0,Δf2,σ2) (2)
其中,Δf为全局灵敏度,由任意函数f确定,即Δf=|f(O1)-f(O2)|对于f:O→R;N(0,Δf2,σ2)是均值为0、标准偏差为Δfσ的高斯分布;噪声大小由隐私保护预算参数和全局灵敏度控制;
根据(ε,x,λ)~差分隐私的定义,对经过预处理后的数据添加差分隐私噪声,对数据集中数据进行保护;
在加噪过程中,随着迭代结果对隐私变量进行优化,可能会出现优化结果先增加后降低的趋势,根据这一现象引入时刻变量,计算每一时刻的加噪结果,以求得最优的加噪结果;
步骤3:训练推荐模型进行高低阶特征训练,推荐模型分为相关矩阵分解推荐模型和生成式对抗网络推荐模型两部分;
步骤3.1:相关矩阵分解推荐模型CMF,将用户矩阵U和评分矩阵V映射到一个新的语义空间;除了在评级矩阵上实现最佳拟合之外,矩阵U或V中的一个分量也与另一个矩阵V或U中的每个分量紧密相关,采用相关矩阵分解获取推荐列表;
步骤3.1.1:为搭建相关矩阵分解推荐模型,将典型相关分析方法CCA作为相关矩阵分解推荐模型的组成部分;
相关矩阵分解推荐模型旨在将U和V放置在两个不同尺寸的不同潜在空间中,随后引入一个新的潜在相关因子y来预先耦合U和V,使得它们的关联最大化;y位于新的语义空间中,捕获了U和V之间的语义关联;观察第i个用户和第j个项目之间的交互Rij在新的语义空间中测量,并且表示为变换的U和V之间的距离;为了更好地将缺失值作为负面数据,引入一个权重变量cij,cij表示在观察用户i和项目j之间的交互Rij时的不同置信水平,并且可观察值总是拥有比丢失的值更高的权重;
令K为用户矩阵U的维度,T为评分矩阵V的维度,i、j分别代表用户向量和项目向量;令R∈RP×Q表示用户-项目交互矩阵,其中P和Q分别是用户数和项目数;相关矩阵分解推荐模型生成步骤如下:
步骤3.1.2:定义L维度的高斯相关因子y~W(0,1L),其中L是CCA中潜在相关因子y的维数,W为高斯函数;
步骤3.1.3:对于每一个用户矢量i∈{1,...,P},定义用户的潜在向量如下:
Ui~W(Tuy+μu,Ψu);Tu∈RK×L,Ψu≥0
其中,Ui代表第i个用户的潜在向量;Tu是维度为K×L的矩阵;μu、Ψu为相关因子辅助参数;
步骤3.1.4:对于每一个项目矢量j∈{1,...,Q},定义项目的潜在向量如下:
Vj~W(Tvy+μv,Ψv);Tv∈RT×L,Ψv≥0
其中,Vj代表第j个项目的潜在向量;Tv是维度为T×L的矩阵;μv、Ψv为相关因子辅助参数;
步骤3.1.5:对于R中的每一条记录数据(i,j),定义评分向量如下:
其中,rij代表评分向量;权重变量定义为cij=1+αrij,α为常数;
步骤3.1.6:按下式计算在给定初始模型参数Θ和评分的情况下从CMF模型产生的概率p(R|Θ);
步骤3.2:搭建训练生成式对抗网络模型GAN,用于推荐列表的生成;
步骤3.2.1:定义判别器D和生成器G的目标函数;
D的目标函数表示为JD,如下所示:
G的目标函数表示JG,如下所示:
其中,代表满足数据data的分布的数据期望,x-Pdata为x服从数据data的数据分布,D(·|·)为均方差,代表满足数据Φ的数据分布的数据期望,为服从数据Φ的数据分布,代表生成的数据,x代表真实数据,ru代表真实用户数据的评分;c为真实数据辅助向量;cu为用户购买数据辅助向量;eu为用户数据辅助向量,由0或1组成,用于筛选生成器生成但用户却未真实购买的数据;为生成的用户评分,u为某个用户;
步骤3.2.2:将G和D均实现为多层神经网络;
通过多层神经网络实现G和D,分别由φ和θ进行参数化;G是一个LG层的神经网络,LG≥2,其神经网络输入内容为{z,cu},输出为n维的购买向量即生成的用户评分,其中{}表示内部两个向量的串联,z为随机噪声向量;D是一个LD层的神经网络,LD≥2,其神经网络输入是或{ru,cu},并输出一个单一的标量值,表示输入来自基本事实的概率,而不是G;随后采用随机梯度下降与小批量反向传播来训练G和D;交替更新它们各自的参数φ和θ,在另一个参数保持不变时更新;
步骤4、将CMF和GAN的推荐列表进行合并,合并规则为保留重复的推荐项目。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110086346.8A CN112883070B (zh) | 2021-01-22 | 2021-01-22 | 一种带有差分隐私的生成式对抗网络推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110086346.8A CN112883070B (zh) | 2021-01-22 | 2021-01-22 | 一种带有差分隐私的生成式对抗网络推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112883070A CN112883070A (zh) | 2021-06-01 |
CN112883070B true CN112883070B (zh) | 2022-05-10 |
Family
ID=76050033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110086346.8A Active CN112883070B (zh) | 2021-01-22 | 2021-01-22 | 一种带有差分隐私的生成式对抗网络推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112883070B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113220936B (zh) * | 2021-06-04 | 2023-08-15 | 黑龙江广播电视台 | 基于随机矩阵编码和简化卷积网络的视频智能推荐方法、装置及存储介质 |
CN113095490B (zh) * | 2021-06-07 | 2021-09-14 | 华中科技大学 | 一种基于差分隐私聚合的图神经网络构建方法及构建系统 |
CN113282961A (zh) * | 2021-07-22 | 2021-08-20 | 武汉中原电子信息有限公司 | 一种基于电网数据采集的数据脱敏方法及系统 |
CN116415293B (zh) * | 2023-02-23 | 2024-01-26 | 山东省人工智能研究院 | 一种基于生成对抗网络的用户私有属性匿名化方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107368752A (zh) * | 2017-07-25 | 2017-11-21 | 北京工商大学 | 一种基于生成式对抗网络的深度差分隐私保护方法 |
CN111177781A (zh) * | 2019-12-30 | 2020-05-19 | 北京航空航天大学 | 一种基于异构信息网络嵌入的差分隐私推荐方法 |
WO2020210112A1 (en) * | 2019-04-08 | 2020-10-15 | Shutterstock, Inc. | Generating synthetic photo-realistic images |
-
2021
- 2021-01-22 CN CN202110086346.8A patent/CN112883070B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107368752A (zh) * | 2017-07-25 | 2017-11-21 | 北京工商大学 | 一种基于生成式对抗网络的深度差分隐私保护方法 |
WO2020210112A1 (en) * | 2019-04-08 | 2020-10-15 | Shutterstock, Inc. | Generating synthetic photo-realistic images |
CN111177781A (zh) * | 2019-12-30 | 2020-05-19 | 北京航空航天大学 | 一种基于异构信息网络嵌入的差分隐私推荐方法 |
Non-Patent Citations (2)
Title |
---|
Differentially Private Generative Adversarial Network;Liyang Xie等;《machine learning》;20180219;全文 * |
大数据环境下差分隐私保护技术及应用;付钰等;《通信学报》;20191031;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112883070A (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Acs et al. | Differentially private mixture of generative neural networks | |
CN112883070B (zh) | 一种带有差分隐私的生成式对抗网络推荐方法 | |
US20200410116A1 (en) | Sensitive Data Classification | |
Papalexakis et al. | Tensors for data mining and data fusion: Models, applications, and scalable algorithms | |
Garreta et al. | Learning scikit-learn: machine learning in python | |
Ji et al. | Differential privacy and machine learning: a survey and review | |
de Araujo et al. | Tensorcast: Forecasting with context using coupled tensors (best paper award) | |
Estevez-Velarde et al. | AutoML strategy based on grammatical evolution: A case study about knowledge discovery from text | |
Zhou et al. | Multi-task crowdsourcing via an optimization framework | |
Lu et al. | A security-assured accuracy-maximised privacy preserving collaborative filtering recommendation algorithm | |
Shan et al. | A web service clustering method based on semantic similarity and multidimensional scaling analysis | |
Huang et al. | A semantic matching approach addressing multidimensional representations for web service discovery | |
Nguyen et al. | A survey of privacy-preserving model explanations: Privacy risks, attacks, and countermeasures | |
Ansari et al. | Big data analytics | |
Ifada et al. | How relevant is the irrelevant data: leveraging the tagging data for a learning-to-rank model | |
Tejasree et al. | An improved differential bond energy algorithm with fuzzy merging method to improve the document clustering for information mining | |
Liu | POI recommendation model using multi-head attention in location-based social network big data | |
Lu et al. | Tensor mutual information and its applications | |
Choong et al. | Variational approach for learning community structures | |
Wen et al. | Pairwise multi-layer nets for learning distributed representation of multi-field categorical data | |
Tang et al. | Predicting total sales volume interval of an experiential product with short life cycle before production: similarity comparison in attribute relationship patterns | |
Salamatian et al. | SPPM: Sparse Privacy Preserving Mappings. | |
Hasan et al. | Multi-criteria rating and review based recommendation model | |
Zhou et al. | Spectral clustering-based matrix completion method for top-n recommendation | |
Wu et al. | A contextual information-augmented probabilistic case-based reasoning model for knowledge graph reasoning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |