携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第1天,点击查看活动详情
前言
Hello! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~ 自我介绍 ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计算机专业,获得过国家奖学金,有幸在竞赛中拿过一些国奖、省奖...已保研。 学习经验:扎实基础 + 多做笔记 + 多敲代码 + 多思考 + 学好英语! 唯有努力💪
知其然 知其所以然!
本文仅记录自己感兴趣的内容
简介
原文链接:ieeexplore.ieee.org/abstract/do…
会议:IEEE International Conference on Data Engineering (ICDE CCF A类)
年度:2017/05/18
Abstract
在社会网络分析中,角色概念背后的基本思想是发现具有相似结构特征的行动者
- 扮演相同角色的行动者具有相似的行为和功能特征
- 很少有结构角色的例子是桥节点、小集团成员和星形中心
角色发现是指根据网络中节点的结构特征对其进行划分
角色的概念是对社区检测概念的补充,社区检测涉及到将网络划分为有凝聚力的子组
在本文中,我们提出了一种新的算法RIDεRs(使用ε-equitable改进的角色识别和发现):一种提取网络软角色的图划分方法
- RIDεRs基于网络的全局图特征发现结构角色
由于缺乏真实的角色数据集,评估角色发现的质量是不容易的,我们提出了一个新的框架来评估和比较各种角色发现方法
我们还展示了在不同的图挖掘任务上的有效性:角色识别/发现,以及寻找与给定节点最相似的top-k节点
此外,我们提出的算法在随机幂律图上的经验可扩展性分析表明,我们的方法是高度可扩展性的
I. Introduction
网络中的结构化角色发现是数据挖掘社区[1],[2],[3]中的一个新兴研究领域
角色发现是将网络中的节点根据其结构特征进行划分
这些节点具有相似的特征,如中间中心性、程度中心性和它们所属的三角形数量。 代理节点(连接图的两个组件的节点)、外围节点和小团体成员是很少的示例角色 这些例子角色的定义来自社会科学的基本原则[4],[5]
因此,从大规模网络中自动派生和提取这些结构角色的数据驱动算法是非平凡的
角色发现方法在各种图挖掘任务中的重要性已被确立:
- 在时间网络中快速过渡到不同的结构角色表示节点[6]的异常行为;
- 在分类任务[1]中,结构特征用于将知识从一个网络转移到另一个网络,使用角色[7]可以从结构上代表非常大的网络的较小图.
例如,通过从每个角色中按比例抽样节点。
在这项工作中,我们研究了一个重要的任务,即使用角色发现查找与给定查询节点在结构上相似的top-k节点
社区发现是将网络中的节点划分为相关组的另一种方法
- 社区将网络划分为节点之间紧密连接的子组
- 这些子组的主要特征是凝聚力、密度和可分离性
另一方面,角色表示节点,这些节点在结构上彼此等价,因此分布在整个网络中
尽管有大量的实际应用,但与社区检测相比,图中的角色发现还没有得到深入的探索
角色发现方法主要分为基于图的方法和基于特征的方法[8]
- 基于图的角色发现方法通过等价准则将网络划分为不相交的子集(角色)来发现节点之间的结构对应关系。基于图的方法考虑了角色之间的连接模式,以进一步细化角色定义,从而捕获网络中存在的全局线索
- 另一方面,基于特征的方法利用节点及其邻域之间的局部连通性模式来计算节点特征。这些方法使用结构/网络特定属性特征为图中的每个节点创建一个特征向量。然后,通过执行非负矩阵分解(NMF),使用该节点特征矩阵提取角色成员。
在这项工作中,我们定义并使用了一个新的角色发现框架RIDεRs(使用ε-equitable Refinements进行角色识别和发现)
该框架使用了全局线索和基于特征的方法
- 首先,我们使用εER (εER)[9]的思想,根据角色之间的连接模式确定图的划分
- εER的一个主要缺点是,角色的定义取决于ε的选择,ε可以任意设定。对于给定的网络,什么是ε的正确选择并不总是很清楚
- 我们将ε er的思想与基于特征的角色发现相结合,以克服这种任意性,并基于ε er角色分配(针对不同的ε选择)定义了一个定义良好的角色概念。实验结果表明,该算法优于其他角色发现方法。
这就给我们带来了这项工作的另一个主要贡献——评估角色发现算法的主要困难之一是:由于缺乏角色标签的地面真实数据集,除了在特定的应用环境中,没有明确的评估措施
在这项工作中,我们引入了基于与角色分配的空模型比较的健壮度量
我们认为,一个好的角色发现算法应该与随机角色分配(通过各种局部、egonet和全局图属性来衡量)有很大的不同
我们利用这些稳健的结构措施表明,RIDεRs在所有方面都表现良好,包括局部性能
我们工作的主要贡献如下:
- 新算法:基于全局图特征的角色发现算法。我们还提出了另一种算法,该算法在角色特征矩阵上引入了稀疏性。
- 鲁棒的评估框架:评估角色发现方法已经不是微不足道的,可能是由于缺乏基本真实的角色数据集。作者经常将角色应用于各种数据挖掘任务或探索性角色分析,作为评估所发现角色质量的代理。我们提出了一个鲁棒的空模型来评估/比较各种角色发现方法。这允许我们量化在不同粒度级别上发现的角色的质量:全局的、局部的或自我网络的
- 有效性:我们演示了我们所提出的方法的应用,以查找结构上最类似于查询节点的top-k节点
II. Related Work and Background
A. Graph Based Roles
经典的角色发现方法是利用等价准则将网络划分为不相交的子集(角色)来寻找节点之间的结构对应关系
规则等价[10]、自同构、公平划分[11]等角色发现的概念常常导致网络中节点的平凡划分;
等价类要么有一个巨大的参与者组件,如常规等价,要么有大量的单例,如公平分区、结构等价[12]和自同构
这些方法基于网络的图表示(邻接表/矩阵)来提取角色
他们通过考虑每个节点到网络中所有其他节点/角色的连接模式来提取角色
ε-均匀细化(εER)[9]是一种基于图特征的角色等价概念,与传统的角色提取方法相比有许多优点
- εER允许扮演相同角色的节点与另一个角色的节点之间的连接数有ε的余地
- εER的概念在精神上与随机块模型[13]的概念相似,因为这两种方法都允许节点之间的完美等价有界偏差
图论文献[14],[15];基于图的角色发现方法在大型网络中的研究还不广泛,因为其算法的开发难度较大
最近,[9]提出了一种可扩展的算法来寻找图的εER。
B. Feature Based Roles
最近的社交网络角色发现方法都遵循这一方法
这些方法使用结构/网络特定属性特征为图中的每个节点创建特征向量
在[16]中,作者提出了一个递归特征提取框架ReFeX来计算节点特征
- 该方法从一组预定义的本地和egonet特征开始,然后迭代计算这些特征的平均值和和
- 每个特征的值被分成垂直对数值
- 同样,类似的特征,即在某一阈值内对所有节点的值一致的特征,被合并为一个单一的特征
- 这保证了在迭代特征计算过程中更快的收敛和算法终止
这种方法可扩展到更大的图,尽管其复杂性与特性的数量成正比,并且本质上与计算这些特性所涉及的复杂性成正比
RolX[1]构建在这种发现角色的方法之上
- 通过执行非负矩阵分解(NMF),利用该节点特征矩阵提取角色成员
- NMF给出了两个因素:节点-角色(基)矩阵和角色-特征(协效)矩阵
- 作者使用最小描述长度(MDL)准则来选择这些因素中角色大小的最佳估计
在[6]中,作者将这一思想扩展到对时序网络中的动态行为建模。
[3]最近的工作通过允许额外的凸约束为角色发现方法提供了监督。他们将角色发现建模为一个受约束的NMF问题
这项工作扩展了RolX,在矩阵分解阶段将多样性、稀疏性或可选角色作为凸约束
在我们的工作中,涉及到这项工作与多样性和稀疏性约束的比较研究分别被称为GLRD-D和GLRD-S
最近,作者[2]研究了网络角色和社区的联合分配。
C. Mathematical Preliminaries
Definition 1: ε-Equitable Refinement (εER)
如果满足下面的式子:
则:顶点集划分为的,被定义为
其中
- 表示cell 中与顶点相邻的顶点数
ε-equitable精化可以用来定义网络中的角色;
- 每个单元对应一个角色
- 对应参与者与角色的连接数
上述定义对公平分区[11]的严格分区条件提出了一个放松,现在等效的参与者可以在分区中与其他cells/roles的连接数上有ε的差异
εER算法[9]以顶点集V上的有序划分、松弛参数和图为输入
- 初始划分通常是图的一个单位划分
- 活动列表(active list)用于保存从开始的所有未处理单元的索引,并在细化过程的每次迭代中更新
- 是分划的当前活动单元格(current active cell)的顶点集合。因此,单元划分的初始活动单元就是整个顶点集
- 另外,使用一个函数,它将每个顶点映射到的度
- 然后,该过程使用函数分配给每个顶点的值作为键对分区中每个单元格中的顶点进行排序(按升序)
- 然后,当单元格的成员节点之间的距离大于时,该过程将拆分每个单元格的内容,从而创建新的单元格( cells)
- 相应地更新分区π,并将分裂后形成的任何新单元对应的索引添加到活动列表中
- 当活动列表为空或εER成为一个独立的分区时,该过程退出
εER通过考虑每个节点到网络中所有其他节点/角色的连接模式来提取角色
注意,其他节点的角色依次依赖于它们的邻居,依此类推 因此,εER角色捕捉了图的全局视图
这里值得注意的是,对于一个给定的值,可以有多个ε-均匀细化满足定义1
对于我们提出的算法2(RIDεRs),我们总是从基于顶点度排序的图的单位划分开始
这确保了εER对于给定的对总是相同的
Definition 2: Non-negative Matrix Factorization (NMF)
非负矩阵分解(NMF)
给定一个矩阵,近似如下:
其中
- 和分别是基和系数矩阵
在角色发现的背景下,给定一个节点特征矩阵
的给出了两个因子:节点特征矩阵和角色特征矩阵
非负性约束有助于简化数据分析
Definition 3: NodeSense
NodeSense捕获一组预定义的节点测量值对方法发现的每个角色的贡献
节点测量值 :如中间度、加权度
NodeSense的定义如下:
给定节点角色矩阵和节点测量值的矩阵,定义每个 角色 和 测量值 的NodeSense[1]如下:
其中
- 为非负矩阵,估计节点测量的角色贡献
- 数学上,即(E的计算)
- 是的非负矩阵,它估计了默认的单角色对节点测量的贡献
- 设, (的计算)
- 节点感知矩阵是一个矩阵
NodeSense计算每个角色对一组预定义的节点度量的贡献
少数的例子测量有:中间度、度、聚类系数等
图3(a)中描述了一个示例节点感知
这里自己有点懵懂,暂时的理解是(从上图中得到): 以角色1(Role1)为例子 Betweeness对角色1的贡献最高,其余的测量如图所示 然后了节点测量对角色的贡献度
III. Proposed Algorithms
在给定网络条件下,RIDεRs实现软角色发现分为两个阶段
- 将基于图的角色转化为节点特征
- 使用NMF进行角色发现
εER(定义1)角色发现算法依赖于ε的选择
- 对于给定的网络,ε的正确选择并不总是明确的
- 考虑以下情况:εER在Les Miśerables网络[17]上发现的角色如图1所示
- 每个颜色表示一个角色,黑菱形节点对应单元素角色
- εER发现有18个角色,有9个角色
- 的棕色节点对应“外围小集团成员”角色
- 时,这些节点合并为“外围节点”角色(黄色)
本质上,ε的选择影响研究的结果
- 对于较小的网络,可以根据分析的粒度来选择ε
- 但对于大型网络,这种选择就不那么简单了。因此,能够封装和捕捉ε的多种选择的影响成为大型网络的必要条件
在我们提出的算法中,我们计算多个ε-equitable(εERs),并使用它们来生成网络中所有节点的特征表示
由于εER利用图的完整结构视图来发现角色,因此这种表示方式捕捉了节点的全局特征
我们使用NMF在这个特征表示上执行角色发现,因为非负面因素有助于更容易地分析数据
A. Graph Based Features
给定一个平均度为的图,我们计算每个的εERs
选择ε的值从1到平均图度背后的直觉如下
- 根据εER(方程1)的定义,在的最终划分中有一个单元格(角色),的所有节点的度都小于或等于ε
- 因此,计算任何的εER将导致许多节点在这个微不足道的角色/单元中拥有成员
大概意思就是:若,则限制作用变小了,对于一个cell,可能有很多个节点都属于这个角色,无法起到划分的效果
1) Computing Graph based Features
给定一个图在顶点集及其细化为
我们创建一个特征向量对应每个角色/cell
对于每个节点,计算特征的值为:
其中
- 是顶点的邻接表
- 本质上,我们是在计算节点到单元格的连接数,并将其编码为一个特征
个人理解: 就是计算节点的邻域(邻居节点)在中的节点数量
对应的基于图的节点特征矩阵为
对于每个特性,我们将值转换为[16]中讨论的垂直对数箱
我们把这种节点特征矩阵称为基于εERs的特征矩阵
2) Pruning Graph Features
基于εER的图特征的数量可以相当大,因为对于较大的网络和较低的ε值,εER算法给出的角色数量是很大的[9]
为了减少特征的数量,我们按如下方式进行分组:
- 对于每个节点,我们计算它到分组单元大小桶(binned cell size bucket)的连接数,其中(cell_size)
具体细节在算法1中:
请注意,基于εER特征的计算复杂度为,其中
- 是中的节点数
- 表示εER分区中的cells
特征剪枝并不会降低计算复杂度,但可以显著减少特征的数量
这有助于降低NMF计算的维数,并降低模型表示成本
通过对actual(Subsection III-A1)和binned的(Subsection III-A2) εERs基于节点特征矩阵执行NMF来发现这些角色
使用最小描述长度标准(MDL)[18]来计算最适合估计角色数量的级别
MDL的核心思想是,用最小比特数表示的模型和重构误差最小的模型优于其他模型
我们评估均匀(uniform)和对数bin(logarithmic binning)策略
使用rand index(RI)对这两种方法找到的角色进行比较
- Rand index[19]是基于对计数的索引
- 给定两个聚类,它比较一致和不一致的点对
- 然后它会测量正确决策的比例。RI在[0,1]之间绑定,对于相同的聚类取值为1
图2描述了对数和统一bin策略对特征剪枝的有效性
从图2的前两个图中的rand索引值可以明显看出
- 具有修剪(binned)特性的模型给出的角色与实际模型给出的角色接近,这对主要角色和次要角色都适用
- logarithmic binning的性能略好于均匀分装(uniform)。
这是因为εER给出的角色成员关系倾向于遵循对数尺度,因此,对特征进行对数分箱能够提供更好的拟合
从上一个section中可以明显看出,bin还降低了模型表示成本
3) Recursive Graph Features
采用递归特征生成策略,以获取基于图形εER特征的区域影响
类似于ReFeX计算的递归egonet特性
对于每个εER特征,我们计算节点egonet的和特征和均值特征
例如,εER 特征对应于一个节点的连接数,其大小在[2,4]之间 对于每个节点,我们计算该节点的egonet的该特征值的和和均值
为了限制生成递归特征的数量,我们使用ReFeX中采用的相同方法来修剪递归特征
B. Global Graph Features based Algorithm
算法2给出了角色发现的算法
该算法计算εERs对应的ε值为1到图的平均度
的值从1到
从εER计算相应的基于剪枝图的特征(subsection III-A2),创建一个基于εER的节点特征矩阵(算法2,第1-7行)
然后算法利用NMF估计节点-角色矩阵和角色特征矩阵
该算法返回A的最佳节点-角色和角色特征估计值(return M and H)
C. Alternate Sparsity Constraint and Algorithm
在另一种稀疏NMF (SNMF)公式中,作者[20]分别对或矩阵应用稀疏性约束
系数矩阵H上的稀疏性公式如下:
其中
- 是控制有效性的参数
- 是的正则化或稀疏性参数
1) Roles with Sparsity Constraints
节点-角色矩阵上的稀疏性约束使节点的角色定义更加明确
同样,角色特征矩阵的稀疏性使我们可以根据最确定的特征来定义角色
我们探索了RIDεRs算法(算法2)中的稀疏性约束(公式6)
我们称之为
RIDεRs-Right sparse (RIDεRs-R)算法
2) Why right sparsity?
在使用NMF进行角色发现的上下文中,角色相对于特性的确定性更有意义
节点-角色矩阵的左稀疏性约束有利于硬角色分配
因此,我们特别使用了右侧的稀疏性约束,即对角色特征系数矩阵的稀疏性(式6)
IV. Novel Evaluation Framework
在本节中,我们提出了一个健壮的基线评估框架来评估和比较通过各种方法发现的角色的质量
A. Evaluation Methodology
在本节中,我们提出了评估角色发现算法的空模型。关键步骤如下:
1) Random Role Assignment
角色随机分配:
- 给定个节点,个角色
- 随机角色分配将每个节点随机分配给角色中的一个
- 我们用表示相应的随机节点-角色矩阵
2) Random Sense
随机感知:
- 给定随机节点-角色分配矩阵和节点测量矩阵
- 我们估计
- 随机角色分配对测量矩阵的贡献为
- 从定义3,方程4,随机感计算为
- 其中,是定义3中讨论的对节点测量的默认(单个)角色贡献
- 本质上,Random Sense捕获了各种节点测量对随机分配角色的贡献
3) The Null Model
给定节点角色矩阵和节点度量,我们计算NodeSense节点感知(式4)
同样,对于相同数量的角色,我们生成一个随机的节点角色分配,并计算相应的随机感知
对于角色和度量, 是与空模型角色分配的绝对偏差
类似地,节点测量的随机角色分配的绝对偏差的平均值可以计算如下:
式中
- 为角色数量
- 为待评估角色发现方法第个属性的Random Sense向量
- 为待评估角色发现方法第个属性的NodeSense向量
对于每个要评估的角色发现方法,我们使用该方法的MDL标准给出的最终角色数量来计算相应的Random Sense
对于每个节点测量和角色发现方法,我们使用公式7计算其与Random Sense的绝对偏差
我们提出了两种随机角色分配方法:
- i)幂律分布
- ii)均匀分布
对于较大的网络,节点到角色的成员关系倾向于遵循幂律分布[9]
注意,我们通过经验验证了我们的基线对于幂律指数γ的选择是稳健的 因此,我们在幂律随机角色分配中固定
Node Measurements
节点度量:
- 我们将节点度量分为全局、邻域和局部属性组
- 这允许我们评估角色发现方法w.r.t
- 他们用来定义角色的特性类型
- 例如,RolX主要计算用于角色发现的本地和邻近特征
- 另一方面,基于εER的特征捕获全局范围。这简化了结果的分析
Global Properties
全局属性:
- 在节点属性的计算过程中,这些度量获取图的完整结构视图
- 中间中心性和紧密中心性就是其中的两种衡量标准
- 中心性表示节点在路由、信息扩散等方面的重要性
- 对于每个节点,我们还计算它对图的双连接组件的成员关系,我们称这个属性为#BCC
- 一个非零值为#BCC的节点是一些节点对的连接点,也就是说,删除该节点将断开图
Local Properties
局部属性:
- 这些是可以使用节点的本地连接模式计算的节点度量值
- 我们使用聚类系数、度和加权度
- 节点的聚类系数表示节点与其邻域的紧密联系程度
- 度和加权度量化了一个节点的重要性w.r.t.连接数和权重
Neighbourhood Properties
邻域属性:
- 这些节点测量在计算节点属性时考虑到节点的邻域
- 节点egonet的度和加权度的总和是邻域属性的例子
- 邻域属性捕获节点邻域中特定属性的影响
- 我们评估了一个节点的单跳egonet的度-度性质
Significance of our Null Model
零模型的重要性
图3描述了一个关于节点感知和随机感知的示例
图3(a)显示了2005年至2010年ICDM合著网络中RIDεRs的节点感知(NS)图
为了清晰起见,我们只显示前五个角色
对于相同的网络,图3(b)使用幂律随机分布来描述角色分配的完整模型
注意,null模型的NS值具有非均匀分布,这与实际的赋值非常相似
图3 描述了使用均匀随机分布的空模型
注意,与幂律随机分配相反,均匀分配的NS值对于所有角色都是均匀分布的
Discussion
NodeSense捕获一组预定义的节点测量值对方法发现的每个角色的贡献
该NS与随机分配角色NS的绝对偏差使我们能够量化任何角色发现方法的有效性
与零模型的偏差越高,方法的性能就越好
可以使用图3(d)的示例来解释这一点 图中描述了同一网络中两种不同的均匀随机角色分配的随机感之间的绝对偏差 注意,这个图的y轴上的刻度更接近于0,也就是说,绝对偏差更低
从本质上讲,如果角色发现算法最终输出的是一组角色,这与随机猜测得到的角色分配非常相似,就意味着绝对偏差更小
因此,偏差越大,绩效越好。
值得一提的是,通过建立远离随机的行为来量化算法的性能是图论/网络文献中被广泛接受的概念(例如,模块化[21])。
B. Role Evaluation Results
Datasets
....
C. Related work on Evaluation of Role Discovery Algorithms
A. Top-k Evaluation Methodology
略
B. Experimental Results
VII. Conclusions
本文提出了
-
基于图结构的角色发现算法和基于图结构的角色发现算法
-
提出了一个新的评估框架,该框架有助于在缺乏真实角色数据集的情况下比较各种角色发现方法
评价结果表明,我们提出的算法RIDεRs和RIDεRsR虽然具有全局性质,但除了全局性质外,还能很好地捕捉局部和邻域结构性质。
-
证明了基于RIDεRs的算法在检索结构相似的topk节点方面的有效性。我们展示了我们的算法在典型稀疏图上的经验可扩展性
在未来的研究中,我们将
- 进一步探讨RIDεRs在时间网络中的应用
- 探索应用 RIDεRs来共同分配社区和角色[2]是很有意义的(RIDεRs可以用于在一个节点上分配多个(软)角色,修改很少)
- 将探索RIDεRs的使用,并将我们的评估方法扩展到软角色分配
读后总结
2022/07/12 第一次阅读
文章有点难读懂
看了一天了 很多方面还是不太懂
目前只理解了一点点
- 方法步骤大概看懂了
- 至于评价角色发现的框架没有仔细看(太多了 看不懂)
- 实验浏览了一下 没有细看
主要步骤:
1) 使用εERs算法对进行角色划分,得到划分后的
2) 再依据中的每一个划分类(角色/cell)计算向量:
计算公式如下:
个人理解: 就是计算节点的邻域(邻居节点)在中的节点数量
3) 对每个类计算,得到的特征矩阵
文章中,得到A后,还需要再处理一下,得到
4) 迭代,的值从1到,每一个迭代得到一个,然后利用类似refex的递归思想,递归更新
emmm,这里有点不太懂,算法2中第六行具体是怎么更新的,没有理解到
5) 对最后一轮迭代得到的进行NMF分解,得到和,利用这两个矩阵用作下游任务
- 节点-角色矩阵
- 角色特征矩阵
目前理解的只有这么多,希望下次阅读的时候,收获更多
结语
文章仅作为个人学习笔记记录,记录从0到1的一个过程
希望对您有一点点帮助,如有错误欢迎小伙伴指正