Page 413 - 《软件学报》2025年第5期
P. 413

王笑 等: 面向属性网络社团检测的度修正广义随机块模型                                                     2313



                 算法  1. DCGSB  的参数推断算法.

                      A, X, c, I T , ε ;
                 输入:
                 输出:   B,H,Θ.
                 1. 计算节点的度    D = (d i ) 1×n  ;
                             (0)
                         (0)
                        B ,H ,Θ (0)  ;
                 2. 初始化
                 3. 根据公式  (8) 计算目标函数    L(B ,H ,Θ ) ;
                                              (0)
                                                 (0)
                                           (0)
                      t = 1 : I T   do
                 4. for
                 5.  E-step: 根据公式  (10) 计算  q ,γ  ;
                                            r
                                          rs
                                          i j  ik
                 6.  M-step: 根据公式  (11)、公式  (12) 计算  B ,H ,Θ (t)  ;
                                                   (t)
                                                       (t)
                 7.  根据公式   (8) 计算目标函数    L(B ,H ,Θ ) ;
                                                (t)
                                            (t)
                                                   (t)

                         (t)
                             (t)
                                (t)

                 8.  if   L(B ,H ,Θ )− L(B (t−1) ,H (t−1) ,Θ (t−1)   t = I T  then
                                                 ) < ε 或者
                                 (t)
                           (t)
                 9.     B = B ,H = H ,Θ = Θ (t)  ; break;
                 10.   end if
                 11. end for

                 3.2   初值设置
                    在算法   DCGSB  中, 概率矩阵    H  的初始化对其收敛速度有着较大的影响. 当             H  的初始化所产生的网络结构
                 与真实网络结构一致时, 算法就很容易收敛; 但当                H  初始化产生的网络结构与真实网络结构不一致时, 算法收
                 敛速度就会很慢. 为了让算法尽可能少的迭代次数就达到收敛, 在实验中, 利用最大熵                           [32] 与最大似然的思想对
                 H  的初始值进行设置, 分为以下         3  种情况: (1) 当  H  对角线元素大于非对角线元素时, 对应网络的同配结构;
                                                                         H  中的元素在某个值附近浮动时           (比如
                 (2) 当  H  对角线元素小于非对角线元素时, 对应网络的异配结构; (3) 当
                 0.5), 对应网络的其他结构. 针对每个网络, 我们首先将这              3  种情况分别执行若干次        (比如  10  次), 然后计算每种
                 情况下这若干次      (10  次) 似然函数的平均值, 最后将平均值最大的那种情况对应的                   H  初始化形式作为     DCGSB
                 算法的初始化.

                 3.3   时间复杂度分析
                    DCGSB  模型的时间复杂度主要由          EM  算法的  E  步  (公式  (10)) 和  M  步  (公式  (11)、公式  (12)) 决定. 在每一
                 次迭代过程中, E    步的时间复杂度为       O(mc +nKc) ; M  步的时间复杂度为    O(nc+c +nKc) . 由于社团数   远远小于
                                                                               2
                                                 2
                                                                                                c
                              c ≪ n , 因此  M                                                I T  , 故整个算法的
                 网络节点数    n , 即           步的时间复杂度可以写成         O(nKc) , 并且算法的最大迭代次数为
                                  2
                 时间复杂度为     O(I T (mc +nKc)) .

                 4   基于  DCGSB  模型的社团检测
                    由于节点隶属度矩阵         B  刻画了网络中节点在社团上的分布情况, 我们的主要目标是求出节点隶属度矩阵
                                                  V r (r = 1,2,...,c) 的概率. 本文利用硬划分的方式来推断网络中节点的
                 B = (b ir ) n×c  , 即每个节点属于任意一个社团
                 社团隶属度, 即利用      b ir  的最大值限定一个节点只能属于一个社团. 由于            EM  算法求解模型参数时引入了隐变量,
                 不能直接对    b ir  进行处理. 为了得到硬划分, 本文对参数       b ir  与  h rs  设置了一种运算, 即:

                                                            c ∑
                                                              b ir h rs
                                                            s=1
                                                       M ir =                                        (13)
                                                            c ∑
                                                              b ir h rs
                                                            r,s=1
                                        ∗
                    DCGSB               r = argmax M ir  得到节点          r  .
                                                                        ∗
                           算法可通过优化                         i 最终属于社团
                                              r
   408   409   410   411   412   413   414   415   416   417   418