奎克的藏经阁 · 原书印刷页

人工智能与大数据技术导论 · 第 192 页

PDF 物理页索引 208 · 第6章

书名
人工智能与大数据技术导论
作者
未记录
印刷页
192
PDF 物理页
208(从 0 开始)
章节
第6章
UUID
cd4f7678-cd9b-4971-bde0-e9ad46a6cc71
来源类型
original_book
页面 SHA-256
8add8dc4f6d3a3193ffc48215ccfc9c5ca59ec5612a10107e80eb8120925bfd0

通过以上公式可以计算图的模块性,且模块性越高,该网络聚类成不同团体的程度就越好。因此,通过最优化方法寻找最大模块性就能发现聚类该网络的最佳方法。

组合学(Combinatorics)告诉我们,对于一个仅有8个顶点的网络,存在4140种不同的聚类方式。16个顶点的网络的聚类方式将超过100亿种。32个顶点的网络的可能聚类方式更是将超过128septillion(10^21)种。如果你的网络有80个顶点,那么其可聚类的方式的数量已经超过了可观测宇宙中的原子数量。

因此,我们必须求助于一种启发式的方法,该方法在评估可以产生最高模块性分数的聚类上效果良好,而且并不需要尝试每一种可能性。这是一种被称为Fast-GreedyModularity-Maximization(快速贪婪模块性最大化)的算法,这种算法在一定程度上类似于前面描述的Agglomerative Hierarchical Clustering Algorithm(集聚层次聚类算法)。只是Mod-Max并不根据距离(distance)来融合团体,而是根据模块性的改变来对团体进行融合。下面介绍其工作方式。首先初始分配每个顶点到其自己的团体,然后计算整个网络的模块性M。

(1)要求每个团体对(communitypair)至少被一条单边链接,如果有两个团体融合到了一起,该算法就计算由此造成的模块性改变△M。

(2)取△M出现了最大增长的团体对,然后融合。然后为这个聚类计算新的模块性M,并记录下来。

重复(1)和(2)。每次都融合团体对,这样最后可以得到△M的最大增益,然后记录新的聚类模式及其相应的模块性分数M。当所有的顶点都被分组成一个巨型聚类时,就可以停止了。然后该算法会检查这个过程中的记录,找到其中返回最高M值的聚类模式。这就是返回的团体结构。

团体检测是现在图论中一个热门的研究领域,它的局限性主要体现在会忽略一些小的集群,且只适用于结构化的图模型。但这一类算法在典型的结构化数据中和现实网状数据中都有非常好的性能。

6.8 机器学习算法总结

机器学习领域有一条“没有免费的午餐”的定理。简单解释一下,就是没有任何一种算法能够适用于所有问题,特别是在监督式学习中。例如,你不能说神经网络就一定比决策树好,反之亦然。要判断算法的优劣,数据集的大小和结构等众多因素都至关重要。所以,你应该针对问题尝试不同的算法。然后使用保留的测试集对性能进行评估,以选出较好的算法。

人工智能与大数据技术导论

192