1.一种基于差分隐私和时间感知的隐式矩阵分解推荐方法,其特征在于,包括以下步骤:步骤1,确定用户对项目的历史评分数据集D,所述用户对项目的历史评分数据集D包括M个用户和N个项目,以及用户-项目评分矩阵 其中,M表示用户的个数,N表示项目的个数;所述用户-项目评分矩阵中的元素记为rui,rui∈R,代表用户u对项目i的评分;每条评分记录都有其对应的时间戳,代表用户u对项目i评分的具体时间;
步骤2,对用户-项目评分矩阵R进行归一化处理,使得矩阵中每个元素的取值范围转化为0到1区间内,得到预处理后的用户-项目评分矩阵步骤3,设定时间序列P={t1,t2,...,tT},T表示时间序列的长度,根据用户评分数据的时间戳,划分所述预处理后的用户-项目评分矩阵 得到T个互不相交的子评分矩阵,即用户的时间序列评分矩阵步骤4,根据时间衰减函数为所述用户的时间序列评分矩阵 分配隐私预算{ε1,ε2,...,εT};并对评分矩阵 中的所有项目评分 添加拉普拉斯噪声,得到扰动后的用户的时间序列评分矩阵 其中步骤5,随机初始化用户特征矩阵 和项目特征矩阵 其中K为超参数,表示K维潜在向量空间;设定最大迭代次数为maxIter,获得优化更新后的用户特征矩阵Pt和项目特征矩阵Qt;
步骤6,对于扰动后的用户的序列评分矩阵 中的任一t时刻的评分矩阵执行步骤5,获得用户序列特征矩阵P1,P2,...PT和项目特征矩阵Q1,Q2,...QT;
步骤7,利用自回归模型计算用户和项目特征矩阵随时间变化的趋势,根据得到的T个时间段中的用户特征矩阵和项目特征矩阵,获得T+1时刻的用户特征矩阵PT+1以及T+1时刻的项目特征矩阵QT+1;
步骤8,计算T+1时间段的评分矩阵R'T+1=PT+1QT+1,选择预测评分值最大的TOP-N个项目对用户进行推荐,实现对用户推荐其未来某一段时间可能感兴趣的项目的任务。
2.根据权利要求1所述的基于差分隐私和时间感知的隐式矩阵分解推荐方法,其特征在于,步骤4包括以下子步骤:子步骤4.1,对于任意t(t∈T)时刻的用户的时间序列评分矩阵 根据时间衰减函数,为所述时间序列评分矩阵 分配的隐私预算εt(0≤t≤T)为:其中,Importt=1·e-α(T-t),代表评分数据随时间的重要程度;α是超参数;ε是超参数,代表隐私保护程度;
子步骤4.2,对所述用户的时间序列评分矩阵 中的所有项目评分 添加拉普拉斯噪声,对于任一用户u对项目i的评分 根据公式加入噪声 其中,
子步骤4.3,将扰动后的评分控制在范围 中,根据公式:作为后处理,对扰动后的评分进行限制,得到扰动后的用户的序列评分矩阵其中
3.根据权利要求1所述的基于差分隐私和时间感知的隐式矩阵分解推荐方法,其特征在于,步骤5包括以下子步骤:子步骤5.1,随机初始化用户特征矩阵Pt和项目特征矩阵Qt,计算估计评分其中 表示原始评分数据加噪后的评分 中非零的用户-项目对;
子步骤5.2,设定最大迭代次数为maxIter,循环执行子步骤5.3-5.6;
子步骤5.3,计算缓存 对于每个用户u(1≤u≤M),重复执行子步骤5.3.1;
子步骤5.3.1,对于潜在特征f(1≤f≤k),k为超参数,表示潜在特征数目,重复执行子步骤5.3.1.1-5.3.1.3;
子步骤5.3.1.1,对于 其中 表示被用户u评价过的项目的集合,遍历参数i,根据公式计算:子步骤5.3.1.2,根据公式计算:
子步骤5.3.1.3,对于 再次遍历参数i,根据公式计算:子步骤5.4,结束子步骤5.3的所有遍历后,得到一次迭代中更新后的用户特征矩阵Pt;
子步骤5.5,计算缓存Sq=PTP,对于每个项目i(1≤i≤N),重复执行子步骤5.5.1;
子步骤5.5.1,对于潜在特征f(1≤f≤k);重复执行子步骤5.5.1.1-5.5.1.3;
子步骤5.5.1.1,对于 其中 表示评价过的项目i的所有用户的集合;遍历参数i,根据公式计算:子步骤5.5.1.2,根据公式计算:
子步骤5.5.1.3,对于 再次遍历参数i,根据公式计算:子步骤5.6,结束子步骤5.5的所有遍历后,得到一次迭代中更新后的项目特征矩阵Qt;
子步骤5.7,通过迭代子步骤5.3-5.6,达到maxIter次后,得到优化更新后的用户特征矩阵Pt和项目特征矩阵Qt。
4.根据权利要求3所述的基于差分隐私和时间感知的隐式矩阵分解推荐方法,其特征在于,在进行步骤5.1-5.5时,设定目标函数如下:其中,wui定义为每条评分记录 的权重;W=[wui]M×N,表示权重矩阵;
其中,cui表示缺失评分的项目的置信度;c0和k是超参数,代表用户的活跃度和项目的流行程度各自的权重; 表示项目i的受欢迎程度,由其在隐式反馈数据中的出现频率fi可知; 表示用户的活跃度,从用户u对项目评分的频率fu可知;
其中,λ为超参数,代表约束正则化;pu表示用户u的潜在特征向量,qi表示项目i的潜在特征向量。
5.根据权利要求1所述的基于差分隐私和时间感知的隐式矩阵分解推荐方法,其特征在于,步骤7包含以下子步骤:子步骤7.1,利用得到的T个用户特征矩阵Pt(t∈T)和项目特征矩阵Qt(t∈T),通过以下公式执行子步骤7.2,计算得到T+1时刻的用户u的用户特征矩阵 和项目特征矩阵其中 是系数矩阵, 为白噪声;
子步骤7.2,预测用户特征矩阵 执行子步骤7.2.1,用最小二乘估计方法学习公式中的参数子步骤7.2.1,计算残差 并且利用子步骤7.2.2计算使残差平方和 达到最小,得到自回归参数的估计;
子步骤7.2.2,计算:
得到如下线性方程组:
Y=XC+ε
目标函数表示为:
L(C)=(Y-XC)T(Y-XC)=YYT-2YTXC+CTXTXC对参数C求导并令其为0,可得:
参数C的最小二乘估计为:
C=(XTX)-1XTY
将参数C带入式 中,得T+1时刻的用户特征矩阵子步骤7.3,预测项目特征矩阵QT+1,执行子步骤7.2.1,用最小二乘估计方法学习公式中的参数 带入式 中,得T+1时刻的项目特征矩阵QT+1。