一种解决协同过滤推荐技术中冷启动问题的方法及系统技术方案

技术编号:16644865 阅读:44 留言:0更新日期:2017-11-26 17:21
本发明专利技术属于个性化推荐技术领域,尤其涉及一种解决协同过滤推荐技术中冷启动问题的方法及系统。一种解决协同过滤推荐技术中冷启动问题的方法,包括:选取数据集;通过优化的遗传算法建立初始用户或项目聚类模型;基于用户或项目初始聚类模型进行聚类,得到用户或项目聚类模型;计算新用户或新项目到聚类模型中各类簇的熵值,将新用户或新项目划分类簇;对新用户或新项目进行推荐。本发明专利技术还包括一种解决协同过滤推荐技术中冷启动问题的系统,包括:选取模块;初始模型建立模块;聚类模块;划分类簇模块;产生推荐模块。本发明专利技术利用改进的遗传算法进行K‑Means聚类,生成用户或项目初始聚类模型,对新用户或新项目产生推荐。

Method and system for solving cold start problem in Collaborative Filtering Recommendation Technology

The invention belongs to the field of personalized recommendation technology, in particular to a method and system for solving the cold start problem in collaborative filtering recommendation technology. A method to solve the collaborative filtering technology in the cold start problem includes: select the data set; establishing the initial user or item clustering model by genetic algorithm; clustering user or project initial clustering model based on user or item clustering model; calculation of new users or new items to all kinds of cluster clustering model of entropy in the new users or new projects into clusters; for new users or new projects are recommended. The invention also includes a system for solving the cold start problem in the collaborative filtering recommendation technology, which comprises a selection module, an initial model building module, a clustering module, a partition class cluster module, and a recommendation module. The invention uses the improved genetic algorithm K Means clustering, generate user or project the initial clustering model, generate recommendations for new users or new projects.

【技术实现步骤摘要】
一种解决协同过滤推荐技术中冷启动问题的方法及系统
本专利技术属于个性化推荐
,尤其涉及一种解决协同过滤推荐技术中冷启动问题的方法及系统。
技术介绍
信息过载是大数据环境下最严重的问题之一,推荐系统作为有效缓解该问题的方法,受到工业界和学术界越来越多的关注。作为当前使用最广泛的推荐技术之一的协同过滤推荐技术,在理论和应用研究都已取得了大量成果,但是存在冷启动问题,影响了协同过滤推荐技术的推荐质量。冷启动问题包括新用户冷启动问题和新项目冷启动问题。传统的协同过滤推荐技术无法对新用户或新项目进行相似度计算,为其查找最近邻居集,无法产生推荐。本专利技术借用机器学习思想,采用K-Means算法进行聚类,然后利用新用户或新项目的属性信息,将新用户或新项目分到相应的簇中,这样新用户和新项目就能找到兴趣相似的邻居,根据邻居用户或项目的评分信息产生推荐,解决了传统协同过滤推荐算法的冷启动问题。但是,传统的K-Means聚类算法在对初始用户中心点的选取是随机的,不仅效率低而且会产生局部最优的情况,影响最终聚类的划分,从而影响整个推荐质量。传统的遗传算法中的选择交叉概率及变异概率是固定的,即整个进化过程中不变,但是种群初期与末期的差异是很大的,在种群进化初期,个体之间差异性较大,需要较大的交叉、变异概率,从而增加种群的多样性,而在种群进化的末期,个体之间差异已经相对很小,故需要及时调整交叉概率及变异概率。
技术实现思路
本专利技术的目的在于克服上述协同过滤推荐技术中的新用户及新项目冷启动问题,利用改进的遗传算法进行K-Means聚类,生成用户或项目初始聚类模型,最终对新用户和新项目产生推荐。为了实现上述目的,本专利技术采用以下技术方案:一种解决协同过滤推荐技术中冷启动问题的方法,包括以下步骤:步骤1:选取数据集,所述数据集包括用户-项目评分数据及用户或项目属性信息;步骤2:基于用户-项目评分数据,通过优化的遗传算法建立初始用户或项目聚类模型;步骤3:根据初始用户或项目聚类模型,对用户-项目评分数据进行K-Means聚类,得到用户或项目聚类模型;步骤4:根据新用户或新项目的属性信息及用户或项目属性信息,计算新用户或新项目划分到用户或项目聚类模型各类簇的熵值,根据得出的熵值将新用户或新项目划分到所属类簇;步骤5:在新用户或新项目所属类簇中,查找新用户或新项目的最近邻居,对新用户或新项目的最近邻居进行推荐,并将推荐结果作为对新用户或新项目的推荐。优选地,在所述步骤2之前还包括:对遗传算法进行优化,包括:步骤a.采用加权的轮廓系数作为种群中个体的适应度函数:f=s(3)其中,a(i)为样本i到同类簇其他样本的平均距离,b(i)表示样本i到其他类簇内样本平均距离的最小值,S(i)为样本i的轮廓系数,S为聚类模型的轮廓系数,n为聚类模型中样本的个数,f为种群中个体的适应度函数,f′为改进后种群中个体的适应度函数,witer为惯性权系数,iter为当前进化代数,iteravg为平均进化代数,itermax为最大进化代数,wini为最小惯性权系数,wend为最大惯性权系数;步骤b.将算法中的交叉概率和变异概率按如下公式进行动态调整:其中,Pc*为遗传算法自适应交叉概率,Pc1、Pc2分别为最大、最小交叉概率,Pm*为遗传算法自适应变异概率,Pm1、Pm2分别为最大、最小变异概率,f′为改进后种群中个体的适应度函数,favg为种群中个体的平均适应度函数值,fmax为个体的最大适应度函数值,Epj为种群中个体j的熵值,Eavg为种群中个体的平均熵值,Emax为种群中个体的最大熵值,k为1/logem,e为自然常数,m为聚类中样本的数量,pij为种群个体j对应的聚类中类簇i包含的对象占聚类所有样本的比例,L为种群个体j对应的聚类中类簇的个数。优选地,所述步骤2包括:步骤2.1:将用户-项目评分数据转化为用户-项目评分矩阵R;步骤2.2:输入用户-项目评分矩阵R及当前进化代数iter;步骤2.3:种群初始化,随机选择M个2~n1/2之间的整数,其中n为用户或项目个数,并将所述M个2~n1/2之间的整数进行二进制编码、转化为二进制数,构成种群的M条染色体,所述染色体为种群中个体;步骤2.4:对于每一条染色体,在R上随机选取该染色体对应十进制数个元素,作为初始聚类中心,进行K-Means聚类,得到聚类模型;步骤2.5:利用公式(1)至(5)计算种群中染色体的适应度函数值;步骤2.6:根据适应度函数值以及当前的进化代数,判断是否达到收敛条件,即是否iter>N或|fi-fi-1|<=ε,其中,N为正整数,ε为正数,若是,则进行步骤2.11;若否,则进行下一步;步骤2.7:保留最大适应度函数值对应的染色体,并将该染色体迁移到下一代种群中,替换最小适应度函数值对应的染色体;步骤2.8:采用轮盘赌策略进行染色体选择操作;步骤2.9:采用Pc*进行单点交叉操作;步骤2.10:采用Pm*进行变异操作,得到变异后种群的M条染色体,执行步骤2.4;步骤2.11:输出最大适应度函数值的染色体,并将其对应的十进制数作为聚类个数k′,进行K-Means聚类,并将对应的聚类结果作为初始用户或项目聚类模型,所述初始用户或项目聚类模型包括初始用户或项目聚类个数k′及初始聚类中心点。优选地,所述步骤4包括:步骤4.1:统计R中存在评分数据的用户id或项目id;步骤4.2:将R中存在评分数据的用户或项目对应的用户属性信息或项目属性信息进行离散化处理,得到用户属性信息矩阵U或项目属性信息矩阵I;步骤4.3:结合用户或项目聚类模型及U或I,将新用户或新项目分别置于用户或项目聚类模型的类簇内,并计算此时类簇的熵值,计算公式如下所示:其中,ei′为类簇c内用户或项目属性i的熵值,k为1/logem,e为自然常数,m为类簇c中样本的数量,L为用户或项目属性i划分类数,pij为类簇c内第i个用户或项目属性的第j个类别所占比例,q为用户或项目属性个数;步骤4.4:将新用户或新项目划分到熵值最大的类簇中。优选地,所述步骤5包括:步骤5.1:在新用户或新项目所属类簇内,计算新用户或新项目与所属类簇内用户或项目的相似度,得出新用户或新项目的最近邻居us或is;步骤5.2:在R上计算us或is的最近邻居集Qu或Qi;步骤5.3:在Qu或Qi上,对us进行Top-N推荐,并将Top-N推荐结果推荐给新用户,将新项目推荐给Qi中的评分值Top-N用户。基于上述的一种解决协同过滤推荐技术中冷启动问题的方法的一种解决协同过滤推荐技术中冷启动问题的系统,包括:选取模块,用于选取数据集,所述数据集包括用户-项目评分数据及用户或项目属性信息;初始模型建立模块,用于基于用户-项目评分数据,通过优化的遗传算法建立初始用户或项目聚类模型;聚类模块,用于根据初始用户或项目聚类模型,对用户-项目评分数据进行K-Means聚类,得到用户或项目聚类模型;划分类簇模块,用于根据新用户或新项目的属性信息及用户或项目属性信息,计算新用户或新项目划分到用户或项目聚类模型各类簇的熵值,根据得出的熵值将新用户或新项目划分到所属类簇;产生推荐模块,用于在新用户或新项目所属类簇中,查找新用户或新项目的最近邻居,对新用户或新项目的最近邻本文档来自技高网...
一种解决协同过滤推荐技术中冷启动问题的方法及系统

【技术保护点】
一种解决协同过滤推荐技术中冷启动问题的方法,其特征在于,包括以下步骤:步骤1:选取数据集,所述数据集包括用户‑项目评分数据及用户或项目属性信息;步骤2:基于用户‑项目评分数据,通过优化的遗传算法建立初始用户或项目聚类模型;步骤3:根据初始用户或项目聚类模型,对用户‑项目评分数据进行K‑Means聚类,得到用户或项目聚类模型;步骤4:根据新用户或新项目的属性信息及用户或项目属性信息,计算新用户或新项目划分到用户或项目聚类模型各类簇的熵值,根据得出的熵值将新用户或新项目划分到所属类簇;步骤5:在新用户或新项目所属类簇中,查找新用户或新项目的最近邻居,对新用户或新项目的最近邻居进行推荐,并将推荐结果作为对新用户或新项目的推荐。

【技术特征摘要】
1.一种解决协同过滤推荐技术中冷启动问题的方法,其特征在于,包括以下步骤:步骤1:选取数据集,所述数据集包括用户-项目评分数据及用户或项目属性信息;步骤2:基于用户-项目评分数据,通过优化的遗传算法建立初始用户或项目聚类模型;步骤3:根据初始用户或项目聚类模型,对用户-项目评分数据进行K-Means聚类,得到用户或项目聚类模型;步骤4:根据新用户或新项目的属性信息及用户或项目属性信息,计算新用户或新项目划分到用户或项目聚类模型各类簇的熵值,根据得出的熵值将新用户或新项目划分到所属类簇;步骤5:在新用户或新项目所属类簇中,查找新用户或新项目的最近邻居,对新用户或新项目的最近邻居进行推荐,并将推荐结果作为对新用户或新项目的推荐。2.根据权利要求1所述的一种解决协同过滤推荐技术中冷启动问题的方法,其特征在于,在所述步骤2之前还包括:对遗传算法进行优化,包括:步骤a.采用加权的轮廓系数作为种群中个体的适应度函数:f=S(3)其中,a(i)为样本i到同类簇其他样本的平均距离,b(i)表示样本i到其他类簇内样本平均距离的最小值,S(i)为样本i的轮廓系数,S为聚类模型的轮廓系数,n为聚类模型中样本的个数,f为种群中个体的适应度函数,f′为改进后种群中个体的适应度函数,witer为惯性权系数,iter为当前进化代数,iteravg为平均进化代数,itermax为最大进化代数,wini为最小惯性权系数,wend为最大惯性权系数;步骤b.将算法中的交叉概率和变异概率按如下公式进行动态调整:其中,Pc*为遗传算法自适应交叉概率,Pc1、Pc2分别为最大、最小交叉概率,Pm*为遗传算法自适应变异概率,Pm1、Pm2分别为最大、最小变异概率,f′为改进后种群中个体的适应度函数,favg为种群中个体的平均适应度函数值,fmax为个体的最大适应度函数值,Epj为种群中个体j的熵值,Eavg为种群中个体的平均熵值,Emax为种群中个体的最大熵值,k为1/logem,e为自然常数,m为聚类中样本的数量,pij为种群个体j对应的聚类中类簇i包含的对象占聚类所有样本的比例,L为种群个体j对应的聚类中类簇的个数。3.根据权利要求2所述的一种解决协同过滤推荐技术中冷启动问题的方法,其特征在于,所述步骤2包括:步骤2.1:将用户-项目评分数据转化为用户-项目评分矩阵R;步骤2.2:输入用户-项目评分矩阵R及当前进化代数iter;步骤2.3:种群初始化,随机选择M个2~n1/2之间的整数,其中n为用户或项目个数,并将所述M个2~n1/2之间的整数进行二进制编码、转化为二进制数,构成种群的M条染色体,所述染色体为种群中个体;步骤2.4:对于每一条染色体,在R上随机选取该染色体对应十进制数个元素,作为初始聚类中心,进行K-Means聚类,得到聚类模型;步骤2.5:利用公式(1)至(5)计算种群中染色体的适应度函数值;步骤2.6:根据适应度函数值以及当前的进化代数,判断是否达到收敛条件,即是否iter>N或|fi-fi-1|<=ε,其中,N为正整数,ε为正数,若是,则进行步骤2.11;若否,则进行下一步;步骤2.7:保留最大适应度函数值对应的染色体,并将该染色体迁移到下一代种群中,替换最小适应度函数值对应的染色体;步骤2.8:采用轮盘赌策略进行染色体选择操作;步骤2.9:采用Pc*进行单点交叉操作;步骤2.10:采用Pm*进行变异操作,得到变异后种群的M条染色体,执行步骤2.4;步骤2.11:输出最大适应度函数值的染色体,并将其对应的十进制数作为聚类个数k′,进行K-Means聚类,并将对应的聚类结果作为初始用户或项目聚类模型,所述初始用户或项目聚类模型包括初始用户或项目聚类个数k′及初始聚类中心点。4.根据权利要求3所述的一种解决协同过滤推荐技术中冷启动问题的方法,其特征在于,所述步骤4包括:步骤4.1:统计R中存在评分数据的用户id或项目id;步骤4.2:将R中存在评分数据的用户或项目对应的用户属性信息或项目属性信息进行离散化处理,得到用户属性信息矩阵U或项目属性信息矩阵I;步骤4.3:结合用户或项目聚类模型及U或I,将新用户或新项目分别置于用户或项目聚类模型的类簇内,并计算此时类簇的熵值,计算公式如下所示:其中,ei′为类簇c内用户或项目属性i的熵值,k为1/logem,e为自然常数,m为类簇c中样本的数量,L为用户或项目属性i划分类数,pij为类簇c内第i个用户或项目属性的第j个类别所占比例,q为用户或项目属性个数;步骤4.4:将新用户或新项目划分到熵值最大的类簇中。5.根据权利要求1或4所述的一种解决协同过滤推荐技术中冷启动问题的方法,其特征在于,所述步骤5包括:步骤5.1:在新用户或新项目所属类簇内,计算新用户或新项目与所属类簇内用户或项目的相似度,得出新用户或新项目的最近邻居us或is;步骤5.2:在R上计算us或is的最近邻居集Qu或Qi;步骤5.3:在Qu或Qi上,对us进行Top-N推荐,并将Top-N推荐结果推荐给新用户,将新项目推荐给Qi中的评分值Top-N用户。6.基于权利要求1-5所述的一种解决协同过滤推荐技术中冷启动问题的方法的一种解决协同过滤推荐技术中冷启动问题的系统...

【专利技术属性】
技术研发人员:田保军胡培培杜晓娟杨浒昀
申请(专利权)人:内蒙古工业大学
类型:发明
国别省市:内蒙古,15

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1