CN103886003A - 一种协同过滤处理器 - Google Patents

一种协同过滤处理器 Download PDF

Info

Publication number
CN103886003A
CN103886003A CN201310433610.6A CN201310433610A CN103886003A CN 103886003 A CN103886003 A CN 103886003A CN 201310433610 A CN201310433610 A CN 201310433610A CN 103886003 A CN103886003 A CN 103886003A
Authority
CN
China
Prior art keywords
user
collaborative filtering
targeted customer
filtering processor
clustering
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.)
Pending
Application number
CN201310433610.6A
Other languages
English (en)
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.)
Tianjin Siboke Technology Development Co Ltd
Original Assignee
Tianjin Siboke Technology Development Co Ltd
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 Tianjin Siboke Technology Development Co Ltd filed Critical Tianjin Siboke Technology Development Co Ltd
Priority to CN201310433610.6A priority Critical patent/CN103886003A/zh
Publication of CN103886003A publication Critical patent/CN103886003A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种协同过滤处理器,包括采用改进的K-means算法对用户聚类、选出与目标用户属性相近的用户组成的簇、得到目标用户的最近邻居集合和产生推荐集四个步骤。本发明的主要思想是通过聚类将特征相同的用户聚为一类降低矩阵的维度,减少空间复杂度,然后通过矩阵分解对稀疏矩阵进行填补,对填补的矩阵再进行协同过滤。

Description

一种协同过滤处理器
技术领域
本发明涉及推荐技术领域,更具体的讲是一种基于k-means聚类的协同过滤算法处理器,主要思想是通过聚类将特征相同的用户聚为一类降低矩阵的维度,减少空间复杂度,然后通过矩阵分解对稀疏矩阵进行填补,对填补的矩阵再进行协同过滤。
 
背景技术
随着互联网的普及和计算机技术的迅速发展,信息量爆炸性的增长,个性化的推荐系统成为继搜索引擎以后,一个越来越受关注的研究领域。随着学者们的研究,越来越多的推荐算法被提出,其中包括:基于内容的推荐,协同过滤推荐算法以及组合推荐算法。
协同过滤作为当前应用最成功的推荐技术,在很多领域中得到了实际的应用,但其仍存在许多问题需要解决。推荐系统中普遍存在数据稀疏性、冷启动和可扩展性等问题。基于邻域的算法是协同过滤算法中最基本的算法,该算法分为两大类,一类是基于用户的协同过滤算法,另一类是基于项目的协同过滤算法。基于邻域的算法的缺点是:当该矩阵非常稀疏时,算法很难为目标用户找到相似用户,从而使推荐质量受到很大的限制。如果在计算之前根据相似性对用户进行聚类,准确的选取邻用户,就可以减小计算量的同时,提供较为准确的推荐结果。
 
发明内容
为解决上述问题,本发明公开了一种协同过滤处理器,基于聚类协同过滤算法,它首先利用k-means聚类算法将具有相似兴趣爱好的用户分配到相同的类中;然后在每一类中,采用基于用户的协同过滤算法来计算用户间的相似性和形成最近邻居,完成未评分数据的预测,产生Top-N推荐。聚类技术大大缩小了计算的范围,提高了推荐算法的运行速度。实验表明,本发明明显提高了推荐系统的推荐质量。
本发明是采取以下技术方案实现的:一种协同过滤处理器,包括采用改进的K-means算法对用户聚类、选出与目标用户属性相近的用户组成的簇、得到目标用户的最近邻居集合和产生推荐集四个步骤。
本发明的实现还包括以下的技术方案:
(1) 对MovieLens数据集进行预处理,采用改进的K-means算法对用户聚类。
(2) 选出与目标用户属性相近的用户组成的簇,对该簇构建原始的用户-项目评分矩阵。
(3) 计算得到目标用户的最近邻居集合。
(4) 根据最近邻居集对项目的评分值,计算目标用户对待推荐项的评分,产生TopN推荐集。
其中k-mean基本算法描述
目前,使用最广泛的聚类技术是K-means算法。其基本算法可描述为:先随机选定k个对象为k个簇的中心,再计算剩下的对象与各中心的相似度,把这些对象分配到相应的簇中,然后选出新的k个聚类中心。重复以上步骤,直到k个中心稳定不再变化为止。如公式(2.1)所示:
Figure 2013104336106100002DEST_PATH_IMAGE001
    (2.1)
式中,p代表集合中的待分配点,m代表每个簇的中心点。
其中目标用户的最近邻居集合计算
目标用户的最近邻居集合表示不同用户之间的相似程度,如果不同的用户对一些项目的评分比较相似,说明他们对这些项目感兴趣程度也趋向一致。度量用户之间相似性的方法主要有如下3种方法:余弦相似度(cosine similarity)(公式(2.2))、皮尔逊系数(pearson correlation)(公式(2.3))和修正的余弦相似度(adjust cosine similarity)(公式(2.4))。
 (2.2)
    
Figure 2013104336106100002DEST_PATH_IMAGE003
 (2.3)
        
Figure 316603DEST_PATH_IMAGE004
 (2.4)
式中,
Figure 495912DEST_PATH_IMAGE006
分别表示用户u和用户v对项目的评分,
Figure DEST_PATH_IMAGE007
Figure 705789DEST_PATH_IMAGE008
分别表示用户u和用户v对各自项目的平均分。
Figure DEST_PATH_IMAGE009
表示用户u和用户v共同评分的项目集合,
Figure DEST_PATH_IMAGE011
分别表示用户u和用户v各自评过分的项目集合。本发明中采用修正的余弦相似度作为计算得到目标用户的最近邻居集合的方法。
本发明的优点和有益效果,具体体现在以下几个方面:
1. 本发明大大缩小了计算的范围,提高了推荐算法的运行速度。
2. 本发明明显提高了推荐系统的推荐质量。
附图说明
图1是本发明的执行步骤示意图。
具体实施方式
以下结合说明书附图1对本发明的实施做进一步详述:
一种协同过滤处理器,包括采用改进的K-means算法对用户聚类、选出与目标用户属性相近的用户组成的簇、得到目标用户的最近邻居集合和产生推荐集四个步骤。
本发明的主要思想是通过聚类将特征相同的用户聚为一类降低矩阵的维度,减少空间复杂度,然后通过矩阵分解对稀疏矩阵进行填补,对填补的矩阵再进行协同过滤。该发明的具体步骤说明书附图1所示,
(1) 对MovieLens数据集进行预处理,采用改进的K-means算法对用户聚类。
(2) 选出与目标用户
Figure 497475DEST_PATH_IMAGE012
属性相近的用户组成的簇
Figure DEST_PATH_IMAGE013
,对簇构建原始的用户-项目评分矩阵
Figure 180578DEST_PATH_IMAGE014
(3) 利用公式(2.4)得到目标用户
Figure 616238DEST_PATH_IMAGE012
的最近邻居集合
(4) 根据最近邻居集
Figure 260321DEST_PATH_IMAGE016
对项目的评分值,按照式(3.1)计算目标用户对待推荐项的评分,产生TopN推荐集。
上述(1)(2)(3)的具体描述如下:
K-means算法的忧点是实现比较简单,算法效率较高,扩展性也比较好。尤其是对象相对密集且簇与簇之间的差别较明显时,算法效果非常好。此算法在大数据集处理时有高效的性能。但是,K-means算法的初始聚类中心是随机选取的,此算法对初始值的选择较为敏感,不同的初始聚类中心会产生不同的聚类结果,这将导致聚类结果有一定的不合理性。对算法的改进:经过研究发现,评分数目多的用户可作为一部分用户的代表,让这些用户作为初始聚类的中心,可以有较好的代表性。所以,本发明选择评分数量最多的k个用户为初始聚类的中心,用修正的余弦相似度作为上述(3)的实现方法,具体步骤如下:
步骤1:从用户集合U={U,U
Figure 968832DEST_PATH_IMAGE018
,….,U}中,选取对项目进行过评分最多的K个用户作为初始聚类中心,记为C={C
Figure 258999DEST_PATH_IMAGE017
,C
Figure 201547DEST_PATH_IMAGE018
,…,C
Figure 577164DEST_PATH_IMAGE020
};
步骤2:Repeat;
For Each user UU;
For Each cluster center C
Figure 935465DEST_PATH_IMAGE022
C;
计算用户U
Figure DEST_PATH_IMAGE023
与聚类中心C
Figure 283400DEST_PATH_IMAGE024
的相似性
Endfor
Figure 331603DEST_PATH_IMAGE026
聚类 C
Figure 256834DEST_PATH_IMAGE019
=C
Figure 418825DEST_PATH_IMAGE019
Figure DEST_PATH_IMAGE027
Figure 418005DEST_PATH_IMAGE028
Endfor;
For Each user U
Figure 640039DEST_PATH_IMAGE021
U;
For Each cluster center C
Figure 52566DEST_PATH_IMAGE022
C;
计算各类簇的标准测度函数值,采用均方差,如式(2.1)所示,其中
Figure DEST_PATH_IMAGE029
表示C的均值。
Figure 137514DEST_PATH_IMAGE030
调整生成新的聚类中心C
Figure 327186DEST_PATH_IMAGE024
Endfor;
Endfor;
步骤3:Until 均方差值E达到最小为止;
步骤4:Return;
得到目标用户的最近邻居集合
上述(4) 的具体描述如下:
产生推荐集的主要工作就是计算预测评分,在计算预测评分时,经常采用K近邻方法,即选择与当前用户相似度最高的K个用户作为当前用户的邻居节点来进行计算。设
Figure DEST_PATH_IMAGE031
表示和用户u兴趣最相近的
Figure 164692DEST_PATH_IMAGE032
个用户的集合,利用式(3.1)预测目标用户u对未评分项i的评分值:
Figure DEST_PATH_IMAGE033
 (3.1)
式中,
Figure 603240DEST_PATH_IMAGE034
是对项目i评过分的用户集合,
Figure DEST_PATH_IMAGE035
表示目标用户u对已评分项的平均分值,
Figure 842591DEST_PATH_IMAGE036
表示用户u与邻居v的相似度,
Figure 203165DEST_PATH_IMAGE006
是用户v对物品i的评分,
Figure DEST_PATH_IMAGE037
是邻居v对他评过分的所有项目评分的平均值。
 
利用本发明所述的技术方案,或本领域的技术人员在本发明技术方案的启发下,设计出类似的技术方案,而达到上述技术效果的,均是落入本发明的保护范围。

Claims (4)

1.一种协同过滤处理器,包括采用改进的K-means算法对用户聚类、选出与目标用户属性相近的用户组成的簇、得到目标用户的最近邻居集合和产生推荐集四个步骤。
2.根据权利要求1所述的一种协同过滤处理器,其特征在于:所述采用改进的K-means算法对用户聚类步骤中选择评分数量最多的k个用户为初始聚类的中心。
3.根据权利要求1所述的一种协同过滤处理器,其特征在于:所述得到目标用户的最近邻居集合步骤采用修正的余弦相似度作为实现方法。
4.根据权利要求1所述的一种协同过滤处理器,其特征在于:所述产生推荐集步骤采用K近邻方法。
CN201310433610.6A 2013-09-22 2013-09-22 一种协同过滤处理器 Pending CN103886003A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310433610.6A CN103886003A (zh) 2013-09-22 2013-09-22 一种协同过滤处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310433610.6A CN103886003A (zh) 2013-09-22 2013-09-22 一种协同过滤处理器

Publications (1)

Publication Number Publication Date
CN103886003A true CN103886003A (zh) 2014-06-25

Family

ID=50954898

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310433610.6A Pending CN103886003A (zh) 2013-09-22 2013-09-22 一种协同过滤处理器

Country Status (1)

Country Link
CN (1) CN103886003A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105320702A (zh) * 2014-08-04 2016-02-10 Tcl集团股份有限公司 一种用户行为数据的分析方法、装置及智能电视
CN105354208A (zh) * 2015-09-21 2016-02-24 江苏讯狐信息科技有限公司 一种大数据信息挖掘方法
CN106127506A (zh) * 2016-06-13 2016-11-16 浙江大学 一种基于主动学习解决商品冷启动问题的推荐方法
CN106776859A (zh) * 2016-11-28 2017-05-31 南京华苏科技有限公司 基于用户偏好的移动应用App推荐系统
CN106919647A (zh) * 2017-01-17 2017-07-04 浙江工业大学 一种基于聚类的网络结构相似性推荐方法
CN107122390A (zh) * 2017-03-04 2017-09-01 华数传媒网络有限公司 基于用户群组的推荐系统构建方法
CN107944487A (zh) * 2017-11-20 2018-04-20 北京信息科技大学 一种基于混合协同过滤算法的作物育种品种推荐方法
CN108804683A (zh) * 2018-06-13 2018-11-13 重庆理工大学 结合矩阵分解和协同过滤算法的电影推荐方法
CN109474703A (zh) * 2018-12-24 2019-03-15 杭州云纪网络科技有限公司 个性化产品组合推送方法、装置及系统
CN112967102A (zh) * 2021-02-04 2021-06-15 江苏警官学院 以物流数据建立客户画像的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070038659A1 (en) * 2005-08-15 2007-02-15 Google, Inc. Scalable user clustering based on set similarity
CN101685458A (zh) * 2008-09-27 2010-03-31 华为技术有限公司 一种基于协同过滤的推荐方法和系统
CN103279552A (zh) * 2013-06-06 2013-09-04 浙江大学 一种基于用户兴趣分组的协同过滤推荐方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070038659A1 (en) * 2005-08-15 2007-02-15 Google, Inc. Scalable user clustering based on set similarity
CN101685458A (zh) * 2008-09-27 2010-03-31 华为技术有限公司 一种基于协同过滤的推荐方法和系统
CN103279552A (zh) * 2013-06-06 2013-09-04 浙江大学 一种基于用户兴趣分组的协同过滤推荐方法

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105320702B (zh) * 2014-08-04 2019-02-01 Tcl集团股份有限公司 一种用户行为数据的分析方法、装置及智能电视
CN105320702A (zh) * 2014-08-04 2016-02-10 Tcl集团股份有限公司 一种用户行为数据的分析方法、装置及智能电视
CN105354208A (zh) * 2015-09-21 2016-02-24 江苏讯狐信息科技有限公司 一种大数据信息挖掘方法
CN106127506A (zh) * 2016-06-13 2016-11-16 浙江大学 一种基于主动学习解决商品冷启动问题的推荐方法
CN106127506B (zh) * 2016-06-13 2019-12-17 浙江大学 一种基于主动学习解决商品冷启动问题的推荐方法
CN106776859A (zh) * 2016-11-28 2017-05-31 南京华苏科技有限公司 基于用户偏好的移动应用App推荐系统
CN106919647A (zh) * 2017-01-17 2017-07-04 浙江工业大学 一种基于聚类的网络结构相似性推荐方法
CN106919647B (zh) * 2017-01-17 2020-10-30 浙江工业大学 一种基于聚类的网络结构相似性推荐方法
CN107122390A (zh) * 2017-03-04 2017-09-01 华数传媒网络有限公司 基于用户群组的推荐系统构建方法
CN107122390B (zh) * 2017-03-04 2020-09-25 华数传媒网络有限公司 基于用户群组的推荐系统构建方法
CN107944487A (zh) * 2017-11-20 2018-04-20 北京信息科技大学 一种基于混合协同过滤算法的作物育种品种推荐方法
CN107944487B (zh) * 2017-11-20 2020-01-24 北京信息科技大学 一种基于混合协同过滤算法的作物育种品种推荐方法
CN108804683A (zh) * 2018-06-13 2018-11-13 重庆理工大学 结合矩阵分解和协同过滤算法的电影推荐方法
CN108804683B (zh) * 2018-06-13 2021-11-23 重庆理工大学 结合矩阵分解和协同过滤算法的电影推荐方法
CN109474703A (zh) * 2018-12-24 2019-03-15 杭州云纪网络科技有限公司 个性化产品组合推送方法、装置及系统
CN112967102A (zh) * 2021-02-04 2021-06-15 江苏警官学院 以物流数据建立客户画像的方法

Similar Documents

Publication Publication Date Title
CN103886003A (zh) 一种协同过滤处理器
Konstas et al. On social networks and collaborative recommendation
US20170132230A1 (en) Systems and methods for recommending temporally relevant news content using implicit feedback data
Zhou et al. Functional matrix factorizations for cold-start recommendation
CN106777051A (zh) 一种基于用户组的多反馈协同过滤推荐方法
CN107220365A (zh) 基于协同过滤与关联规则并行处理的精准推荐系统及方法
CN107894998B (zh) 视频推荐方法及装置
CN108665323A (zh) 一种用于理财产品推荐系统的集成方法
CN106168980A (zh) 多媒体资源推荐排序方法及装置
CN104239496B (zh) 一种结合模糊权重相似性度量和聚类协同过滤的方法
CN104462383A (zh) 一种基于用户多种行为反馈的电影推荐方法
Aghdam et al. A novel non-negative matrix factorization method for recommender systems
Yang et al. Prototype-based image search reranking
CN103744904B (zh) 一种提供信息的方法及装置
US20160299968A1 (en) Topical based media content summarization system and method
CN108874916A (zh) 一种层叠组合协同过滤推荐方法
CN106776859A (zh) 基于用户偏好的移动应用App推荐系统
CN106952130A (zh) 基于协同过滤的通用物品推荐方法
CN104899321A (zh) 一种基于项目属性评分均值的协同过滤推荐方法
KR101924200B1 (ko) 감성 기반의 이미지 선택 장치 및 방법
Wang et al. Combining user-based and item-based collaborative filtering techniques to improve recommendation diversity
Yang et al. A collaborative filtering recommendation algorithm based on user clustering with preference types
Liu et al. On integrating network and community discovery
CN109446402A (zh) 一种搜索方法及装置
CN101540061A (zh) 基于模拟退火的无序图像拓扑有序化匹配方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140625