基于遗传算法和新型相似度计算策略的协同过滤推荐算法的制作方法

文档序号:12673781阅读:来源:国知局

技术特征:

1.一种基于遗传算法和新型相似度计算策略的协同过滤推荐算法,其特征在于,适用于评分范围较小或者评分情况小的情况,包括以下步骤:

S1,收集用户对物品的原始评分;

S2,计算每个用户的平均评分习惯,将用户对物品的评分转换成喜欢与不喜欢,获得用户对物品的一个偏好矩阵;

S3,计算物品与物品之间的相似度:引入向量来统计对任意两个物品喜欢的组合情况各自出现的次数,及给定权向量表示在用户评分中各种组合情况的重要程度,通过向量权向量的函数计算两个物品x,y的相似度;

S4,根据预测的分数对物品排序,将前N个物品线上推荐给目标用户。

2.根据权利要求1所述的基于遗传算法和新型相似度计算策略的协同过滤推荐算法,其特征在于,所述的两个物品x,y的相似度通过下列公式计算得出,

<mrow> <mi>S</mi> <mi>i</mi> <mi>m</mi> <mi>i</mi> <mi>l</mi> <mi>a</mi> <mi>r</mi> <mi>i</mi> <mi>t</mi> <mi>y</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <mi>i</mi> <mo>=</mo> <mn>3</mn> </mrow> </munderover> <msub> <mover> <mi>W</mi> <mo>&RightArrow;</mo> </mover> <mi>i</mi> </msub> <mo>&times;</mo> <msub> <mover> <mi>V</mi> <mo>&RightArrow;</mo> </mover> <mi>i</mi> </msub> </mrow> <mrow> <msqrt> <mrow> <munderover> <mi>&Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>0</mn> </mrow> <mn>3</mn> </munderover> <msubsup> <mover> <mi>W</mi> <mo>&RightArrow;</mo> </mover> <mi>j</mi> <mn>2</mn> </msubsup> </mrow> </msqrt> <mo>&times;</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>k</mi> <mo>=</mo> <mn>0</mn> </mrow> <mn>3</mn> </munderover> <mover> <msub> <mi>V</mi> <mi>k</mi> </msub> <mo>&RightArrow;</mo> </mover> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>

其中且wi∈[0,1]

3.一种基于遗传算法和新型相似度计算策略的协同过滤推荐算法,其特征在于,适用于用户评分范围较大或者取值情况比较多的情况,包括以下步骤:

S1,收集用户对物品的原始评分;

S2,利用用户对物品的历史评分均值和方差来判断用户的评分习惯,进而计算出用户对物品的偏好集合;

S3,计算物品与物品之间的相似度:引入向量来统计对任意两个物品喜欢的组合情况各自出现的次数,及给定权向量表示在用户评分中各种组合情况的重要程度,通过向量权向量的函数计算两个物品x,y的相似度;

S4,根据预测的分数对物品排序,将前N个物品线上推荐给目标用户。

4.根据权利要求3所述的基于遗传算法和新型相似度计算策略的协同过滤推荐算法,其特征在于,所述的用户对物品的偏好集合通过下列公式计算得出,

其中是指用户u对物品i的偏好程度;avgu用户u的平均评分;varu是用户u的评分方差;参数λ为可以根据需要进行设置;p是偏好集合里的最差偏好度,P偏好集合中的最高偏好度。p和P都是可以量化的整数;Z是整数集合;如果则让如果

5.根据权利要求4所述的基于遗传算法和新型相似度计算策略的协同过滤推荐算法,其特征在于,所述的两个物品x,y的相似度通过下列公式计算得出,

<mrow> <mi>S</mi> <mi>i</mi> <mi>m</mi> <mi>i</mi> <mi>l</mi> <mi>a</mi> <mi>r</mi> <mi>i</mi> <mi>t</mi> <mi>y</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <mi>i</mi> <mo>=</mo> <msup> <mrow> <mo>|</mo> <mi>D</mi> <mo>|</mo> </mrow> <mn>2</mn> </msup> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <msub> <mover> <mi>W</mi> <mo>&RightArrow;</mo> </mover> <mi>i</mi> </msub> <mo>&times;</mo> <msub> <mover> <mi>V</mi> <mo>&RightArrow;</mo> </mover> <mi>i</mi> </msub> </mrow> <mrow> <msqrt> <mrow> <munderover> <mi>&Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <msup> <mrow> <mo>|</mo> <mi>D</mi> <mo>|</mo> </mrow> <mn>2</mn> </msup> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <msubsup> <mover> <mi>W</mi> <mo>&RightArrow;</mo> </mover> <mi>j</mi> <mn>2</mn> </msubsup> </mrow> </msqrt> <mo>&times;</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>k</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <msup> <mrow> <mo>|</mo> <mi>D</mi> <mo>|</mo> </mrow> <mn>2</mn> </msup> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <mover> <msub> <mi>V</mi> <mi>k</mi> </msub> <mo>&RightArrow;</mo> </mover> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>

6.根据权利要求1和3所述的基于遗传算法和新型相似度计算策略的协同过滤推荐算法,其特征在于,所述的权向量的选择包括将权向量编码成遗传算法中的个体,随机初始产生一定数量的权向量然后评估每个在训练数据集上的平均绝对偏差,接着通过遗传算子产生新的子代个体,逐代优化从而发现适合数据集的权向量

7.根据权利要求6所述的基于遗传算法和新型相似度计算策略的协同过滤推荐算法,其特征在于,所述的遗传算法依靠适应度函数的大小来区分每个个体的优劣。

8.根据权利要求7所述的基于遗传算法和新型相似度计算策略的协同过滤推荐算法,其特征在于,所述的确定适应度函数包括以下步骤:

S1,利用式3获得训练物品集中每对物品之间的相似度;

S2,通过相似度值获得物品i最相似的k个物品,N(i);

S3,对于训练集中的每个用户u,通过式5预测用户u在物品i上的评分;

<mrow> <msubsup> <mi>prediction</mi> <mi>u</mi> <mi>i</mi> </msubsup> <mo>=</mo> <mover> <msub> <mi>r</mi> <mi>i</mi> </msub> <mo>&OverBar;</mo> </mover> <mo>+</mo> <mfrac> <mrow> <munderover> <mi>&Sigma;</mi> <mrow> <mi>j</mi> <mo>&Element;</mo> <mi>N</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </mrow> <mi>k</mi> </munderover> <mi>S</mi> <mi>i</mi> <mi>m</mi> <mi>i</mi> <mi>l</mi> <mi>a</mi> <mi>r</mi> <mi>i</mi> <mi>t</mi> <mi>y</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>,</mo> <mi>j</mi> <mo>)</mo> </mrow> <mo>&times;</mo> <mrow> <mo>(</mo> <msubsup> <mi>r</mi> <mi>u</mi> <mi>j</mi> </msubsup> <mo>-</mo> <mover> <msub> <mi>r</mi> <mi>j</mi> </msub> <mo>&OverBar;</mo> </mover> <mo>)</mo> </mrow> </mrow> <mrow> <munderover> <mi>&Sigma;</mi> <mrow> <mi>j</mi> <mo>&Element;</mo> <mi>N</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </mrow> <mi>k</mi> </munderover> <mo>|</mo> <mi>S</mi> <mi>i</mi> <mi>m</mi> <mi>i</mi> <mi>l</mi> <mi>a</mi> <mi>r</mi> <mi>i</mi> <mi>t</mi> <mi>y</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>,</mo> <mi>j</mi> <mo>)</mo> </mrow> <mo>|</mo> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> </mrow>

分别为物品i和j的平均评分,为用户u对物品j的实际评分,k为i,j两个物品同时被评价的用户个数;

S4,利用式6计算遗传算法中的个体在训练集上的适应值函数:

<mrow> <mi>f</mi> <mi>i</mi> <mi>t</mi> <mi>n</mi> <mi>e</mi> <mi>s</mi> <mi>s</mi> <mrow> <mo>(</mo> <mi>i</mi> <mi>n</mi> <mi>d</mi> <mi>i</mi> <mi>v</mi> <mi>i</mi> <mi>d</mi> <mi>u</mi> <mi>a</mi> <mi>l</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <mo>|</mo> <mi>U</mi> <mo>|</mo> </mrow> </mfrac> <munderover> <mi>&Sigma;</mi> <mrow> <mi>u</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mo>|</mo> <mi>U</mi> <mo>|</mo> </mrow> </munderover> <mfrac> <mn>1</mn> <mrow> <mo>|</mo> <mi>I</mi> <mo>|</mo> </mrow> </mfrac> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mo>|</mo> <mi>I</mi> <mo>|</mo> </mrow> </munderover> <mo>|</mo> <mrow> <msubsup> <mi>prediciton</mi> <mi>u</mi> <mi>i</mi> </msubsup> <mo>-</mo> <msubsup> <mi>r</mi> <mi>u</mi> <mi>i</mi> </msubsup> </mrow> <mo>|</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow>

9.根据权利要求6所述的基于遗传算法和新型相似度计算策略的协同过滤推荐算法,其特征在于,所述的遗传算子包括选择、交叉和变异。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1