泛运筹理论初探——InfoMap算法简介

InfoMap算法是一种基于图论的社区发现算法,利用霍夫曼编码思想,通过随机游走和编码长度最小化来划分图的社区结构。它在NLP中也有应用,通过双层编码优化了传统编码方式,提高了效率并增强可解释性。算法步骤包括初始化、随机游走采样和社团分配,确保算法稳健性。
摘要由CSDN通过智能技术生成

图论-图论算法之InfoMap

图论算法简介之InfoMap算法
    在上次的文章里,我们介绍了图论里的社区发现算法,那是一种通过模块度计算的算法,通过不断迭代和合并从而得到最终的社区结果。在本次文章中我们将会介绍InfoMap算法,这种算法的思路非常经典,而且InfoMap算法在数学上看是作者对图结构的聚合有着非常深刻的理解,该算法通过霍夫曼编码,将图结构的邻接矩阵进行转化,并且这种算法在实际场景的效果还不错,下面我们来介绍这种算法。
    从本质上来说,InfoMap是想要构造出一种转移概率,然后使用点在图上进行随机游走,并生成序列的向量结果,通过对这些向量进行层次编码后,得到结果进行聚类,从而将更相似的向量聚合在一起,也就是对应的图里的点,这种思路不仅可以用在图论的应用里,还可以用在NLP自然语言处理的问题中。
    InfoMap算法在最初想解决的是用最短编码去描述随机游走,传统的思路就是给每个点一个互不相同的编号,然后进行随机游走进行记录即可。但这种编码的方式不是最优的,于是InfoMap提出了双层编码,这种编码的优点是大大简化了编码长度,只需要先将点分为编号互不相同的N个大类,在每个类里面采用一样的编码,这样就可以节省编码的长度。特别的,InfoMap算法还把跳出该大类的行为进行编码,设定为000,那么每次随机游走进入到某个类的时候都是以类编码开头,离开类的时候都是以跳出行为000进行结尾,具有较好地可解释性。下面的图片就很好地说明了这种编码方法,肉类和国家这两个大类使用不同的编码,而类的内部可以使用一套编码,最后都是以End结尾,这样的编码形式其实是信息熵最小的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值