1.一种协同推荐的方法,其特征在于,包括:
获取预定数量的项目数据集信息,所述项目数据集信息包括用户对所述项目数据集里面的项目的评分信息;
基于所述项目数据集信息,根据乌鸦搜索算法进行迭代搜索,查找到最优模糊C-means聚类的簇中心的位置;对乌鸦搜索算法进行初始化控制参数设置,所述初始化控制参数包括种群群体数量M、感知概率AP、飞行长度fl以及最大迭代次数Maxiter;其中,在乌鸦搜索算法中,假定N只乌鸦随机分布在n维搜索空间中,xi,t=[x1i,t,x2i,t,…,xni,t](i=1,2,…,i,tN;t=1,2,…,Maxiter)表示第i只乌鸦在第t次迭代时的位置,M 表示乌鸦i在第t次迭代时隐藏食物的记忆值,即最优位置;APi,t表示乌鸦i在第t次迭代时的感知概率AP,fli,t表示乌鸦i在第t次迭代时的飞行长度;
根据下式对乌鸦i的位置进行更新:
其中,xi,t为乌鸦随机产生的位置,fli,t表示乌鸦i在第t代的飞行长度,xmax为x的最大值,xmin为x的最小值,rand为[0,1]区间随机生成数;APj,t表示乌鸦j在第t次迭代时的感知概率,ri和rj是[0,1]区间均匀分布的随机数值,mj,t表示乌鸦j在第t次迭代时隐藏食物的记忆值;
当乌鸦i的位置发生改变时,根据下式更新乌鸦记忆值:
其中,Mi,t表示乌鸦记忆值,f(Mi,t)表示适应度值;
当达到最大迭代次数Maxiter时,将乌鸦的Mi(i=1,2,…,N)中的位置作为最优解,返回值作为最优模糊C-means聚类的簇中心的位置;
将所述最优模糊C-means聚类的簇中心的位置作为初始簇中心的位置,基于优化后的所述初始簇中心的位置,根据模糊C-means聚类方法计算用户之间的相似度,根据所述相似度对所述用户进行分类,以构建推荐模型;
基于所述推荐模型,对目标用户未评分的项目进行预测,通过相似度度量得到预测评分,并基于所述预测评分的排序信息将前N个项目推荐给所述目标用户。
2.根据权利要求1所述的协同推荐的方法,其特征在于,
将所述最优模糊C-means聚类的簇中心的位置作为初始簇中心的位置,基于优化后的所述初始簇中心的位置,根据模糊C-means聚类方法计算用户之间的相似度,根据所述相似度对所述用户进行分类,以构建推荐模型,包括:根据下式分别设定n个用户对m个项目的评价结果:
其中,xik表示用户i对项目k的评价分数;
根据用户对各项目的评分对用户进行聚类处理,将所述用户分成C个簇,其中,聚类结果表示为矩阵U,表达式如下:其中uik表示用户i对簇k的隶属度;
目标函数的表达式如下:
其中,uik表示用户i在簇k中的隶属度,dik表示用户i和簇k中心点的欧氏距离,c表示簇k的中心点,m表示聚类结果模糊度权重参数值;
选择簇中心,设初始簇中心为C(0),第k次迭代的隶属度矩阵U(k)的计算公式如下:其中dij和drj表示簇中用户到各簇中心的欧式距离;
根据下式计算欧式距离:
根据下式计算第k次迭代的簇中心C(k+1):
其中,uij表示用户i在簇j中的隶属度,xj表示用户在簇j的评价分数;
计算前后两次迭代的簇中心的距离,当差值小于给定阈值ε时,则停止迭代,返回得到的簇中心矩阵C和隶属度矩阵U为最优解,否则,继续迭代优化,直到迭代次数到达给定的最大迭代次数Iter,簇中心距离计算公式如下:|C(k-1)-C(k)||≤ε
以最小化平均绝对误差MAE、精准率Precision和召回率Recall作为推荐系统适应度函数,表达式分别如下:其中,Ogh表示用户g对项目h的预期评分值,Sgh表示用户g对项目h的实际值,G表示评分项目总数;
其中Int表示用户主动做出的实际评分,TopN表示为用户推荐的前N个项目;
根据所述得到最优的隶属度矩阵U和簇中心矩阵C对用户进行分类;
构建簇 当ck={k|uik=max(uij),1≤j≤c},xi∈ck存在时,将用户i分到簇k中。
3.根据权利要求1所述的协同推荐的方法,其特征在于,基于所述推荐模型,对目标用户未评分的项目进行预测,通过相似度度量得到预测评分,并基于所述预测评分的排序信息将前N个项目推荐给所述目标用户,包括:获取所述目标用户对所有项目的评分,通过下式计算两用户之间的相似度:其中,sim(i,j)表示两用户之间的相似度,i和j分别表示用户i和用户j;Ri,c和Rj,c分别表示用户i和j对项目c的评分, 和 分别表示用户i和j对项目的评分平均值;
基于所述推荐模型,对目标推荐用户未评分的项目进行预测,通过相似度度量,得到评分预测,并按降序排序,将前N个项目推荐给用户,预测评价的计算公式如下:其中, 表示目标用户对评分项目的平均值,sim(u,l)表示两用户之间的相似度,Rl,j为邻居用户l对项目j的评分, 是用户l对评价项目的评分平均值。
4.一种协同推荐的装置,其特征在于,包括:
数据获取模块,用于获取预定数量的项目数据集信息,所述项目数据集信息包括用户对所述项目数据集里面的项目的评分信息;
计算模块,用于基于所述项目数据集信息,根据乌鸦搜索算法进行迭代搜索,查找到最优模糊C-means聚类的簇中心的位置;对乌鸦搜索算法进行初始化控制参数设置,所述初始化控制参数包括种群群体数量M、感知概率AP、飞行长度fl以及最大迭代次数Maxiter;其中,在乌鸦搜索算法中,假定N只乌鸦随机分布在n维搜索空间中,xi,t=[x1i,t,x2i,t,…,xni,t](i=1,2,…,N;t=1,2,…,Maxiter)表示第i只乌鸦在第t次迭代时的位置,Mi,t表示乌鸦i在第t次迭代时隐藏食物的记忆值,即最优位置;APi,t表示乌鸦i在第t次迭代时的感知概率AP,fli,t表示乌鸦i在第t次迭代时的飞行长度;
位置更新单元,用于根据下式对乌鸦i的位置进行更新:
其中,xi,t为乌鸦随机产生的位置,fli,t表示乌鸦i在第t代的飞行长度,xmax为x的最大值,xmin为x的最小值,rand为[0,1]区间随机生成数;APj,t表示乌鸦j在第t次迭代时的感知j,t概率,ri和rj是[0,1]区间均匀分布的随机数值,m 表示乌鸦j在第t次迭代时隐藏食物的记忆值;
记忆值更新单元,用于当乌鸦i的位置发生改变时,根据下式更新乌鸦记忆值:其中,Mi,t表示乌鸦记忆值,f(Mi,t)表示适应度值;
判断单元,用于当达到最大迭代次数Maxiter时,将乌鸦的Mi(i=1,2,…,N)中的位置作为最优解,返回值作为最优模糊C-means聚类的簇中心的位置;
构建模块,用于将所述最优模糊C-means聚类的簇中心的位置作为初始簇中心的位置,基于优化后的所述初始簇中心的位置,根据模糊C-means聚类方法计算用户之间的相似度,根据所述相似度对所述用户进行分类,以构建推荐模型;
评分预测模块,用于基于所述推荐模型,对目标用户未评分的项目进行预测,通过相似度度量得到预测评分,并基于所述预测评分的排序信息将前N个项目推荐给所述目标用户。
5.如权利要求4所述的协同推荐的装置,所述构建模块包括:设定单元,用于根据下式分别设定n个用户对m个项目的评价结果:其中,xik表示用户i对项目k的评价分数;
聚类处理单元,用于根据用户对各项目的评分对用户进行聚类处理,将所述用户分成C个簇,其中,聚类结果表示为矩阵U,表达式如下:其中uik表示用户i对簇k的隶属度;
目标函数的表达式如下:
其中,uik表示用户i在簇k中的隶属度,dik表示用户i和簇k中心点的欧氏距离,c表示簇k的中心点,m表示聚类结果模糊度权重参数值;
选择簇中心,设初始簇中心为C(0),第k次迭代的隶属度矩阵U(k)的计算公式如下:其中dij和drj表示簇中用户到各簇中心的欧式距离;
根据下式计算欧式距离:
根据下式计算第k次迭代的簇中心C(k+1):
其中,uij表示用户i在簇j中的隶属度,xj表示用户在簇j的评价分数;
计算判断单元,用于计算前后两次迭代的簇中心的距离,当差值小于给定阈值ε时,则停止迭代,返回得到的簇中心矩阵C和隶属度矩阵U为最优解,否则,继续迭代优化,直到迭代次数到达给定的最大迭代次数Iter,簇中心距离计算公式如下:|C(k-1)-C(k)||≤ε
确定单元,用于以最小化平均绝对误差MAE、精准率Precision和召回率Recall作为推荐系统适应度函数,表达式分别如下:其中,Ogh表示用户g对项目h的预期评分值,Sgh表示用户g对项目h的实际值,G表示评分项目总数;
其中Int表示用户主动做出的实际评分,TopN表示为用户推荐的前N个项目;
分类单元,用于根据所述得到最优的隶属度矩阵U和簇中心矩阵C对用户进行分类;
构建簇 当ck={k|uik=max(uij),1≤j≤c},xi∈ck存在时,将用户i分到簇k中。
6.如权利要求4所述的协同推荐的装置,所述评分预测模块包括:获取单元,用于获取所述目标用户对所有项目的评分,通过下式计算两用户之间的相似度:其中,sim(i,j)表示两用户之间的相似度,i和j分别表示用户i和用户j;Ri,c和Rj,c分别表示用户i和j对项目c的评分, 和 分别表示用户i和j对项目的评分平均值;
预测单元,用于基于所述推荐模型,对目标推荐用户未评分的项目进行预测,通过相似度度量,得到评分预测,并按降序排序,将前N个项目推荐给用户,预测评价的计算公式如下:其中, 表示目标用户对评分项目的平均值,sim(u,l)表示两用户之间的相似度,Rl,j为邻居用户l对项目j的评分, 是用户l对评价项目的评分平均值。
7.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至3任一项所述方法的步骤。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述方法的步骤。