一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种电网用户评价稀疏矩阵评分预测方法与流程

2021-10-24 12:23:00 来源:中国专利 TAG:稀疏 矩阵 电网 用户评价 评分


1.本发明属于软件技术领域,尤其涉及一种电网用户评价稀疏矩阵评分预测方法。


背景技术:

2.智能问答系统是将积累的无序语料信息,进行有序和科学的整理,并建立基于知识的分类模型;这些分类模型可以指导新增加的语料咨询和服务信息,节约人力资源,提高信息处理的自动性。智能问答系统根据用户提问,将从知识库或者互联网中搜索相应的答案,然后把答案直接返回给用户,这当中协同过滤推荐机制是目前研究最多、效果最好的个性化推荐技术,它根据用户的历史选择信息和相似性关系,通过收集与用户兴趣爱好相同或者相似的其他用户的评价信息来产生推荐,在理论研究和工程实践中都取得了重要的进展。
3.在大数据环境下,电网用户行为所产生的历史数据增长迅速,和用户总体数目及用户评价的信息数据相比,单个用户

用户评价所产生的数据微乎其微,且新用户和用户评价不断加入系统不断产生新的关联,导致数据集具有很高的稀疏性。
4.有研究表明:用户评分数据比较稀疏时,推荐系统性能会急剧下降。针对电网用户行为评分稀疏性问题,通过迭代学习用户评价隐变量分布压缩用户评分矩阵维数解决数据稀疏性问题,通过奇异值分解减少用户评价空间维数,但降维会导致信息损失,难以保证推荐效果。基于概念语义相似度填充用户

项评分矩阵,取得了不错的效果,然而该算法只能对相似度较高用户评价进行评分预测,对用户

评分矩阵中用户评价相似性较小用户评价无法进行预测评分。
5.语义相似度基于语义重合度进行考虑,更能体现概念之间的相似部分,但是只考虑了语义重合的部分,对差异部分没有进行考虑。得到用户评价之间的内容相似性后,选择用户评价相似度较高的若干个进行评分预测,用预测评分填充用户

用户评价矩阵中的空项,降低其稀疏性。由于不同类别的用户评价之间在属性描述上有较大差别,基于语义的方法无法计算跨类别的用户评价之间的相似性,因此无法进行跨类别的评分预测。此外,基于语义的相似性计算需要提取用户评价的属性特征,设计到领域知识,应用面较窄。
6.svd(singular value decomposition,奇异值分解)是一种矩阵分解算法,能够有效的提取关键特征,深刻的揭示矩阵的内部结构。奇异值分解图形如图1表示。sarwar等人将svd引入到协同过滤算法中,利用矩阵分解方法将用户对用户评价的评分分解为用户、用户评价特征向量矩阵,并利用用户和用户评价之间的潜在关系,用评分矩阵的奇异值提取出一些本质特征。svd算法改善了协同过滤推荐系统在稀疏评分矩阵上的推荐质量,算法对评分矩阵填充后矩阵的特征值与填充前特征值相差较小,由于推荐系统中存在数据较为稀疏的情况,svd算法在评分预测中常会出现过拟合现象。


技术实现要素:

7.本发明要解决的技术问题是:提供一种电网用户评价稀疏矩阵评分预测方法,以
解决电网用户评分矩阵稀疏性导致的矩阵分解算法产生的过拟合现象,降低了协同过滤推荐算法质量等技术问题。
8.本发明技术方案:
9.一种电网用户评价稀疏矩阵评分预测方法,它包括:通过构建本体概念的层次结构树计算用户评价之间的语义相似度,对稀疏矩阵中相似度大于相似度阈值的用户评价进行部分评分预测填充;以预测后评分矩阵为基础,基于矩阵分解理论进行降维与分解,进一步对小于等于相似度阈值的用户评价进行评分预测,从而实现对稀疏矩阵中评分缺失值的预测填充。
10.一种电网用户评价稀疏矩阵评分预测方法,具体包括下述步骤:
11.步骤1、根据用户评分对用户评价分类为已评分概念实例集合v
m
和待预测评分概念实例集合w
m

12.步骤2、遍历本体层次树,获取概念实例深度depth(i
i
),i
i
∈v
m
,depth(i
j
),i
j
∈w
m
和其最小公共祖先节点lso(i
i
,i
j
),计算用户评价相似度;
13.步骤3、获取v
m
中用户评价相似度大于相似度阈值ε的子集v
m
',对待预测用户评价i
j
∈w
m
进行评分预测;
14.步骤4、v
m
中没有任何元素与i
j
相似度大于阈值ε,访问w
m
中下一个元素,跳转到步骤2;
15.步骤5、以语义相似度方法预测后的评分矩阵为输入矩阵,按照矩阵分解方法对评分矩阵进行降维,分解成与原矩阵最佳逼近的低阶近似矩阵,计算损失函数,进行迭代计算得到评分矩阵分解后两个矩阵的各元素值,最后得到评分矩阵中待预测用户评价评分值。
16.步骤2所述计算用户评价相似度的方法为:两个概念实例之间的距离越短,这两个概念之间的相似度就越高,反之亦然,则相似度公式为:
[0017][0018]
式中:depth表示节点到根节点的最短路径,lso表示两个实例的最小公共祖先节点,len表示两节点之间的最短路径;由公式(1)可知,概念间的相似度随着最小共同祖先节点深度的增加而增加,且,当i
i
=i
j
时,sim(i
i
,i
j
)=1。
[0019]
步骤3所述获取v
m
中用户评价相似度大于相似度阈值ε的子集v
m
',对待预测用户评价i
j
∈w
m
进行评分预测的公式为:
[0020][0021]
所述评分预测的具体方法为:
[0022]
设用户评价集合为i=(i1,...,i
i
,i
j
,...,i
n
),ε为一阈值常数,若i
i
与i
j
的语义相
似度大于阈值,则i
i
与i
j
之间是相似的;否则i
i
与i
j
之间是不相似的;
[0023]
设用户集合为u=(u1,...,u
m
,u
n
,...,u
k
),用户u
m
已评分用户评价集合为v
m
,未评分的用户评价集合为w
m
,i
i
、i
j
分别为集合v
m
、w
m
的任一元素,r
mi
是用户u
m
已评分用户评价i
i
的评分,ε为阈值常数;
[0024]
用户u
m
对用户评价i
j
的评分预测r
mj
为。
[0025][0026]
证明:假设已评分集合v
m
中包含t个用户评价,与待评分用户评价i
j
相似度大于阈值ε的两个分别为i
p
,i
q
,则依据用户评价i
p
,i
q
的预测评分公式:
[0027][0028]
综合考虑相似用户评价i
p
,i
q
与相似性用户评价i
j
的相似性权重得:
[0029][0030]
依据已知评分r
mp
,r
mq
与相似度权重可得公式:
[0031][0032]
进一步推广到u
m
已评分集合v
m
中包括一个以上与待评分用户评价i
j
相似的用户评价时,即sim(i
i
,i
j
)>ε,都有一个对待预测用户评价的评分,根据语义相似度预测方法,用户u
m
对用户评价i
j
的评分预测r
mj
计算公式。
[0033]
步骤5所述以语义相似度方法预测后的评分矩阵为输入矩阵,按照矩阵分解方法对评分矩阵进行降维,分解成与原矩阵最佳逼近的低阶近似矩阵,计算损失函数的方法为:
[0034]
设语义相似度方法预测后的评分矩阵为m
×
n的矩阵r,对于稀疏矩阵r,应用矩阵分解方法对矩阵缺失值预测,矩阵r可分解为m
×
k维的u矩阵与k
×
n维的v矩阵;符号为对矩阵r进行预测后的近似评分矩阵:
[0035][0036]
矩阵u为m个用户与k个主题的关系,v矩阵为k个主题与n个用户评价的关系,主题k为基于具体用户评价的参数,近似评分矩阵的第i行,第j列的元素值为:
[0037][0038]
设近似评分矩阵的损失函数为实际评分与近似评分的平方和,基于矩阵分解的评
分预测的损失函数表示为:
[0039][0040]
步骤5所述进行迭代计算得到评分矩阵分解后两个矩阵的各元素值,最后得到评分矩阵中待预测用户评价评分值的方法为:
[0041]
对损失函数分别求偏导数得到:
[0042][0043][0044]
基于梯度下降优化算法沿着最快下降方向推进,符号α为学习率:
[0045][0046]
为防止评分矩阵过度拟合,加入正则项β(||u
i
||2 ||v
k
||2),其中β为正则化参数,得到:
[0047]
u
i,k
=u
i,k
α(2e
i,j
v
k,j

βu
i,k
)
[0048]
v
k,j
=v
k,j
α(2e
i,j
u
i,k

βv
k,j
)
ꢀꢀ
(12)
[0049]
求出矩阵u,v后,用户i对物品j的预测评分公式为:
[0050]
u(i,1)*v(1,j) u(i,2)*v(2,j)

u(i,k)*v(k,j)
ꢀꢀ
(13)。
[0051]
它还包括对电网用户评价稀疏矩阵评分预测方法的可行性和有效性进行验证,验证方法具体为:在qt 7.4.7编程环境下用c 语言对算法进行实现;数据来自于美国明尼苏达州立大学计算机科学系grouplens研究小组搜集的用于协同过滤算法的数据集;此数据集的稀疏度为100000/1682
×
943≈93.7%,首先将整个数据集进行随机化混洗操作,然后将实验数据平均分成5份互不相交的子数据集,训练集和测试集的数据比例为4:1;5个数据集评分1到评分5的分布比例数值如表1所示。
[0052]
表1评分分布比例
[0053][0054]
由表1的评分分布比例得出,数据集1评分为5的数据与数据集3评分为5的数据分布比例差值为1.87%,为整个数据集中相差最大,其余数据集各评分分布相差较小,因此数据集1不作为测试集,数据集2到数据集5之间任选1个为测试集进行测试;
[0055]
实验中根据数据进行分类构造本体层次数记为hierarchy tree,语义相似度阈值为ε,矩阵分解的特征数或维数为f,学习率为α,正则化参数为β,相关参数设置如表2所示:
[0056]
表2实验参数设置
[0057][0058]
为了验证算法性能,在数据集上分别运行基于语义相似度的评分预测算法、基于稀疏矩阵进行奇异值分解的评分预测算法和基于随机数对缺失值填充后再进行矩阵分解的预测算法并进行对比分析,通过调整相似度阈值和迭代次数获取运行结果并进行统计分析;
[0059]
采用平均绝对偏差mae作为度量标准;mae通过计算预测的用户评分与实际的用户评分之间的偏差度量预测的准确性;假设算法对n个项目预测后的评分用向量表示为{p1,p2,

,p
n
},对应的实际用户评分集合为{r1,r2,

r
n
},则mae计算公式如下:
[0060][0061]
得出相似度阈值设置为0.75。
[0062]
为了有效性,将基于稀疏矩阵直接进行svd分解进行预测填充方法、使用随机数,范围为1

5;对稀疏矩阵进行预填充后再进行矩阵分解的算法和本发明提出算法随矩阵分解后保留维数变化而波动的结果进行对比得出:本发明在考虑保留原始评分数据集合属性的条件下,通过调整评分预测过程中相似度阈值以对相似度较高项目进行部分预填充,为矩阵分解的原始稀疏矩阵提供更为丰富的源数据信息,在相似度阈值设置为0.75的情况下,本发明算法mae值较svd分解算法更小。
[0063]
本发明的有益效果:
[0064]
本发明通过本体概念的语义相似度对稀疏矩阵中相似度较高用户评价进行部分评分预测填充,然后以预测后评分矩阵为基础基于预测后的评分矩阵利用矩阵分解算法对相似度较低的未评分项进一步预测缺失值,对稀疏矩阵进行第二次预测填充,最后得到完整的用户

评分矩阵,以改善矩阵极度稀疏的情况下矩阵分解算法产生的过拟合现象,提高了协同过滤推荐算法质量。
附图说明
[0065]
图1本发明矩阵分解示意图;
[0066]
图2本发明语义相似度阈值对mae值影响示意图;
[0067]
图3本发明mae值随分解后保留维数变化对比示意图。
具体实施方式
[0068]
两个概念实例之间的距离越短,这两个概念之间的相似度就越高,反之亦然。基于本体层次树中概念词的重叠路径体现概念的语义距离相似度,相似度算法模型如公式(1)。
[0069][0070]
其中depth表示节点到根节点的最短路径,lso表示两个实例的最小公共祖先节点,len表示两节点之间的最短路径。由公式(1)可知,概念间的相似度随着最小共同祖先节点深度的增加而增加,且,当i
i
=i
j
时,sim(i
i
,i
j
)=1。
[0071]
设用户评价集合为i=(i1,...,i
i
,i
j
,...,i
n
),ε为一阈值常数,若i
i
与i
j
的语义相似度大于阈值,则i
i
与i
j
之间是相似的;否则i
i
与i
j
之间是不相似的。
[0072]
用户集合为u=(u1,...,u
m
,u
n
,...,u
k
),用户u
m
已评分用户评价集合为v
m
,未评分的用户评价集合为w
m
,i
i
、i
j
分别为集合v
m
、w
m
的任一元素,r
mi
是用户u
m
已评分用户评价i
i
的评分,ε为阈值常数。
[0073]
用户u
m
对用户评价i
j
的评分预测r
mj
为。
[0074][0075]
证明:假设已评分集合v
m
中包含t个用户评价,与待评分用户评价i
j
相似度大于阈值ε的两个分别为i
p
,i
q
,则依据用户评价i
p
,i
q
的预测评分公式:
[0076][0077]
综合考虑相似用户评价i
p
,i
q
与相似性用户评价i
j
的相似性权重得:
[0078][0079]
依据已知评分r
mp
,r
mq
与相似度权重可得公式:
[0080][0081]
进一步推广到u
m
已评分集合v
m
中包括多个与待评分用户评价i
j
相似的用户评价时,即sim(i
i
,i
j
)>ε,都有一个对待预测用户评价的评分,根据语义相似度预测方法,用户u
m
对用户评价i
j
的评分预测r
mj

[0082][0083]
基于语义相似度的评分预测有效的填充了用户评分稀疏矩阵,但只能对相似用户评价之间进行评分预测,相似度较低用户评价无法进行评分预测,本发明算法基于填充后的评分矩阵使用矩阵分解方法对评分矩阵中相似度较小的为评分用户评价进一步缺失值评分预测,得到完整的用户

评分矩阵。
[0084]
设用户评价评分矩阵为m
×
n的矩阵r,对于稀疏矩阵r,应用矩阵分解方法对矩阵缺失值预测,矩阵r可分解为m
×
k维的u矩阵与k
×
n维的v矩阵。符号为对矩阵r进行预测后的近似评分矩阵。
[0085][0086]
矩阵u为m个用户与k个主题的关系,v矩阵为k个主题与n个用户评价的关系,主题k为基于具体用户评价的参数,可以根据需求进行调节。近似评分矩阵的第i行,第j列的元素值为:
[0087][0088]
设近似评分矩阵的损失函数为实际评分与近似评分的平方和,基于矩阵分解的评
分预测的损失函数表示为:
[0089][0090]
对损失函数分别求偏导数得到:
[0091][0092]
基于梯度下降优化算法沿着最快下降方向推进,符号α为学习率:
[0093][0094]
为防止评分矩阵过度拟合,加入正则项β(||u
i
||2 ||v
k
||2),其中β为正则化参数,得到:
[0095][0096]
求出矩阵u,v后,用户i对物品j的预测评分公式为:
[0097][0098]
基于上文所述,基于本体概念层次结构树的电网用户评价稀疏矩阵评分预测算法可以表述为:首先通过本体概念的语义相似度对稀疏矩阵中相似度较高用户评价进行部分评分预测填充,然后基于预测后的评分矩阵利用矩阵分解算法对相似度较低的未评分项进一步预测缺失值,对稀疏矩阵进行第二次预测填充,最后得到完整的用户

评分矩阵,以改善矩阵极度稀疏的情况下矩阵分解算法产生的过拟合现象,提高协同过滤推荐算法质量。算法的详细步骤为:
[0099]
输入:用户

用户评价评分稀疏矩阵。
[0100]
输出:用户

用户评价预测评分矩阵。
[0101]
step 1:根据用户评分对用户评价分类为已评分概念实例集合v
m
和待预测评分概念实例集合w
m

[0102]
step 2:遍历本体层次树,获取概念实例深度depth(i
i
),i
i
∈v
m
,depth(i
j
),i
j
∈w
m
和其最小公共祖先节点lso(i
i
,i
j
),根据公式(1)计算用户评价相似度。
[0103]
step 3:获取v
m
中用户评价相似度大于相似度阈值ε的子集v
m
',根据公式(6)对待预测用户评价i
j
∈w
m
进行评分预测。
[0104]
step 4:v
m
中没有任何元素与i
j
相似度大于阈值ε,访问w
m
中下一个元素,跳转到step 2。
[0105]
step 5:以语义相似度方法预测后的评分矩阵为输入矩阵,按照矩阵分解方法对评分矩阵进行降维、分解成与原矩阵最佳逼近的低阶近似矩阵,
[0106]
依据公式(9)计算损失函数,按照公式(12)迭代计算得到评分矩阵分解后两个矩
阵的各元素值,并代入公式(13)计算得到评分矩阵中待预测用户评价评分值。
[0107]
为了验证本发明算法的可行性与有效性,在qt 7.4.7编程环境下用c 语言对算法进行实现。实验中用到的数据来自于美国明尼苏达州立大学计算机科学系grouplens研究小组搜集的用于协同过滤算法的数据集(http://grouplens.org/datasets/movielens/100k/),此数据集的稀疏度为100000/1682
×
943≈93.7%,因此该数据集的稀疏度非常高。实验首先将整个数据集进行随机化混洗操作,然后将实验数据平均分成5份互不相交的子数据集,训练集和测试集的数据比例为4:1。
[0108]
5个数据集评分1到评分5的分布比例数值如表1所示。
[0109]
表1评分分布比例
[0110][0111]
由表1的评分分布比例可以看出,数据集1评分为5的数据与数据集3评分为5的数据分布比例差值为1.87%,为整个数据集中相差最大,其余数据集各评分分布相差较小,因此数据集1不作为测试集,数据集2到数据集5之间任选1个为测试集进行测试。
[0112]
实验中根据数据进行分类构造本体层次数记为hierarchy tree,语义相似度阈值为ε,矩阵分解的特征数(维数)为f,学习率为α,正则化参数为β,相关参数设置如表2所示。
[0113]
表2实验参数设置
[0114]
[0115]
为了验证本发明算法性能,在数据集上分别运行基于语义相似度的评分预测算法、基于稀疏矩阵进行奇异值分解的评分预测算法和基于随机数对缺失值填充后再进行矩阵分解的预测算法并进行对比分析。通过调整相似度阈值、迭代次数等参数获取运行结果并进行统计分析。
[0116]
采用平均绝对偏差mae(means absolute error)作为度量标准。mae通过计算预测的用户评分与实际的用户评分之间的偏差度量预测的准确性。假设算法对n个项目预测后的评分用向量表示为{p1,p2,

,p
n
},对应的实际用户评分集合为{r1,r2,

r
n
},则mae计算公式如下。不同评分预测算法mae值的变化曲线如图3所示。
[0117][0118]
实验首先通过调整语义相似度阈值对比语义相似度算法与提出算法的mae值变化趋势,运行结果如图1所示。实验结果表明,本发明提出算法与基于构建本体结构树的项目语义相似度算法随语义相似度阈值的变化趋势相似,在语义相似度阈值大于0.8的情况下,mae值没有随着语义相似度阈值的增加而减少,这是因为如果语义相似度阈值设置太大,算法只对相似度特别高的项目进行评分预测,预测结果相对更为准确,但是相似度偏低项目仍无法进行评分预测,通过语义相似度进行评分预测的项目也相对减少,经预测后数据集仍较为稀疏,不能达到预测算法目的。语义相似度阈值设置太小又会导致评分预测的不准确而破坏数据集原始属性。为了达到既不破坏数据集内部结构又能够对极度稀疏矩阵中相似性较大项目进行部分预测以为矩阵分解提供更多基础信息的目的,经实验数据分析,本发明算法语义相似度阈值设置为0.75较为合适。
[0119]
为了验证本发明算法的有效性,将基于稀疏矩阵直接进行svd分解进行预测填充方法、使用随机数(范围为1

5)对稀疏矩阵进行预填充后再进行矩阵分解的算法和本发明提出算法随矩阵分解后保留维数变化而波动的结果进行对比,mae值变化的折线图如图2所示。
[0120]
由图2中算法对比结果可知,传统的使用随机数或使用评分均值对评分矩阵进行预填充进行矩阵分解后mae值极有可能较原始矩阵直接进行svd分解更大,这是因为对缺失评分的填充可能改变原始数据的本质属性。本发明算法在考虑保留原始评分数据集合属性的条件下,通过调整评分预测过程中相似度阈值以对相似度较高项目进行部分预填充,为矩阵分解的原始稀疏矩阵提供更为丰富的源数据信息。图2中相似度阈值设置为0.75的情况下,本发明算法mae值较svd分解算法更小。
[0121]
结论:
[0122]
为了解决电网智能问答推荐系统中评分矩阵稀疏性问题,本发明引入本体语义相似度对稀疏评分矩阵中相似度较高项目进行部分评分预测,为通过矩阵分解进一步预测评分缺失值的稀疏矩阵进行预处理,经过两次评分预测,有效的解决了评分矩阵的稀疏性问题。通过调整语义相似度阈值使通过本体概念的语义相似度算法既不破坏原始数据的本质特征,又能为矩阵分解算法提供更完善的数据支持,矩阵分解方法能够通过降维方法揭示稀疏评分矩阵的内在属性,提出算法在评分预测方面融合了语义相似度与矩阵分解算法的优点。实验结果表明:稀疏评分矩阵得到了完全填充,且矩阵mae值有了一定幅度的降低。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜