system: [SYSTEM]

user: 3. 基于Motif的LeaderRank算法 3.1. 问题描述 社交网络中的社区由网络中一定数量的节点组成，令社交网络 G = ( V ′ ， E ′ ， W ′ ) ，其中 V ′ = { v ′ i | i = 1 ， 2 ， ⋯ ， f } 是节点集合， E ′ = { e ′ i j | i ， j = 1 ， ⋯ ， f } 是边的集合， e ′ i j 表示从 v ′ i 到 v ′ j 的一条边。W'是邻接矩阵， W ′ i j 代表 e ′ i j 的权重。G是由 { G 1 ， G 2 ， ⋯ ， G r } 多个社区构成，如图3所示，利用社区发现算法划分社区，对某一社区进行社交网络用户影响力排序。令社区 G 1 = ( V ， E ， W ) ，其中 V = { v i | i = 1 ， 2 ， ⋯ ， n ， n + 1 } 是节点集合， E = { e i j | i ， j = 1 ， ⋯ ， n ， n + 1 } 是边的集合，e ij 表示从v i 到v j 的一条边。W是邻接矩阵，W ij 代表e ij 的权重。除背景节点外的有向无权图，如果e ij 存在则 W i j = 1 否则 W i j = 0 。然后归一化邻接矩阵得到转移概率矩阵P，其中 P i ， j = W i ， j / ∑ i W i ， j 。图上的LeaderRank可以定义如下。 x = P T ⋅ x (1) 其中 x ∈ R N + 1 ，并且x i 表示当迭代达到稳定时的MLR值。达到稳定之后，将背景节点的MLR值平分给N个节点，最终的MLR值计算为 MLR i = x i + x n + 1 N (2) 公式(2)中， i = 1 ， 2 ， ⋯ ， n ，N表示网络中除背景节点以外的所有节点的个数。 在一个社区G 1 ，我们可以将该定义概括如下。如果存在从节点v i 到v j 的一条边e ij ，则我们用W ij 表示v i 对v j 的认可强度或v j 对v i 施加的影响强度。这个权重可以基于交互频率，用户帖子的内容相似度等来计算，但是，以上所有权重仍然是两个用户之间的一阶关系的计算。如图1所示，对于用户1，W 13 应该大于W 14 ，因为节点1和节点3参与了可信度评估中的三角关系。因此，理想的是，权重还可以包含关于这种高阶关系的信息。 图3. 不包含属性的网络 3.2. Motif定义 定义1：网络Motif。一个Motif由元组(B， A)表示，其中 A ⊂ { 1 ， 2 ， ⋯ ， k } ，B表示k × k二进制矩阵。 在文献 [ 25 ] 中给出锚节点代表我们感兴趣的节点。通常情况下，锚节点是所有k个节点，在这种情况下，我们称它为简单锚定，否则，我们称它为锚定Motif。在本文中，我们关注3-节点简单Motif，图4给出了一个3-节点简单Motif示例，说明Motif的定义。 图4. 一个3-节点简单Motif示例 定义2：Motif集合。带有邻接矩阵W的有向无权图的Motif集合用 F ( B ， A ) 表示，定义为 F ( B ， A ) = { ( s e t ( v ) ， s e t ( δ A ( v ) ) ) | v ∈ V k ， v 1 ， ⋯ ， v k ， d i s t i n c t ， W v = B } (3) 其中δA是一个选择函数，为由A索引的k个元组的子集，而set(.)是一个将有序元组转换为无序元组的运算符 s e t ( ( v 1 ， v 2 ， ⋯ ， v k ) ) = { v 1 ， v 2 ， ⋯ ， v k } 。v是表示k个节点的有序向量，W v 是有序向量v的k个节点在子图上引起的k × k个邻接矩阵。 我们用 F ( B ， A ) 表示图5的示例如下。 F ( B ， A ) = { ( { 1 ， 2 ， 3 } ， { 1 ， 2 } ) ， ( { 1 ， 2 ， 5 } ， { 1 ， 2 } ) } (4) 3.3. 基于Motif的邻接矩阵 当给定一个Motif集合F，我们使用F中两个节点的共现来捕获3-节点简单Motif的高阶关系，基于Motif的邻接矩阵或共现矩阵的定义如下： ( W M ) i j = ∑ ( v ， δ A ( v ) ) ∈ F l ( { i ， j } ⊂ δ A ( v ) ) (5) 其中 i ≠ j ，l (s)是真值指标函数，即如果语句s为真，则l (s) = 1，否则为0。请注意，对于3-节点简单Motif，要求i和j是set(v)的成员。 基于Motif的邻接矩阵表示在给定Motif上的两个节点出现的频率。(W M ) ij 越大，表示在Motif上i和j之间的关系越明显。如图5所示，该图是由图二中的M 1 和M 6 的3-节点简单Motif构成，当我们以M 6 的3-节点简单Motif来计算邻接矩阵时，构成M 6 的3-节点简单Motif的边权值W Mij = 1，其他W Mij = 0。注意，边e 12 既属于节点1、节点2和节点5构成的M 6 的3-节点简单Motif又属于节点1、节点2和节点3构成的M 6 的3-节点简单Motif，因此边e 12 的权值为W M 12 = 2。 令W为G的邻接矩阵，U和B分别为G的单向链接和双向链接的邻接矩阵。这里，我们集中讨论W中的元素为1或0的非加权图。例如，在图5中，e 23 是双向边，而e 13 是单向边。那么我们有 B = W Θ W T 和 U = W − B ，其中 Θ 表示逐项乘积。注意，B是一个二进制矩阵，表示有向图中两个节点之间存在双向边。 图5. 基于M 6 的邻接矩阵示例 我们使用一个示例来说明M 6 的计算过程。如图4所示，三个用户v i ，v k ，v j 有六种不同的情况{(3，1，2)， (2，1，3)， (1，2，3)， (3，2，1)， (1，3，2)， (2，3，1)}，e 23 是双向边，而e 12 和e 13 是单向边。为了计算M 6 参与下的v i 和v j 的频率，我们需要将在六种情况下的所有频率相加，在(1，2，3)中，v i 为节点1，v j 为节点3，频率由 ( U ⋅ B ) Θ U 所得，其中 U ⋅ B 计算的是不包括边e 13 的路径1-2-3， Θ U 表示用边e 13 补充图。因此M 6 邻接矩阵的计算为 W M 6 = ( U ⋅ B ) Θ U + ( B ⋅ U T ) Θ U T + ( U T ⋅ U ) Θ B (6) 3.4. 基于M 6 邻接矩阵的案例 1) 社区发现算法 这里使用文献 [ 26 ] 中所提到的基于随机游走方法来计算节点属性相似性、节点影响力，评估节点对社区重要程度，使节点向社区核心靠拢来划分社区。 第一步：子空间构造。发现子属性空间，构建属性增强图。 将属性转化为网络中的虚拟节点来构造属性增强图，在网络G中，节点与其对应的虚拟节点间建立一条双向边，如图6所示： 图6. 虚拟节点 构造属性信息矩阵 Y = ( y i j ) f × f 来描述虚拟节点对原节点关系的影响，构造增量邻接矩阵 W A t t r = ( w i j A t t r ) f × f 来描述加入虚拟节点后新的网络拓扑结构。通过属性影响度Affect(A i )来反映将属性信息转化为拓扑结构信息后，原节点间的联系受到多大的影响，计算公式为 A f f e c t ( A i ) = ∑ i ∑ j ( W A t t r 2 ) i j − ∑ i ∑ j ( W ′ 2 ) i j R β A (7) 其中A i 为属性；βA为矩阵缩放因子，作用为更加明显的区分属性的结构影响度。 第二步：社区划分。计算转移概率，计算核心系数，确定聚类方向，创建初始社区及边缘修剪。 构造节点影响力strength来描述任意节点的邻接节点对该节点产生的影响，strength ij 的计算公式为 s t r e n g t h i j = s i j o u t + s i j i n + s i j A t t r (8) 其中 s i j o u t 为节点 v ′ i 指向节点 v ′ j 的出链产生的影响力， s i j i n 为节点 v ′ j 指向节点 v ′ i 的入链产生的影响力， s i j A t t r 为属性关系产生的影响力。 s i j o u t = { 0 ， w ′ i j = 0 1 + e 1 − β o u t ∑ h w i h ， w ′ i j = 1 (9) s i j i n = { 0 ， w ′ j i = 0 e / 2 1 − β i n ∑ h w h i ， w ′ j i = 1 (10) s i j A t t r = { 0 ， y i j = 0 1 − 1.1 1 − β A t t r ∑ h w i h 2 / ( 1 + log D ′ ) ， y i j = 1 (11) 其中βout、βin和βAttr分别表示出链系数、入链系数和属性系数，用于控制函数的收敛速度，D'为子属性空间包含的属性数目。 利用影响力矩阵，得到转移概率矩阵 P ′ ， P ′ = ( p ′ i j ) f × f 。 P ′ i j = s i j ∑ k s i h (12) 引入节点核心系数 C r = ( c r 1 ， c r 2 ， ⋯ ， c r f ) T 。节点的转移概率和节点的核心系数共同作用于节点的聚类方向 D r = ( d r 1 ， d r 2 ， ⋯ ， d r f ) T 。取其中系数最大的作为聚类方向，得到初始社区，进行边缘修剪工作，输出社区序列。 2) 基于Motif的邻接矩阵 我们构建社区G 1 (16，17)的网络拓扑结构，如图7所示。 图7. 社区G 1 (16，17)子图结构示意图 我们对图7识别3-节点简单Motif M 6 ，首先我们构建一阶矩阵W，如图8所示。 图8. 社区G 1 (16，17)一阶矩阵W 之后依据算法1得出基于M 6 的邻接矩阵。 算法1：基于M 6 的邻接矩阵算法 由算法1可得如图9所示的基于 W M 6 的邻接矩阵。 图9. 社区G 1 (16，17)基于M 6 邻接阶矩阵 W M 6 由图7的案例，基于边的关系所得的邻接矩阵为W，仅考虑两个节点i和j，若存在e ij 即节点i指向节点j，则 W i j = 1 ，否则 W i j = 0 。但由图7可观察到节点11与节点13所连成的边e 1113 的权重要明显大于其他边的权重，节点11与节点15所形成的e 1115 边权重也明显大于其他边的权重，主要原因为节点11与节点13所连成的边e 1113 既属于由节点11、节点13和节点15所围成的三角关系，也属于由节点11、节点12和节点13所围成的三角关系，因此，我们引入基于Motif的高阶关系来计算基于Motif的邻接矩阵，来对节点11与节点13所连成的边e 1113 的权重和节点11与节点15所形成的e 1115 边权重重新赋值，提高社交网络用户影响力排序的准确性。 3.5. 线性合并后的LeaderRank 在计算出基于Motif的邻接矩阵之后，我们将它们合并到用于对用户影响力排序的排序模型中。由于基于Motif的邻接矩阵中的非零元素将不超过原来基于边的邻接矩阵中的非零元素，因此我们将基于社交网络三角关系的3-节点简单Motif的高阶关系与基于边的关系结合，替代原来的基于边的关系。这样，基于Motif的边可以视为对使用LeaderRank进行计算的补充。我们使用线性组合来融合基于边和基于Motif的邻接矩阵。具体来说，对于给定的Motif M k ，我们生成如下的新矩阵。 H M k = α ⋅ W + ( 1 − α ) ⋅ W M k (13) 其中 α ∈ [ 0 ， 1 ] 平衡了原来的基于边的关系和由Motif提供的3-节点简单Motif的高阶关系， ( P M k ) i j = ( H M k ) i j / ∑ i ( H M k ) i j (14) 之后我们可以利用公式(14)计算转移概率矩阵 P M k 并将其代入公式(1)中的转移概率矩阵P，计算迭代稳定时的MLR值，迭代稳定后利用公式(2)得到节点的最终MLR值。 算法2：基于Motif的LeaderRank (MLR)算法。