CN108830315B - 一种评分数据噪声消除方法 - Google Patents

一种评分数据噪声消除方法 Download PDF

Info

Publication number
CN108830315B
CN108830315B CN201810576917.4A CN201810576917A CN108830315B CN 108830315 B CN108830315 B CN 108830315B CN 201810576917 A CN201810576917 A CN 201810576917A CN 108830315 B CN108830315 B CN 108830315B
Authority
CN
China
Prior art keywords
item
user
scoring
score
data
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
Application number
CN201810576917.4A
Other languages
English (en)
Other versions
CN108830315A (zh
Inventor
陈炳才
刘杰
聂冰洋
赵楠
宁芊
余超
谢冬梅
潘伟民
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dalian University of Technology
Original Assignee
Dalian University of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dalian University of Technology filed Critical Dalian University of Technology
Priority to CN201810576917.4A priority Critical patent/CN108830315B/zh
Publication of CN108830315A publication Critical patent/CN108830315A/zh
Application granted granted Critical
Publication of CN108830315B publication Critical patent/CN108830315B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques

Abstract

本发明属于数据挖掘技术领域,提供了一种评分数据噪声消除方法,设计一种使用于协同过滤技术数据预处理过程中,主要目的是消除原始评分数据评分噪声。该方法区别于已有方法的特色在于将用户之间相似度关系和项目之间流行度差异信息结合起来对原始评分数据进行修正,以消除环境因素导致的评分偏移,以提高协同过滤技术的推荐准确度。该方法在进行噪声处理过程中综合考虑了项目之间流行度关系和用户之间的相似关系,同时使用聚类算法提高了Weighted Slope One算法的扩展性.使用此方法来消除用户评分时特征环境的影响,提高协同过滤技术的推荐精度。经实验证明中经过修正后的评分数据相比较与原始评分数据在推荐精度上有明显提高。

Description

一种评分数据噪声消除方法
技术领域
本发明属于数据挖掘技术领域,发明应用于协同过滤技术数据预处理过程中,主要目的是消除原始评分数据评分噪声。该方法区别于已有方法的特色在于将用户之间相似度关系和项目之间流行度差异信息结合起来对原始评分数据进行修正,以消除环境因素(例如用户评分时情绪状况)导致的评分偏移,以提高协同过滤技术的推荐准确度。
背景技术
协同过滤技术是个性化推荐技术中一种应用范围广的推荐算法,协同过滤技术的基本核心思想是利用群体智慧,认为相似用户的喜好也是相似的,目前主要分为以下几类:基于用户(或项目)的协调过滤算法、基于模型的协同过滤算法、以及混合过滤算法等。目前协同过滤算法存在着冷启动、数据稀疏、推荐精度低、评分噪声等问题。
协同过滤算法的基本过程是构建用户-项目评分矩阵,寻找用户相似邻居群体,根据邻居群体的对此用户未评价的项目的做出预测,然后根据结果对用户做出相应的推荐。协同过滤技术算法核心步骤是利用评分矩阵来选取用户相似群体,但是原始的用户评分可能会有评分噪声,例如用户评分时情绪因素会导致评分出现偏移,从而导致后续协同过滤算法推荐精确度下降。因此需要对原始评分数据进行调整,减弱情绪等因素导致的评分偏移。
发明内容
本发明提出了一种基于模糊C均值聚类和Weighted Slope One算法的评分数据噪声消除方法,目的在于消除环境因素(例如评分时用户的情绪情况),调整原始评分数据,提高协同过滤算法的推荐准确度。
本发明的技术方案:
一种评分数据噪声消除方法,步骤如下:
步骤1.输入用户评分矩阵R、用户集合User和项目集合Item;
步骤2.对评分矩阵数据进行平滑处理,得到平滑处理后的评分矩阵R'
2.1)首先将项目按照流行度不同划分到三个集合中一个,三个集合分别是流行项目集合setpopular、普通项目集合setordinary和不流行项目集合setnpopular
具体过程如下:
2.1.1)计算项目item的流行度popular(item),计算方法如下:
Figure BDA0001687479720000021
其中,集合User(item)是对项目item评分过的用户集合,ru,item是用户u对项目item的评分;
2.1.2)对评分矩阵评分数据进行k-means聚类,聚类个数为3,聚类后得到三个簇的中心分别为c1、c2、c3,其中c1<c2<c3
2.1.3)如果
Figure BDA0001687479720000022
将项目item划分到流行项目集合setpopular;如果
Figure BDA0001687479720000023
将项目item划分到普通项目集合setordinary;如果
Figure BDA0001687479720000024
将项目item划分到不流行项目集合setnpopular
2.2)计算用户对于三类项目的评分偏移,分别是differ(u,popular)、differ(u,ordinary)和differ(u,npopular);计算流程如下:
2.2.1)计算用户u对于流行项目的评分偏移differ(u,popular)
Figure BDA0001687479720000025
其中,Item(u)是用户u的评分过的项目集合;
Figure BDA0001687479720000031
是项目item所有评分的平均值;ru,item是用户u对项目item的评分;
2.2.2)计算用户u对于普通项目的评分偏移differ(u,ordinary)
Figure BDA0001687479720000032
2.2.3)计算用户u对于不流行项目的评分偏移differ(u,npopular)
Figure BDA0001687479720000033
2.3)填充评分矩阵,具体过程如下:
2.3.1)计算用户u的评分填充数量fillNum(u),计算方法如下:
Figure BDA0001687479720000034
其中,
Figure BDA0001687479720000035
是一个大于1的常数;|R|是原始评分矩阵评分数量;|User|是用户规模;R(u)是用户u的评分数量;
2.3.2)计算用户u未评分过的项目item的填充概率possible(item),计算方法如下:
Figure BDA0001687479720000036
其中,R(item)是项目item的评分数量;R(m)是项目m的评分数量;
2.3.3)在集合Item-Item(u)按照计算的概率随机抽取项目item进行评分填充,如果fillNum(u)<=0,不进行数据填充;如果fillNum(u)>0,数据填充数量为fillNum(u)次;在填充过程中,如果抽到的item∈setpopular,填充用户u对于项目item的填充评分
Figure BDA0001687479720000037
如果抽到的item∈setordinary,填充用户u对于项目item的填充评分
Figure BDA0001687479720000041
如果抽到的item∈setnpopular,填充用户u对于项目item的填充评分
Figure BDA0001687479720000042
步骤3.设定模糊指数值m,簇数量λ,初始化隶属度矩阵P和簇中心集合V,设定模糊C均值聚类算法的最大迭代次数t和精度ε;使用模糊C均值聚类算法对平滑处理后的评分矩阵R'进行模糊聚类,当达到最大迭代次数,或算法达到精度要求后,停止迭代;输出最终隶属度矩阵P和簇中心集合V;
步骤4.计算修正后的评分矩阵Ra,具体流程如下:
4.1)取一条原始评分数据,计算修正后的评分;
假设取出的原始评分数据用户rk,x,是用户k对项目x的原始评分;计算修正后的评分
Figure BDA0001687479720000043
具体过程如下:
4.1.1)计算在第c个簇中项目x与项目y的流行度差异devc,x,y,计算方法如下:
devc,x,y=Vc,x-Vc,y
其中,1<=c<=λ;Vc,x是第c个簇的簇中心在项目x上的分量;Vc,y是第c个簇的簇中心在项目y上的分量;
4.1.2)计算修正后的评分
Figure BDA0001687479720000044
计算方法如下:
Figure BDA0001687479720000045
其中,rk,y是用户k对项目y的原始评分数据;Item(x,y)是同时对项目x与项目y同时评分的项目集合;pk,c是用户k对第c个簇的隶属度;
4.2)重复(4.1),遍历原始评分矩阵所有评分,进行评分修正;
步骤5.输出修正后的评分矩阵Ra
本发明的有益效果为:该方法在进行噪声处理过程中综合考虑了项目之间流行度关系和用户之间的相似关系,同时使用聚类算法提高了Weighted Slope One算法的扩展性.使用此方法来消除用户评分时特征环境的影响,提高协同过滤技术的推荐精度。经实验证明中经过修正后的评分数据相比较与原始评分数据在推荐精度上有明显提高。
附图说明
图1是本发明所提出的基于模糊C均值聚类和Weighted Slope One算法实施的程序流程图。
图2是消除评分噪声后的评分数据与未处理的原始数据在不同邻居个数情况下运用基于用户的协同过滤算法进行推荐的推荐结果的MAE(平均绝对误差值)比较。
具体实施方式
下面结合附图对本发明的实施方式进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。具体实验的数据集为MovieLens-small数据集,包括约700个用户对9000部电影的100000条评分。
步骤1.输入用户评分矩阵R,用户集合User,项目集合Item。
步骤2.对评分矩阵数据进行平滑处理,得到平滑处理后的评分矩阵R'
2.1)首先将项目按照流行度不同划分到三个集合中一个,这三个集合分别是流行项目集合setpopular、普通项目集合setordinary、不流行项目集合setnpopular。具体过程如下:
2.1.1)计算项目item的流行度popular(item),计算方法如下:
Figure BDA0001687479720000051
其中,集合User(item)是对项目item评分过的用户集合,ru,item是用户u对项目item的评分。
2.1.2)对评分矩阵评分数据进行k-means聚类,聚类个数为3,聚类后得到三个簇的中心分别为c1、c2、c3,其中c1<c2<c3
2.1.3)如果
Figure BDA0001687479720000061
那么将项目item划分到流行项目集合setpopular。如果
Figure BDA0001687479720000062
那么将项目item划分到普通项目集合setordinary。如果
Figure BDA0001687479720000063
那么将项目item划分到不流行项目集合setnpopular
2.2)计算用户对于三类项目的评分偏移,分别是differ(u,popular)、differ(u,ordinary)、differ(u,npopular)。计算流程如下:
2.2.1)计算用户u对于流行项目的评分偏移differ(u,popular)
Figure BDA0001687479720000064
其中,Item(u)是用户u的评分过的项目集合;
Figure BDA0001687479720000065
是项目item所有评分的平均值;ru,item是用户u对项目item的评分。
2.2.2)计算用户u对于普通项目的评分偏移differ(u,ordinary)
Figure BDA0001687479720000066
2.2.3)计算用户u对于不流行项目的评分偏移differ(u,npopular)
Figure BDA0001687479720000067
2.3)填充评分矩阵,具体过程如下:
2.3.1)计算用户u的评分填充数量fillNum(u),计算方法如下:
Figure BDA0001687479720000068
其中,
Figure BDA0001687479720000071
是一个大于1的常数;|R|是原始评分矩阵评分数量;|User|是用户规模;R(u)是用户u的评分数量,令
Figure BDA0001687479720000072
2.3.2)计算用户u未评分过的项目item的填充概率possible(item),计算方法如下:
Figure BDA0001687479720000073
其中,Item(u)是用户u评分过的项目集合;R(item)是项目item的评分数量;R(m)是项目m的评分数量。
2.3.3)在集合Item-Item(u)按照计算的概率随机抽取项目item进行评分填充,如果fillNum(u)<=0,那么不进行数据填充。如果fillNum(u)>0,那么数据填充数量为fillNum(u)次。在填充过程中,如果抽到的item∈setpopular,填充用户u对于项目item的填充评分
Figure BDA0001687479720000074
如果抽到的item∈setordinary,填充用户u对于项目item的填充评分
Figure BDA0001687479720000075
如果抽到的item∈setnpopular,填充用户u对于项目item的填充评分
Figure BDA0001687479720000076
步骤3.设定模糊指数值m=2,簇数量λ=150,初始化隶属度矩阵P和簇中心集合V,设定算法的最大迭代次数t=100和算法精度ε=0.02。使用模糊C均值聚类算法对平滑处理后的评分矩阵R'进行模糊聚类,当达到最大迭代次数,或者算法达到精度要求后,停止迭代。输出最终隶属度矩阵P和簇中心集合V。
步骤4.计算修正后的评分矩阵Ra,具体流程如下:
4.1)取一条原始评分数据,计算修正后的评分。
假设取出的原始评分数据用户rk,x,是用户k对项目x的原始评分。计算修正后的评分
Figure BDA0001687479720000077
具体过程如下:
4.1.1)计算在第c个簇中项目x与项目y的流行度差异devc,x,y,计算方法如下:
devc,x,y=Vc,x-Vc,y
其中,1<=c<=λ;Vc,x是第c个簇的簇中心在项目x上的分量;Vc,y是第c个簇的簇中心在项目y上的分量;
4.1.2)计算修正后的评分
Figure BDA0001687479720000081
计算方法如下:
Figure BDA0001687479720000082
其中,Item(u)是用户u评分过的项目集合;rk,y是用户k对项目y的原始评分数据;Item(x,y)是同时对项目x与项目y同时评分的项目集合;pk,c是用户k对第c个簇的隶属度。
4.2)重复(4.1),遍历原始评分矩阵所有评分,进行评分修正。
步骤5.输出修正后的评分矩阵Ra

Claims (1)

1.一种评分数据噪声消除方法,其特征在于,步骤如下:
步骤1.输入用户评分矩阵R、用户集合User和项目集合Item;
步骤2.对评分矩阵数据进行平滑处理,得到平滑处理后的评分矩阵R'
2.1)首先将项目按照流行度不同划分到三个集合中一个,三个集合分别是流行项目集合setpopular、普通项目集合setordinary和不流行项目集合setnpopular
具体过程如下:
2.1.1)计算项目item的流行度popular(item),计算方法如下:
Figure FDA0001687479710000011
其中,集合User(item)是对项目item评分过的用户集合,ru,item是用户u对项目item的评分;
2.1.2)对评分矩阵评分数据进行k-means聚类,聚类个数为3,聚类后得到三个簇的中心分别为c1、c2、c3,其中c1<c2<c3
2.1.3)如果
Figure FDA0001687479710000012
将项目item划分到流行项目集合setpopular;如果
Figure FDA0001687479710000013
将项目item划分到普通项目集合setordinary;如果
Figure FDA0001687479710000014
将项目item划分到不流行项目集合setnpopular
2.2)计算用户对于三类项目的评分偏移,分别是differ(u,popular)、differ(u,ordinary)和differ(u,npopular);计算流程如下:
2.2.1)计算用户u对于流行项目的评分偏移differ(u,popular)
Figure FDA0001687479710000015
其中,Item(u)是用户u的评分过的项目集合;
Figure FDA0001687479710000016
是项目item所有评分的平均值;ru,item是用户u对项目item的评分;
2.2.2)计算用户u对于普通项目的评分偏移differ(u,ordinary)
Figure FDA0001687479710000021
2.2.3)计算用户u对于不流行项目的评分偏移differ(u,npopular)
Figure FDA0001687479710000022
2.3)填充评分矩阵,具体过程如下:
2.3.1)计算用户u的评分填充数量fillNum(u),计算方法如下:
Figure FDA0001687479710000023
其中,
Figure FDA0001687479710000024
是一个大于1的常数;|R|是原始评分矩阵评分数量;|User|是用户规模;R(u)是用户u的评分数量;
2.3.2)计算用户u未评分过的项目item的填充概率possible(item),计算方法如下:
Figure FDA0001687479710000025
其中,R(item)是项目item的评分数量;R(m)是项目m的评分数量;
2.3.3)在集合Item-Item(u)按照计算的概率随机抽取项目item进行评分填充,如果fillNum(u)<=0,不进行数据填充;如果fillNum(u)>0,数据填充数量为fillNum(u)次;在填充过程中,如果抽到的item∈setpopular,填充用户u对于项目item的填充评分
Figure FDA0001687479710000026
如果抽到的item∈setordinary,填充用户u对于项目item的填充评分
Figure FDA0001687479710000027
如果抽到的item∈setnpopular,填充用户u对于项目item的填充评分
Figure FDA0001687479710000028
步骤3.设定模糊指数值m,簇数量λ,初始化隶属度矩阵P和簇中心集合V,设定模糊C均值聚类算法的最大迭代次数t和精度ε;使用模糊C均值聚类算法对平滑处理后的评分矩阵R'进行模糊聚类,当达到最大迭代次数,或算法达到精度要求后,停止迭代;输出最终隶属度矩阵P和簇中心集合V;
步骤4.计算修正后的评分矩阵Ra,具体流程如下:
4.1)取一条原始评分数据,计算修正后的评分;
假设取出的原始评分数据用户rk,x,是用户k对项目x的原始评分;计算修正后的评分
Figure FDA0001687479710000033
具体过程如下:
4.1.1)计算在第c个簇中项目x与项目y的流行度差异devc,x,y,计算方法如下:
devc,x,y=Vc,x-Vc,y
其中,1<=c<=λ;Vc,x是第c个簇的簇中心在项目x上的分量;Vc,y是第c个簇的簇中心在项目y上的分量;
4.1.2)计算修正后的评分
Figure FDA0001687479710000031
计算方法如下:
Figure FDA0001687479710000032
其中,rk,y是用户k对项目y的原始评分数据;Item(x,y)是同时对项目x与项目y同时评分的项目集合;pk,c是用户k对第c个簇的隶属度;
4.2)重复(4.1),遍历原始评分矩阵所有评分,进行评分修正;
步骤5.输出修正后的评分矩阵Ra
CN201810576917.4A 2018-05-31 2018-05-31 一种评分数据噪声消除方法 Active CN108830315B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810576917.4A CN108830315B (zh) 2018-05-31 2018-05-31 一种评分数据噪声消除方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810576917.4A CN108830315B (zh) 2018-05-31 2018-05-31 一种评分数据噪声消除方法

Publications (2)

Publication Number Publication Date
CN108830315A CN108830315A (zh) 2018-11-16
CN108830315B true CN108830315B (zh) 2021-06-04

Family

ID=64144269

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810576917.4A Active CN108830315B (zh) 2018-05-31 2018-05-31 一种评分数据噪声消除方法

Country Status (1)

Country Link
CN (1) CN108830315B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117573742B (zh) * 2024-01-15 2024-05-07 浙江华创视讯科技有限公司 一种用户行为模式挖掘方法、设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102750336A (zh) * 2012-06-04 2012-10-24 电子科技大学 一种基于用户关联性的资源个性化推荐方法
CN104751353A (zh) * 2015-04-10 2015-07-01 中国石油大学(华东) 基于聚类和Slope One预测的协同过滤方法
CN107944485A (zh) * 2017-11-17 2018-04-20 西安电子科技大学 基于聚类群组发现的推荐系统及方法、个性化推荐系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6321179B1 (en) * 1999-06-29 2001-11-20 Xerox Corporation System and method for using noisy collaborative filtering to rank and present items
US8880439B2 (en) * 2012-02-27 2014-11-04 Xerox Corporation Robust Bayesian matrix factorization and recommender systems using same
US8711620B2 (en) * 2012-08-17 2014-04-29 Lsi Corporation Memory device having collaborative filtering to reduce noise
CN103678431B (zh) * 2013-03-26 2018-01-02 南京邮电大学 一种基于标准标签和项目评分的推荐方法
CN107633444B (zh) * 2017-08-29 2021-03-19 南京理工大学紫金学院 基于信息熵与模糊c均值聚类的推荐系统噪声过滤方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102750336A (zh) * 2012-06-04 2012-10-24 电子科技大学 一种基于用户关联性的资源个性化推荐方法
CN104751353A (zh) * 2015-04-10 2015-07-01 中国石油大学(华东) 基于聚类和Slope One预测的协同过滤方法
CN107944485A (zh) * 2017-11-17 2018-04-20 西安电子科技大学 基于聚类群组发现的推荐系统及方法、个性化推荐系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于聚类和项目相似性的SlopeOne算法优化;蒋宗礼 等;《计算机与现代化》;20161231;第21-26页 *

Also Published As

Publication number Publication date
CN108830315A (zh) 2018-11-16

Similar Documents

Publication Publication Date Title
CN108733798B (zh) 一种基于知识图谱的个性化推荐方法
CN110275964B (zh) 基于知识图谱与循环神经网络的推荐模型
CN107239565B (zh) 一种基于显著性区域的图像检索方法
CN110929679B (zh) 一种基于gan的无监督自适应行人重识别方法
CN109933726B (zh) 基于用户平均加权兴趣向量聚类的协同过滤电影推荐方法
CN108804683B (zh) 结合矩阵分解和协同过滤算法的电影推荐方法
CN109902235B (zh) 基于蝙蝠优化的用户偏好聚类协同过滤推荐算法
CN109034953B (zh) 一种电影推荐方法
CN107944485B (zh) 基于聚类群组发现的推荐系统及方法、个性化推荐系统
CN112488133B (zh) 一种视频/图片-文本跨模态检索方法
Li et al. Content-based filtering recommendation algorithm using HMM
Steck et al. Admm slim: Sparse recommendations for many users
CN115062237A (zh) 基于图神经网络和知识图谱结合的文化资源推荐方法
CN101149759A (zh) 一种基于邻域模型的K-means初始聚类中心选择方法
CN108664558B (zh) 一种面向大规模用户的网络电视个性化推荐服务方法
CN108846431A (zh) 基于改进贝叶斯模型的视频弹幕情感分类方法
CN108830315B (zh) 一种评分数据噪声消除方法
Huang et al. Style Mixer: Semantic‐aware Multi‐Style Transfer Network
CN107992549B (zh) 动态短文本流聚类检索方法
CN112085158A (zh) 一种基于堆栈降噪自编码器的图书推荐方法
CN113779283B (zh) 一种深度监督与特征融合的细粒度跨媒体检索方法
CN108334573B (zh) 基于聚类信息的高相关微博检索方法
CN113449200B (zh) 物品推荐方法、装置及计算机存储介质
CN108415926A (zh) 一种消除原始评分数据评分噪声的协同过滤推荐方法
Yang et al. Emotionally representative image discovery for social events

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