Driven to discover
  • 目录
  • 简介
  • 数学基础
    • 数学基础
      • 线性代数
      • 概率统计
        • 概率基础
        • 连续概率
        • 概率分布
        • 大数与中心极限
      • 时间序列
      • 信息理论
      • 参数估计
      • 优化降梯
        • 极大、极小和鞍点
        • 泰勒及Jacobian、Hessian
        • 连续可微
          • 无约束优化
          • 有约束优化
        • 非连续可微
      • 备查附录
  • 数据挖掘
    • 数据挖掘
      • 数据预分析
      • 数据预处理
        • 数据采样
        • 数据降维
        • 特征选择
      • 模式挖掘
        • 频繁项集
        • 多样项集
        • 基于约束的频繁项集
        • 高维及庞大项集
        • 序列模式
        • 图模式
      • 聚类分析
        • 划分聚类
        • 层次聚类
        • 密度/网格聚类
      • 文本挖掘
        • 短语挖掘与主题模型
        • 实体识别与类型标记
  • 机器学习
    • 机器学习
      • 模型评估与选择
      • 线性模型
      • 决策树模型
      • 支持向量机
      • 贝叶斯分类器
      • 集成学习
        • Bagging
        • Boosting
          • AdaBoost
          • GBDT
          • XGBoost
          • LightGBM
        • 结合策略
      • 概率图模型
        • 贝叶斯网络
        • 隐马尔可夫
        • 条件随机场
  • 网络图模型
    • 网络图模型
      • 大规模图处理
        • 社区检测与搜索
        • 中心度分析
        • 网络形成模型
        • 异构信息网络
      • 网络映射
        • 结构维持的网络映射
        • 性质维持的网络映射
        • 动态网络映射
      • Graph Neural Network
  • 深度学习
    • 深度学习
      • 深度前馈网络
        • 非线性的学习
        • 基于梯度的学习
        • 激活函数
        • 架构设计
        • 前向传播
        • 反向传播
      • 深度学习正则化
        • 参数范数惩罚
        • 作为约束的范数惩罚
        • 正则化和欠约束问题
        • 数据集增强
        • 噪声鲁棒性
        • 半监督学习
        • 多任务学习
        • 提前终止
        • 参数绑定和共享
        • 稀疏表示
        • Bagging和其他集成方法
        • Dropout
        • 对抗训练
        • 切面距离、正切传播和流形正切分类器
      • 深度学习优化
        • 学习和纯优化异同
        • 神经网络优化中的挑战
        • 优化算法
        • 参数初始化策略
        • 优化策略和元算法
      • 卷积网络
        • 卷积运算
        • 卷积动机
        • 池化
      • 循环和递归网络
        • 展开计算图
        • 循环神经网络
        • 长短期记忆
        • 注意力机制
      • 生成对抗网络
      • 多任务学习
      • 技术分析
        • Attention
        • Normalization
  • 增强学习
    • 增强学习
      • 增强学习的数学表达形式
      • 求解增强学习问题
        • 已知环境模型的问题
        • 未知环境模型的问题
  • 计算机视觉
    • 计算机视觉
      • 图像分类
        • LeNet-5
        • AlexNet
        • VGGNet
        • GoogLeNet
        • ResNet
        • DenseNet
      • 目标检测
        • 相关研究
          • 选择性搜索
          • OverFeat
        • 基于区域提名的方法
          • R-CNN
          • SPP-net
          • Fast R-CNN
          • Faster R-CNN
          • R-FCN
        • 端到端的方法
          • YOLO
          • SSD
      • 语义分割
        • 全卷积网络
          • FCN
          • DeconvNet
          • SegNet
          • DilatedConvNet
        • CRF/MRF的使用
          • DeepLab
          • CRFasRNN
          • DPN
        • 实例分割
          • Mask R-CNN
      • 图像检索的深度哈希编码
        • 传统哈希编码方法
        • CNNH
        • DSH
      • 光学字符识别
        • CTC解码
          • 前向后向
          • 目标函数
          • 基本原理
      • 人脸识别
      • 三维重建
  • 自然语言处理
    • 自然语言处理
      • 中文分词技术
      • 词性标注
        • 传统词性标注模型
        • 基于神经网络的词性标注模型
        • 基于Bi-LSTM的词性标注模型
      • 命名实体识别
      • 关键词提取
        • 词频与排序
        • 主题模型
      • 句法分析
        • 基于PCFG的句法分析
        • 基于最大间隔马尔可夫网络的句法分析
        • 基于条件随机场的句法分析
        • 基于移进-归约的句法分析
      • 文本向量化
        • Continuous Bag-of-Word
        • Skip-Gram
        • word2vec(Hierarchical Softmax与Negative Sampling)
        • GloVe
        • fastText
        • Bert
      • 情感分析
        • 文档维度情感分析
        • 句子维度情感分析
        • 方面维度情感分析
        • 其他情感分析任务
      • 机器翻译
        • 神经网络机器翻译基本模型
        • 基于Attention的神经网络机器翻译
        • 基于卷积的机器翻译
  • 搜索推荐广告
    • 搜索推荐广告
      • 搜索
        • 召回
        • 排序
          • 传统匹配模型
          • 深度学习匹配模型
            • Representation Learning
              • DNN-based
              • CNN-based
              • RNN-based
            • Matching Function Learning
              • Matching with word-level learning methods
              • Matching with attention model
            • Matching function learning&Representation learning
            • Query-Doc Relevance matching
              • Based on global distribution of matching strengths
              • Based on local context of matched terms
        • 重排
      • 推荐
        • 召回
        • 排序
          • 传统匹配模型
            • 协同过滤
            • 基于特征
          • 深度学习匹配模型
            • Representation learning
              • 协同过滤
              • 基于特征
            • Matching function learning
              • 协同过滤
              • 基于特征
        • 重排
      • 广告
        • 行业知识
        • 核心技术
          • 发展趋势
          • CTR/CVR
            • 浅层模型
            • 深度模型
          • 智能定向
          • 技术难点
        • 相关技术
  • 计算机基础
    • 计算机基础
      • 数据结构
        • 排序算法
      • 操作系统
      • 计算机网络
      • 计算机组成原理
      • python
        • pandas
      • Bash
      • Spark
      • SQL
      • Excel
  • 经验总结
    • 经验总结
      • 广告应用
        • 人群定向
        • 召回通路
      • 时序预测
        • 统计时序
        • 机器学习
        • 深度学习
      • 图谱探索
        • 标签传播
        • 图谱&网络
      • 策略评估
        • 激励策略
        • 均衡策略
Powered by GitBook
On this page
  • 常规算法比较
  • 聚类
  • 层次化聚类
  • 谱聚类
  • 图划分
  • 分裂算法-GN算法
  • 模块度优化算法
  • 标签传播算法
  • 随机游走
  • K-Truss
  • K-Truss Community Model(找Community)
  • 其它算法
  • 高频模式子图
  • 方法分类
  • 基于Apriori的方法
  • 基于Pattern-Growth的方法
  • 闭合图模式挖掘
  • 动态网络中的社区检测
  • 动态异构网络中的社区演化
  • K-core
  • 社区检测与社区搜索比较
  • Source
  1. 网络图模型
  2. 网络图模型
  3. 大规模图处理

社区检测与搜索

Previous大规模图处理Next中心度分析

Last updated 6 years ago

常规算法比较

度量指标:1、计算时间复杂度 2、精确度(与实际标签比较、计算标准化互信息)3、有效性(聚类系数、模块度、强度) 4、密度敏感性 5、混合社区敏感点 6、离群点检测

可以看到,LPA(标签传播算法)和HANP(基于LPA的改进)效果好且高效。

聚类

层次化聚类

输入:给以网络(邻接矩阵)

(1)由网络结构计算距离矩阵

(2)距离确定节点相似度(相邻即 111,隔最少 nnn 个相连即 n+1n+1n+1 )

(3)根据相似度从强到弱递归合并节点

(4)根据实际需求横切树状图(如下图要分 333 类,可在 808080 切一刀:分为绿色,样本 666 ,样本 3,43,43,4 )

谱聚类

将图 G(V,E)G(V,E)G(V,E) 切分成相互没有连接的 kkk 个子图: A1,A2,…,AkA_1,A_2,\dots,A_kA1​,A2​,…,Ak​ ,要求 Ai∩Aj=∅A_i\cap A_j = \varnothingAi​∩Aj​=∅ 且 A1∪A2∪⋯∪Ak=VA_1\cup A_2\cup \dots \cup A_k= VA1​∪A2​∪⋯∪Ak​=V,设 WWW 为边权重,优化目标为

min⁡cut(A1,A2,…,Ak)=12∑i=1kW(Ai,A‾i)\min \text{cut}(A_1,A_2,\dots, A_k)=\frac{1}{2}\sum\limits_{i=1}^kW(A_i,\overline{A}_i)mincut(A1​,A2​,…,Ak​)=21​i=1∑k​W(Ai​,Ai​)

将划分问题转化为求解拉普拉斯矩阵的 kkk 个最小特征值问题。

算法过程

(1)构建拉普拉斯矩阵:L=D−WL=D-WL=D−W , DDD:度矩阵(对角矩阵) WWW:邻接矩阵

(2)标准化: D−1/2LD−1/2D^{-1/2}LD^{-1/2}D−1/2LD−1/2

(3)求最小的 nnn 个特征值对应的特征向量(降维)

(4)标准化后再用常规方法(k-means等)聚为 kkk 各类

图划分

目标:划分为近似相等的分区,同时边切边最小。(明尼苏达大学的METIS是最权威的图划分工具)

分裂算法-GN算法

思想:(1)定义边介数(betweenness)指标: 衡量的是网络里一个边占据 其它节点间捷径的程度

(2)具有高边介数的边代表了社区的边界

边介数最常见的定义:图中通过该边的所有最短路径数量。如下图 AAA和BBB 之间的边即当前最可能切除的

算法过程

(1) 找到网络中具有最大边介数的边

(2) 删除该边

(3) 重复(1)和(2),直到所有边被移除或数量已满足要求 kkk 类

模块度优化算法

思想:(1)定义模块度(Modularity)指标: 衡量一个社区的划分好坏

(2)以模块度为目标进行优化; 例如在层次化聚类中使用贪婪算法

一种模块度的定义: Q=Q=Q= 社区内的边占比 −-− 社区的边占比平方

假设网络被划分为 kkk 个社区,那么定义一个 k×kk\times kk×k 的对称矩阵 eee ,它的元素 eije_{ij}eij​ 表示社区 iii 和社区 jjj 之间的边的数量占比。 aia_iai​ 表示连接社区 iii 的边的总数占比。

举例如下

标签传播算法

启发式规则:一个节点应该与多数邻居在同一社区内。

特点:适合半监督和无监督、效率很高适合大规模、存在震荡->采取异步更新、结果可能不稳定

算法过程

(1)给每个节点初始化一个标签

(2)在网络中传播标签

(3)选择邻居的标签中数量最多的进行更新(若有相同数量标签时,选择具有最高ID的标签)

(4) 重复步骤2和3,直到收敛或满足迭代次数

随机游走

思想:(1)从节点出发随机游走,停留在社区内的概率高于到达社区外的。

(2)重复随机游走,强化并逐渐显现社区结构。

算法过程

(1)建立邻接矩阵(含自环)

(2)标准化转移概率矩阵

(3)Expansion操作,对矩阵计算 eee 次幂方

(4)Inflation操作,对矩阵元素计算 rrr 次幂方并标准化(这一步将强化紧密的点,弱化松散的点)

(5)重复(4)和(5)直到稳定

(6)对结果矩阵进行常规聚类

给以图GGG,K-truss定义为 : 每个在最大的子图 HHH 中的边至少在 (k−2)(k-2)(k−2)个存在于 HHH 的三角形中,如下

(1) K-truss: each edge within at least (k−2)(k-2)(k−2) triangles

(2) Edge Connectivity: common edges shared by triangles

(3) Maximal Subgraph

其它算法

派系过滤算法(clique percolation algorithm)- 社区的网络

领导力扩张(Leadership expansion)- 类似与kmeans

基于聚类系数的方法(Maximal K-Mutual friends)- 目标函数优化

HANP(Hop attenuation & node preference)- LPA增加节点传播能力

SLPA(Speak-Listen Propagation Algorithm)- 记录历史标签序列

Matrix blocking – 根据邻接矩阵列向量的相似性排序

Skeleton clustering – 映射网络到核心连接树后进行检测

算法在实现时通常需要关注:同步/异步,节点遍历方式,平局决胜,迭代终止,超大社区,串行/并行等问题。

高频模式子图

方法分类

候选集生成方式:Apriori vs. Pattern growth (FSG vs. gSpan)

搜索顺序:广度 vs. 深度

重复子图剔除:被动 vs. 主动(gSpan)

支持度计算:GASTON, FFSM, MoFa

模式发现顺序:Path->Tree->Graph (GASTON)

基于Apriori的方法

候选集生成 -> 候选集剪枝 -> 支持度计算 -> 候选集剔除 迭代这四步至无法生成候选集或不满足支持度

候选集生成时扩展节点(AGM算法)还是扩展边(FSG算法)都可以,但是经测试是扩展边更高效

基于Pattern-Growth的方法

按深度优先来扩展边,从k边子图->(k+1)边子图->(k+2)边子图...

问题:这样会生成很多重复子图

解决:1、定义一个子图生成顺序 2、DFS生成树,用深度优先搜索扁平图 3、gSpan

gSpan

闭合图模式挖掘

如果不存在与高频图 GGG 有相同支持度的父图 G′G'G′ ,则 GGG 是闭合的;算法:CloseGraph

动态网络中的社区检测

A k-core HHH is an induced subgraph of GGG where every node in HHH has at least kkk degree in HHH

k-core即指一个图中至少有 kkk 条边的点所有子图集合 (可以是非相连的子图)

The maximal k-core HHH is a k-core that no super graph of HHH is a k-core (The maximal k-core is unique but can be disconnected)

最大k-core即一个图中边数最多的点的子图 (可以是非相连的,即 viv_ivi​ 与 vjv_jvj​ 都有五条边,全图最多边数,viv_ivi​ 与 vjv_jvj​ 可以不相连)

K-Influential Community(影响力问题)

Let f(H)f(H)f(H)be the influence of a subgraph HHH. A K-Influential Community is an induced subgraph HHH of GGG that meets all the following constraints:

(1) Connectivity: HHH is connected

(2) Cohesiveness: each node in HHH has degree ≥k\geq k≥k

(3) Maximal structure: there does not exist H′(⊇H)H'(\supseteq H)H′(⊇H) such that f(H)=f(H′)f(H) = f(H')f(H)=f(H′)

K-Core Persistent Community(随时间变化Community问题)

Goal: A network changes over time, try to find k-core communities that are persistent most of the time in a temporal network

k-Persistent-Core

A subgraph GGG is considered as k-persistent-core if G=∪GiG = \cup G_iG=∪Gi​ for every GiG_iGi​ appearing in an interval of [ts,te][t_s,t_e][ts​,te​] is a connected k-core

社区检测与社区搜索比较

Community Detection

Community Search

Goal

Find all communities with a global criterion

Find communities for particular persons

Cost

Expensive

Less expensive

Status

Graphs evolve

Online and dynamic

Source

K-Truss
K-Truss Community Model(找Community)
动态异构网络中的社区演化
K-core
https://arxiv.org/pdf/1205.6693.pdf
https://arxiv.org/pdf/cs/0504107.pdf
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.722.9193&rep=rep1&type=pdf
http://keg.cs.tsinghua.edu.cn/jietang/publications/TKDE13-Sun-etl-al-co-evolution-of-multi-typed-objects-in-dynamic-networks.pdf
拉普拉斯矩阵
Community Evolution Discovery