超图聚类论文阅读1:Kumar算法

超图聚类论文阅读1:Kumar算法

《超图中模块化的新度量:有效聚类的理论见解和启示》

《A New Measure of Modularity in Hypergraphs: Theoretical Insights and Implications for Effective Clustering》

COMPLEX NETWORKS 2020, SCI 3区

具体实现源码见HyperNetX库

工作:

  1. 针对超图聚类问题推广模块度最大化框架
  2. 引入了一个超图空模型,它与无向图的配置模型完全对应。
  3. 推导出一个保留超图节点度序列的邻接矩阵缩减

成果:

  1. 使用 Louvain 方法最大化由此产生的模块化函数,已知在图实践中效果很好
  2. 在几个真实世界的数据集上展示了我们的方法的有效性

简介

先前工作

  • 注意力限制在 k-均匀超图上,其中所有超边具有相同的固定大小。

    提出合适的超图拉普拉斯算子来扩展一般超图的谱聚类框架——隐含了图扩展的思想

  • 模块度最大化是图上聚类的另一种方法,它提供了一个标准来衡量模块化函数中的集群质量

    经典方法为louvain算法

  • 团扩展问题:会丢失编码在超边结构中的关键信息。也不会保留超图的节点度——这是模块度最大化方法基于的零模型所必需的

  • 有多种切割超边的方法。根据切割不同侧节点的比例和分配,聚类将发生变化。需要考虑超边权重

本文贡献

  1. 在超图上定义了一个空模型(可以保持超图节点度信息),并使用上述定义了一个模块化函数,可以使用 Louvain 方法将其最大化。
  2. 提出了一种迭代超边重新加权过程,该过程利用来自超图结构的信息和超边切割的平衡。
  3. 在几个真实世界的数据集上凭经验评估了生成的算法,证明了其相对于竞争基线的有效性和效率。

背景知识

  1. 超图——关联矩阵、团扩展
  2. 模块度

超图模块度

节点的采样概率与其参与的超边的数量(或在加权情况下,总权重)成正比
P i j h y p = d ( i ) × d ( j ) ∑ v ∈ V d ( v ) P_{i j}^{h y p}=\frac{d(i) \times d(j)}{\sum_{v \in V} d(v)} Pijhyp=vVd(v)d(i)×d(j)

  • 在进行团扩展时,相应图中节点的度数与它在图中的度数不同原始超图

对于每个超边 e,节点度被多算了一个因子 (δ(e) − 1)。因此,我们可以通过将每个 w(e) 缩小一个因子 (δ(e) − 1) 来纠正它。这导致以下更正的邻接矩阵:
A h y p = H W ( D e − I ) − 1 H T A^{h y p}=H W\left(D_e-I\right)^{-1} H^T Ahyp=HW(DeI)1HT
我们可以使用这种保留节点度数的缩减,将对角线归零,以实现方程式中的空模型。

超图模块度的表达式:
Q h y p = 1 2 m ∑ i j [ A i j h y p − P i j h y p ] δ ( g i , g j ) Q^{h y p}=\frac{1}{2 m} \sum_{i j}\left[A_{i j}^{h y p}-P_{i j}^{h y p}\right] \delta\left(g_i, g_j\right) Qhyp=2m1ij[AijhypPijhyp]δ(gi,gj)
与任何加权图一样,此函数的范围是 [−1, 1]。当超边中没有一对节点属于同一集群时,我们将得到 Qhyp = −1,而当属于同一超边的任何两个节点始终属于同一集群时,我们将得到 Qhyp = 1。 Qhyp = 0,对于任何一对节点 i 和 j,同时包含 i 和 j 的超边数等于包含 i 和 j 的随机连线超边数,由空模型给出。

迭代超边重新加权

问题:最小切割算法会支持尽可能不平衡的切割

思路:我们希望在簇中保留不平衡的超边,并切割更平衡的超边——可以通过增加获得不平衡切割的超边的权重,并减少获得更平衡切割的超边的权重来完成。

超边被一分为二,两边节点数分别为k1、k2:
t = ( 1 k 1 + 1 k 2 ) × δ ( e ) t=\left(\frac{1}{k_1}+\frac{1}{k_2}\right) \times \delta(e) t=(k11+k21)×δ(e)

t值示例

k 1 = k 2 = δ ( e ) / 2 k1=k2=\delta(e)/2 k1=k2=δ(e)/2时,t取最小值4,推广上式:
w ′ ( e ) = 1 m ∑ i = 1 c 1 k i + 1 [ δ ( e ) + c ] w^{\prime}(e)=\frac{1}{m} \sum_{i=1}^c \frac{1}{k_i+1}[\delta(e)+c] w(e)=m1i=1cki+11[δ(e)+c]
——+1 和 +c 项都被添加用于平滑,以解决任何 ki 为零的情况。我们除以 m 来归一化权重

令 wt(e) 为超边 e 在第 t 次迭代中的权重,w’(e) 为在给定迭代中计算的权重,则权重更新规则可写为:
w t + 1 ( e ) = α w t ( e ) + ( 1 − α ) w ′ ( e ) w_{t+1}(e)=\alpha w_t(e)+(1-\alpha) w^{\prime}(e) wt+1(e)=αwt(e)+(1α)w(e)

示例

初始的切分很不均匀,有1:4、1:2、2:3等切分,改进后,不均匀的切割被去除——h1 和 h3 中的单个节点最初分配给另一个集群,已被拉回它们各自的(更大的)集群。

小例子

实验

度量指标

  • 使用平均 F1 度量兰德指数RI来评估具有真实类别标签的真实世界数据的聚类性能

几种用作对比的方法

  1. 团扩展+louvain

  2. 超图谱聚类

  3. hMETIS 和 PaToH

数据集

  • MovieLens:联合导演
  • Cora 和 Citeseer:论文共同作者
  • TwitterFootball:足球俱乐部
  • Arnetminer:共引论文

结果

  • 在所有数据集上显示最佳平均 F1 分数、在除一个数据集外的所有数据集上显示最佳兰德指数分数
  • 在所有数据集和两种实验设置上都优于各自的团扩展方法
  • f分析得出碎片边增加,这可能对应于更平衡的切割

结论

  • 考虑了超图上的模块化最大化问题。在提出超图的模块化函数时,我们推导出了一个节点度保持图缩减和一个超图空模型
  • 为了进一步细化聚类,我们提出了一种超边重新加权过程,可以平衡聚类方法引起的切割
  • 迭代重新加权模块化最大化 (IRMM)在数据集上表现出不错的性能

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/129112.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue checkbox-group和checkbox动态生成,问题解决

源码 <el-checkbox-group v-model"form[keyItem.name]"><el-checkboxv-for"(checkboxItem,cindex) in keyItem.options.split(,)":key"cindex":label"checkboxItem"></el-checkbox></el-checkbox-group> 我是…

不关闭Tamper Protection(篡改保护)下强制卸载Windows Defender和安全中心所有组件

个人博客: xzajyjs.cn 背景介绍 由于微软不再更新arm版本的win10系统&#xff0c;因此只能通过安装insider preview的镜像来使用。而能找到的win10 on arm最新版镜像在安装之后由于内核版本过期&#xff0c;无法打开Windows安全中心面板了&#xff0c;提示如下&#xff1a; 尝…

——二叉树

二叉树种类 二叉树有两种主要的形式&#xff1a;满二叉树和完全二叉树。 满二叉树 如果一棵二叉树只有度为0的结点和度为2的结点&#xff0c;并且度为0的结点在同一层上&#xff0c;则这棵二叉树为满二叉树。 完全二叉树 在完全二叉树中&#xff0c;除了最底层节点可能没…

buuctf web 前5题

目录 一、[极客大挑战 2019]EasySQL 总结&#xff1a; 二、[极客大挑战 2019]Havefun 总结&#xff1a; 三、[HCTF 2018]WarmUp 总论&#xff1a; 四、[ACTF2020 新生赛]Include 总结&#xff1a; 五、[ACTF2020 新生赛]Exec 总结&#xff1a; 一、[极客大挑战 2019]…

VPS使用环境受限?亚马逊云科技Amazon Lightsail为开发者提供更多选择

对于开发者而言&#xff0c;当你想构建系统架构时&#xff0c;你的面前就出现了两种选择&#xff0c;选择一是花时间去亲手挑选每个亚马逊云科技组件&#xff08;云服务器、存储、IP地址等&#xff09;&#xff0c;然后自己组装起来&#xff1b;选择二是只需要一个预先配置且预…

C语言经典100例题(51-54)--学习使用按位与 ,按位或 |,按位异或 ^和按位取反~

目录 题目 问题分析 按位与操作符&#xff08;&&#xff09; 按位或操作符&#xff08;|&#xff09; 按位异或操作符&#xff08;^&#xff09; 按位取反操作符&#xff08;~&#xff09; 代码及运行结果 题目 学习使用按位与& ,按位或 |,按位异或 ^和按位取反…

解决微信开发者工具企业微信小程序模式下模拟器白屏问题

前一天晚上没有关电脑&#xff0c;第二天发现电脑自己重启了&#xff0c;然后微信开发者工具就出了问题&#xff0c;在企业微信小程序模式下&#xff0c;模拟器出现了白屏&#xff0c;只有上方title可以正常显示。点击模拟器右上角三个点都不出弹出菜单&#xff0c;并且在调试器…

初识Nacos

前言 Nacos是一个用于微服务架构下的服务发现和配置管理以及服务管理的综合解决方案&#xff08;官网介绍&#xff09;&#xff0c;这里的服务发现其实就是注册中心&#xff0c;配置管理就是配置中心&#xff0c;而服务管理是二者的综合&#xff1b; Nacos特性 1.服务发现与…

李宏毅机器学习笔记:RNN循环神经网络

RNN 一、RNN1、场景引入2、如何将一个单词表示成一个向量3种典型的RNN网络结构 二、LSTMLSTM和普通NN、RNN区别 三、 RNN的训练RNN与auto encoder和decoder 四、RNN和结构学习的区别五、pytorch实现RNN与LSTM5.1为何 H o u t h i d d e n s i z e H_{out}hidden_size Hout​hi…

一个集成的BurpSuite漏洞探测插件1.1

免责声明 本文发布的工具和脚本&#xff0c;仅用作测试和学习研究&#xff0c;禁止用于商业用途&#xff0c;不能保证其合法性&#xff0c;准确性&#xff0c;完整性和有效性&#xff0c;请根据情况自行判断。如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利&#xff0c…

Mysql数据库基础总结:

什么是数据库&#xff1a; 数据库&#xff08;DataBase&#xff09;&#xff1a;存储和管理数据的一个仓库。 数据库类型分为&#xff1a;关系型数据库和非关系型数据库。 关系型数据库&#xff08;SQL&#xff09;&#xff1a;存储的数据以行和列为格式&#xff0c;类似于e…

手写Mybatis

Mybatis核心配置文件就是为了配置Configration 因此要首先会解析Mybatis核心配置文件 首先使用dom4J解析Mybatis核心配置文件 新建模块演示dom4j解析.xml 目录放错了 无所谓 引入依赖 从原来项目可以拷贝过来 就些简单配置就好 解析核心配置文件和解析xxxMapper.xml映射文件…

vue学习之属性绑定

内容渲染 采用 &#xff1a;进行属性渲染创建 demo3.html,内容如下 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"&…

CHS零壹视频恢复程序OCR使用方法

目前CHS零壹视频恢复程序监控版、专业版、高级版已经支持了OCR&#xff0c;OCR是一种光学识别系统&#xff0c;通俗说就和扫描仪带的OCR软件一样的原理&#xff1a; 分析照片->OCR获取字符串->整理字符串->输出 使用方法如下&#xff08;以CHS零壹视频恢复程序监控版…

使用LlamaIndex构建自己的PandasAI

推荐&#xff1a;使用 NSDT场景编辑器 快速搭建3D应用场景 Pandas AI 是一个 Python 库&#xff0c;它利用生成 AI 的强大功能来增强流行的数据分析库 Pandas。只需一个简单的提示&#xff0c;Pandas AI 就可以让你执行复杂的数据清理、分析和可视化&#xff0c;而这以前需要很…

STL线程各种容器对比、数组和vector如何互相转换

STL vector如何扩展内存和释放内存STL中各种容器对比STL中的swap函数STL中哈希表扩容STL迭代器失效的情况和原因vector删除元素后如何避免当前迭代器会失效vector的iterator和const_iterator和const iterator vector如何扩展内存和释放内存 内存增长 1.5还是2倍扩容 gcc 二倍扩…

微信小程序ibeacon搜索功能制作

以下是一个完整的微信小程序代码示例&#xff0c;演示如何实现iBeacon搜索功能&#xff1a; // 在小程序页面中的js文件中编写代码Page({data: {beacons: [] // 存储搜索到的iBeacon设备信息},onReady() {// 初始化iBeaconwx.startBeaconDiscovery({uuids: [你的UUID], // 替换…

数据结构和算法(1):开始

算法概述 所谓算法&#xff0c;即特定计算模型下&#xff0c;旨在解决特定问题的指令序列 输入 待处理的信息&#xff08;问题&#xff09; 输出 经处理的信息&#xff08;答案&#xff09; 正确性 的确可以解决指定的问题 确定性 任一算法都可以描述为一个由基本操作组成的序…

用户促活留存新方式——在APP中嵌入小游戏

随着APP同类产品的不断出现&#xff0c;APP开发者们面临着激烈的竞争&#xff0c;很多APP下载后被新的APP取代&#xff0c;获客成本越来越高。同时开发者还会面临用户粘性差、忠诚度低、用完即走、留存困难&#xff0c;商业化价值被大大缩减。 在APP中植入小游戏来提高用户活跃…

Vue——vue3+element plus实现多选表格使用ajax发送id数组

代码来源: Vue 3结合element plus&#xff08;问题总结二&#xff09;之 table组件实现多选和清除选中&#xff08;在vue3中获取ref 的Dom&#xff09;_multipletableref.value.togglerowselection()打印出来的是u_子时不睡的博客-CSDN博客 前言 为了实现批量删除功能的功能…