CN107943948A - 一种改进的混合协同过滤推荐方法 - Google Patents
一种改进的混合协同过滤推荐方法 Download PDFInfo
- Publication number
- CN107943948A CN107943948A CN201711191113.4A CN201711191113A CN107943948A CN 107943948 A CN107943948 A CN 107943948A CN 201711191113 A CN201711191113 A CN 201711191113A CN 107943948 A CN107943948 A CN 107943948A
- Authority
- CN
- China
- Prior art keywords
- mrow
- msub
- neighbour
- similarity
- user
- 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
Links
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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search 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
本发明公开了一种改进的混合协同过滤推荐算法,缓解了数据稀疏性的影响,提高了推荐的精准度,同时弥补了两种单一协同过滤算法无法兼顾准确率和个性化的缺陷。本发明采用的技术方案是:结合共同评分项数量差异对传统的相似度计算方式进行加权,优化相似度结果,使构建的近邻集合的兴趣模型更加接近目标用户和目标项目;引入近邻集合相似度质量这一概念来衡量近邻集合的相似度水平,进一步决定基于用户协同过滤和基于项目协同过滤在混合模型中的比重,同时引入控制因子改善数据稀疏性的影响来优化评分预测结果。
Description
技术领域
本发明属于推荐系统、数据挖掘领域,具体是一种基于用户和项目相似度质量的混合协同过滤技术。
背景技术
随着信息化社会的进步的到来,用户可以获取的信息数据量越来越庞大,信息过载问题越来越严重,如何快速从这些海量信息数据中获取自己需要的信息成为了大数据时代背景下的热点话题。推荐算法的出现改变了用户与信息数据的互动方式:由用户主动获取信息转变为将信息主动推荐给用户。推荐算法的重点和难点在于如何有效提高信息推荐的精准度。
协同过滤算法是使用最为广泛的推荐算法,不需要考虑项目的内容,可以更好的推荐一些非结构化的项目。协同过滤推荐算法一般分为数据的预处理、近邻集合的构建和生成推荐三个步骤,基于用户协同过滤算法和基于项目协同过滤算法是比较常用的两种协同过滤算法。数据的预处理主要是将系统采集的用户对项目的评分数据转化成便于算法运算的用户——项目评分矩阵;近邻集合的构建通过相似度算法计算出用户之间的相似度和项目之间的相似度,然后按照一定的方法筛选近邻用户或者近邻项目来构建近邻集合,比较常用的相似度算法有皮尔森相关系数和修正余弦相似度算法,比较常用的筛选方法有Top-K法和阈值法;根据上一步构建的近邻集合,使用集合成员的相似度对相应的评分信息进行加权来预测用户对项目的评分情况,进而根据预测的评分生成推荐。
目前,协同过滤算法依然存在着以下几个方面的问题:
(1)数据稀疏性问题。在评分矩阵稀疏的情况下,算法很难准确找出目标用户或者目标项目的近邻成员,在构建近邻集合时会导致部分信息丢失,从而使后续的评分预测产生偏差导致推荐质量下降。
(2)冷启动问题。当新的项目出现时,没有用户对其进行评价,传统的协同过滤算法无法对其进行评分预测和推荐;同理,当新的用户出现时,因其没有对任何项目做出评价,算法也无法向该用户推荐项目。
(3)算法缺陷。传统的相似度计算方式没有考虑到共同评分项数量差异对近邻集合构建的影响;同时,单一的协同过滤算法只能考虑到用户信息的交互或者项目信息的交互,忽略了两者之间的交互对评分预测的影响,无法同时兼顾精准性和个性化。
发明内容
本发明提供了一种应对评分数据高度稀疏的加权型混合协同过滤算法,缓解了数据稀疏性的影响,提高了推荐的精准度,同时弥补了两种单一协同过滤算法无法兼顾准确率和个性化的缺陷。
本发明采用的技术方案是:
一种改进的混合协同过滤推荐方法,具体包含模型训练和推荐预测两个部分;
其中,模型训练具体包含如下步骤:
步骤1,数据集中含有m个用户和n个项目,其中,m和n为正整数;
步骤2,操作测试集,以固定间隔设置近邻个数K的值,K为正整数,计算用户之间以及项目之间的相似度,分别构建用户u和项目i的近邻集合N(u)和N(i),并计算近邻集合的相似度质量βu和βi;
步骤3,操作测试集,计算两种单一协同过滤的预测值,以固定间隔设置控制因子i的值,其中,ω∈[0,1],获取混合模型的预测结果;
步骤4:迭代步骤2和步骤3获取预测结果与测试集实际评分的平均绝对误差MAE,对比得出控制因子ω的最优值以及完整的推荐模型;
其中,推荐预测具体包含如下步骤:
步骤5,直接对完整的数据集进行操作,设置K的值,构建目标用户和目标用户未交互项目的近邻集合,并度量这些近邻集合的相似度质量;
步骤6,设置控制因子ω的最优值,代入混合模型得出目标用户对待测项目的预测评分;
步骤7,对所有待测项目评分预测完毕后,将预测评分进行排序,选出对应评分最高的N个项目推荐给目标用户。
作为本发明一种改进的混合协同过滤推荐方法的进一步优选方案,从在步骤1中,数据集中随机抽取80%作为训练集,剩余20%作为测试集,并转化成评分矩阵Rm×n。
作为本发明一种改进的混合协同过滤推荐方法的进一步优选方案,在步骤4中,以0.1的间隔对比得出控制因子ω的最优值。
作为本发明一种改进的混合协同过滤推荐方法的进一步优选方案,在步骤4中,Ωω=0.4。
作为本发明一种改进的混合协同过滤推荐方法的进一步优选方案,在步骤2中,近邻集合的相似度质量βu具体计算如下:
其中,βu即为用户近邻集合的相似度质量,同理可以得出电影近邻集合的相似度质量βi。
本发明的有益效果是:
在评分数据高度稀疏的情况下提高推荐的精准度;重新度量用户和项目之间的相似度关系,消除在共同评分项过少的情况下出现相似度度量的过拟合现象;引入相似度质量衡量近邻集合相似度的整体水平和离散程度,并将相似度质量结合到权重因子中以减少离散偏大的近邻成员对预测结果的影响;在权重因子中加入控制因子,减缓评分矩阵稀疏性的影响;挖掘出用户近邻集合和项目近邻集合的关联,使混合模型中两种协同过滤算法的比例达到最优比例,提高预测水平。
附图说明
图1是本发明推荐算法模型训练以及推荐预测的流程图。
具体实施方式
下面结合附图对本发明的技术方案做进一步的详细说明:
第一部分:
本发明分为模型训练和推荐预测两个部分。模型训练是利用已知的数据集训练出完整的算法模型,得出最优的控制因子值;推荐预测则是使用训练出的模型对用户未接触的项目做评分预测,并根据预测结果做推荐。
如图1所示,本发明的具体步骤如下:
(1)模型训练
步骤1:数据集中含有m个用户和n个项目,从数据集中随机抽取80%作为训练集,剩余20%作为测试集,并转化成评分矩阵Rm×n。
步骤2:操作测试集,以固定间隔设置近邻个数K的值,计算用户之间以及项目之间的相似度,分别构建用户u和项目i的近邻集合N(u)和N(i),并计算近邻集合的相似度质量βu和βi。
步骤3:操作测试集,计算两种单一协同过滤的预测值,以固定间隔设置控制因子ω(ω∈[0,1])的值,获取混合模型的预测结果。
步骤4:迭代步骤2和步骤3获取预测结果与测试集实际评分的平均绝对误差MAE,对比得出控制因子ω的最优值以及完整的推荐模型。
(2)推荐预测
步骤5:直接对完整的数据集进行操作,设置K的值,构建目标用户和目标用户未交互项目的近邻集合,并度量这些近邻集合的相似度质量。
步骤6:设置控制因子ω的最优值,代入混合模型得出目标用户对待测项目的预测评分。
步骤7:对所有待测项目评分预测完毕后,将预测评分进行排序,选出对应评分最高的N个项目推荐给目标用户。
第二部分:
以下结合流程图,对推荐步骤辅以示例作详细说明。需要强调的是,下述说明仅为示例性描述,而非限制本发明的适用范围。
步骤1:训练集和测试集的生成:例如,选取与电影评分相关的MovieLens数据集之一,具体为943个用户对1682部电影的100000条评分数据。进行数据预处理后,生成一个二维矩阵R943×1682,随机抽取80000条作为训练集,剩余的20000条作为测试集。
步骤2:计算用户之间的相似度以及电影之间的相似度,使用Top-K法选取并构建用户u和电影i的近邻集合N(u)和N(i),调整K的值来对控制因子ω的优化取值进行辅助验证。
优化后的用户之间的相似度计算方法如下:
其中,|Iu∩Iv|代表用户u与用户v共同评分过项目的数量;max|Iu∩Ix|代表用户u与其他用户x共同评分过项目的数量最大值;sim(u,v)为皮尔森相关系数计算出的用户u与用户v的相似度。同理可得电影之间的相似度sim'(i,j),不同的是sim(i,j)是使用修正余弦相似度计算得出。
根据离散数据的特性,使用以下关系式来反映出用户近邻集合的相似度整体水平:
其中,βu即为用户近邻集合的相似度质量,同理可以得出电影近邻集合的相似度质量βi。
步骤3:控制因子ω对混合模型中的权重因子α进行优化:
单一协同过滤预测结果:
其中,predU'(u,i)为基于用户协同过滤算法预测的评分值;predI'(u,i)为基于项目协同过滤算法预测的评分值。
步骤4:迭代步骤2和步骤3,以0.1的间隔调整控制因子ω的值,每次调整后以间隔为5调整K的值来获取和对比MAE,最终获得最优值ω=0.4且K=40时MAE趋于稳定。
预测效果评测则使用平均绝对误差MAE:
其中,Ru,i表示用户u对项目i的预测评分;表示用户u对项目i的真实评分;N表示待预测评分的总数量。
至此,得出关于该数据集的一个完整的混合协同过滤算法模型,下面将介绍如何对用户进行推荐预测。
步骤5:对完整的100000条评分数据进行操作。设置K=40,计算目标用户与其他用户的相似度,构建目标用户的近邻集合,获取相似度质量βu;计算待预测电影与其它电影的相似度,构建待预测电影的近邻集合,获取相似度质量βi。
步骤6:设置控制因子ω=0.4,代入混合模型来计算目标用户对待测电影的评分。
步骤7:预测完目标用户对所有待测电影的评分后,将这些评分进行排序,选择部分评分最高的电影推荐给目标用户,完成整个推荐过程。
Claims (5)
1.一种改进的混合协同过滤推荐方法,其特征在于:具体包含模型训练和推荐预测两个部分;
其中,模型训练具体包含如下步骤:
步骤1,数据集中含有m个用户和n个项目,其中,m和n为正整数;
步骤2,操作测试集,以固定间隔设置近邻个数K的值,K为正整数,计算用户之间以及项目之间的相似度,分别构建用户u和项目i的近邻集合N(u)和N(i),并计算近邻集合的相似度质量βu和βi;
步骤3,操作测试集,计算两种单一协同过滤的预测值,以固定间隔设置控制因子ω的值,其中,ω∈[0,1],获取混合模型的预测结果;
步骤4:迭代步骤2和步骤3获取预测结果与测试集实际评分的平均绝对误差MAE,对比得出控制因子ω的最优值以及完整的推荐模型;
其中,推荐预测具体包含如下步骤:
步骤5,直接对完整的数据集进行操作,设置K的值,构建目标用户和目标用户未交互项目的近邻集合,并度量这些近邻集合的相似度质量;
步骤6,设置控制因子ω的最优值,代入混合模型得出目标用户对待测项目的预测评分;
步骤7,对所有待测项目评分预测完毕后,将预测评分进行排序,选出对应评分最高的N个项目推荐给目标用户。
2.根据权利要求1所述的一种改进的混合协同过滤推荐方法,其特征在于:从在步骤1中,数据集中随机抽取80%作为训练集,剩余20%作为测试集,并转化成评分矩阵Rm×n。
3.根据权利要求1所述的一种改进的混合协同过滤推荐方法,其特征在于:在步骤4中,以0.1的间隔对比得出控制因子ω的最优值。
4.根据权利要求3所述的一种改进的混合协同过滤推荐方法,其特征在于:在步骤4中,Ωω=0.4。
5.根据权利要求1所述的一种改进的混合协同过滤推荐方法,其特征在于:在步骤2中,近邻集合的相似度质量βu具体计算如下:
<mrow>
<msub>
<mi>&beta;</mi>
<mi>u</mi>
</msub>
<mo>=</mo>
<mfrac>
<mrow>
<msub>
<mi>&Sigma;</mi>
<mrow>
<msub>
<mi>u</mi>
<mi>x</mi>
</msub>
<mo>&Element;</mo>
<mi>N</mi>
<mrow>
<mo>(</mo>
<mi>u</mi>
<mo>)</mo>
</mrow>
</mrow>
</msub>
<mi>s</mi>
<mi>i</mi>
<mi>m</mi>
<mrow>
<mo>(</mo>
<mi>u</mi>
<mo>,</mo>
<msub>
<mi>u</mi>
<mi>x</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
<msqrt>
<mrow>
<mi>K</mi>
<mo>*</mo>
<msub>
<mi>&Sigma;</mi>
<mrow>
<msub>
<mi>u</mi>
<mi>x</mi>
</msub>
<mo>&Element;</mo>
<mi>N</mi>
<mrow>
<mo>(</mo>
<mi>u</mi>
<mo>)</mo>
</mrow>
</mrow>
</msub>
<msup>
<mi>sim</mi>
<mn>2</mn>
</msup>
<mrow>
<mo>(</mo>
<mi>u</mi>
<mo>,</mo>
<msub>
<mi>u</mi>
<mi>x</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mfrac>
<msup>
<mrow>
<mo>(</mo>
<msub>
<mi>&Sigma;</mi>
<mrow>
<msub>
<mi>u</mi>
<mi>x</mi>
</msub>
<mo>&Element;</mo>
<mi>N</mi>
<mrow>
<mo>(</mo>
<mi>u</mi>
<mo>)</mo>
</mrow>
</mrow>
</msub>
<mi>s</mi>
<mi>i</mi>
<mi>m</mi>
<mo>(</mo>
<mi>u</mi>
<mo>,</mo>
<msub>
<mi>u</mi>
<mi>x</mi>
</msub>
<mo>)</mo>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
<mi>K</mi>
</mfrac>
</mrow>
</msqrt>
</mfrac>
</mrow>
其中,βu即为用户近邻集合的相似度质量,同理可以得出电影近邻集合的相似度质量βi。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711191113.4A CN107943948A (zh) | 2017-11-24 | 2017-11-24 | 一种改进的混合协同过滤推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711191113.4A CN107943948A (zh) | 2017-11-24 | 2017-11-24 | 一种改进的混合协同过滤推荐方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107943948A true CN107943948A (zh) | 2018-04-20 |
Family
ID=61949679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711191113.4A Pending CN107943948A (zh) | 2017-11-24 | 2017-11-24 | 一种改进的混合协同过滤推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107943948A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109345274A (zh) * | 2018-07-27 | 2019-02-15 | 华南理工大学 | 基于bp神经网络评分预测误差的近邻用户选择方法 |
CN110134874A (zh) * | 2019-04-18 | 2019-08-16 | 上海大学 | 一种优化用户相似度的协同过滤方法 |
CN110334284A (zh) * | 2019-04-03 | 2019-10-15 | 厦门大学 | 一种新型融合多因素决策的推荐方法 |
CN110489223A (zh) * | 2019-08-26 | 2019-11-22 | 北京邮电大学 | 一种异构集群中任务调度方法、装置及电子设备 |
CN110569374A (zh) * | 2019-08-20 | 2019-12-13 | 成都信息工程大学 | 一种基于改进协同过滤算法的电影推荐方法 |
CN113010783A (zh) * | 2021-03-17 | 2021-06-22 | 华南理工大学 | 基于多模态心血管疾病信息的医疗推荐方法、系统及介质 |
CN117934125A (zh) * | 2024-03-25 | 2024-04-26 | 珠海芯烨电子科技有限公司 | 目标信息推荐方法及装置、终端设备和计算机存储介质 |
-
2017
- 2017-11-24 CN CN201711191113.4A patent/CN107943948A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109345274A (zh) * | 2018-07-27 | 2019-02-15 | 华南理工大学 | 基于bp神经网络评分预测误差的近邻用户选择方法 |
CN110334284A (zh) * | 2019-04-03 | 2019-10-15 | 厦门大学 | 一种新型融合多因素决策的推荐方法 |
CN110334284B (zh) * | 2019-04-03 | 2021-07-30 | 厦门大学 | 一种新型融合多因素决策的推荐方法 |
CN110134874A (zh) * | 2019-04-18 | 2019-08-16 | 上海大学 | 一种优化用户相似度的协同过滤方法 |
CN110569374A (zh) * | 2019-08-20 | 2019-12-13 | 成都信息工程大学 | 一种基于改进协同过滤算法的电影推荐方法 |
CN110569374B (zh) * | 2019-08-20 | 2022-03-18 | 成都信息工程大学 | 一种基于改进协同过滤算法的电影推荐方法 |
CN110489223A (zh) * | 2019-08-26 | 2019-11-22 | 北京邮电大学 | 一种异构集群中任务调度方法、装置及电子设备 |
CN113010783A (zh) * | 2021-03-17 | 2021-06-22 | 华南理工大学 | 基于多模态心血管疾病信息的医疗推荐方法、系统及介质 |
CN117934125A (zh) * | 2024-03-25 | 2024-04-26 | 珠海芯烨电子科技有限公司 | 目标信息推荐方法及装置、终端设备和计算机存储介质 |
CN117934125B (zh) * | 2024-03-25 | 2024-05-24 | 珠海芯烨电子科技有限公司 | 目标信息推荐方法及装置、终端设备和计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107943948A (zh) | 一种改进的混合协同过滤推荐方法 | |
Lumley et al. | Fitting regression models to survey data | |
CN104063481B (zh) | 一种基于用户实时兴趣向量的电影个性化推荐方法 | |
CN105260390B (zh) | 一种面向群组的基于联合概率矩阵分解的项目推荐方法 | |
CN106779867B (zh) | 基于上下文感知的支持向量回归推荐方法及系统 | |
CN103995839A (zh) | 基于协同过滤的商品推荐优化方法和系统 | |
CN103377296B (zh) | 一种多指标评价信息的数据挖掘方法 | |
CN104657336A (zh) | 一种基于半余弦函数的个性化推荐算法 | |
CN103632290A (zh) | 一种基于推荐概率融合的混合推荐方法 | |
Habyarimana et al. | A proportional odds model with complex sampling design to identify key determinants of malnutrition of children under five years in Rwanda | |
CN104239496A (zh) | 一种结合模糊权重相似性度量和聚类协同过滤的方法 | |
CN106296521A (zh) | 基于营养评估的儿童配餐系统 | |
Di Fonzo et al. | Forecast combination-based forecast reconciliation: Insights and extensions | |
CN108241619A (zh) | 一种基于用户多兴趣的推荐方法 | |
CN108109058A (zh) | 一种融合人格特质和物品标签的单分类协同过滤方法 | |
CN104715399B (zh) | 一种评分预测方法与系统 | |
CN112085158A (zh) | 一种基于堆栈降噪自编码器的图书推荐方法 | |
Aichele et al. | Kyoto and the carbon content of trade | |
CN108694234A (zh) | 一种基于改进协同过滤算法的服务推荐模型 | |
CN108415928A (zh) | 一种基于加权混合k-最近邻算法的图书推荐方法与系统 | |
Verma et al. | Cross-sectional and longitudinal weighting in a rotational household panel: applications to EU-SILC | |
Huang et al. | A weighted linear quantile regression | |
Wilson et al. | School finance, equivalent educational expenditure, and the income distribution: Equal dollars or equal chances for success? | |
Gupta et al. | Skilled–unskilled wage inequality: A general equilibrium analysis | |
CN108681581A (zh) | 一种就业数据的协同过滤方法及系统 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180420 |