Page 404 - 《软件学报》2024年第6期
P. 404

2980                                                       软件学报  2024  年第  35  卷第  6  期


                 识, 作为质心, 每个被标识的用户都选择距离自己最近的质心, 进行归类; ② 对 k 个类分别求平均值, 作为新的质
                 心, 继续进行归类, 直到质心位置不再变化或者小于一个阈值. 此时把每个用户与其类中质心的距离再进一步转化
                 成兴趣形态相似度, 如公式        (6) 所示:
                                                   sim(m,n) = 1/(1+d(m,n))                            (6)
                    兴趣形态相似度高的用户归到一类, 可得到用户对每种项目在不同周期的兴趣形态, 这在很大程度上反映出
                 用户的兴趣规律, 特别是最近一个周期内的兴趣形态, 对于生成自适应周期起到关键作用.
                  3.2.2    基于线性回归的自适应周期生成
                    由用户近期的行为规律, 来预测下次的行为表现, 是多数推荐模型的主要思想. 尽管这些模型也考虑了用户的
                 行为表现, 但只是期望在下一次推荐就得到用户的反馈. 而自适应周期                     T p 反映的是用户未来可能会产生相关行为
                 的时刻. 特别对于长期兴趣, 其存活期长, 但可能并不活跃, 自适应周期                  T p 便可灵活地随着不同的兴趣分布做出变
                 化. 因此, 自适应周期    T p 是影响推荐效果的关键.
                    前面通过聚类操作, 已明确用户在不同时期的兴趣形态分布, 接下来将同种项目类型下相同兴趣形态的项目
                 行为数据分别进行拟合. 线性回归方法在拟合过程中已取得不错的表现, 而为体现个性化特征, 本文采用多元线性
                 回归方式, 融入多个影响因子, 以拟合出可计算自适应周期的曲线函数, 如公式                      (7) 所示:
                                             
                                                      ′                  2
                                              x = F 1 : T = b 1 +ω 1 ×T α +ω 2 ×(T α ) ;
                                                       p
                                             
                                            
                                            
                                            
                                            
                                                                        2
                                                     ′
                                              x = F 2 : T = b 2 +ω 3 ×T α +ω 4 ×(T α ) ;
                                                     p
                                            
                                          
                                          
                                           if 
                                                             .                                       (7)
                                            
                                             
                                                            .
                                                            .
                                            
                                            
                                            
                                                                          2
                                                    ′
                                              x = F n : T = b n +ω 2n−1 ×T α +ω 2n ×(T α ) ,
                                                     p
                                          
                                                                   2
                                                ′
                                            T p = T +ω 2n+1 ×T β +ω 2n+2 ×(T α )
                                                 p
                              δ 条件表达式函数, 若条件表达式为                 δ =1; 若为       δ =0. 因此, 可将公式  (7) 转换为
                    接下来引入                                 True, 则        False, 则
                 一个线性模型, 如公式      (8) 所示:
                 T p = b 1 ×δ(x = F 1 )+ω 1 ×δ(x = F 1 )T α +ω 2 ×δ(x = F 1 )(T α ) +b 2 ×δ(x = F 2 )+ω 3 ×δ(x = F 2 )T α +ω 4 ×δ(x = F 2 )(T α ) +...
                                                           2                                       2
                 
                 
                                                              2                  2
                 
                     +b n ×δ(x = F n )+ω 2n−1 ×δ(x = F n )T α +ω 2n ×δ(x = F n )(T α ) +ω 2n+1 ×T β +ω 2n+2 ×(T β )
                 
                         {
                 
                 
                                    (1 ⩽ i ⩽ n)
                          1, if x = F i
                 且δ(x) =
                 
                 
                           0, otherwise                 k;
                                                                                                      (8)
                    据此, 便可得到用户兴趣形态的自适应周期模型. 为训练出更好的模型, 这里引入正则项, 采用损失函数来评
                 估, 如公式  (9) 所示:
                                                  n    (     m   )) 2   m
                                                ∑ (       ∑          ∑
                                                     j
                                             L =    T − b+    ω i T i  +λ  (ω i ) 2                   (9)
                                                  j  p       i          i
                 其中, n  为迭代次数, m  为参数个数.
                    自适应周期生成的过程, 即提取出基于显隐式信息下的用户某个周期内的浏览次数                             T α  和浏览周长  T β  , 先将
                 这两个深度信息转换成向量形式进行聚类操作以确定该项目的兴趣形态, 再将相同兴趣形态下, 同种项目的行为
                 数据分别进行拟合, 最后根据用户自身的兴趣形态, 训练自适应周期模型, 便可准确地预测该项目的自适应周期
                 T p . 具体过程见算法  1.
                 算法  1. 自适应周期生成.
                                      B  , 兴趣特征数量超参
                                       i
                 输入: 用户所有的行为记忆         u
                 输出: 用户-项目类型的自适应周期          T p .
                 Begin
                    i
                 1.   B = {T 1 ,T 2 ,T 3 ,...,T n−1 ,τ,T p }  /* 行为记忆初始化, 见第  3.1.1  节*/
                    u
                 2. I =  ∅  /* 初始化用户-项目兴趣形态集*/
   399   400   401   402   403   404   405   406   407   408   409