图聚类先验知识
原文@YoHu人家 快速上手:图聚类入门 Graph Clustering
聚类
聚类就是在未知标签的前提下,将样本集合分为多个子集合,每个集合都有对应的标签
聚类和分类的区别
聚类:事先不知道任何样本的编号,需要一种算法把一组未知类别的样本划分为若干类别,我们不关心每一类是什么,我们只需要把相似的东西放在一起——一种无监督学习方法(组内相似性越大,组间差别越大越好)
分类:根据一些已知的样本(包含属性和类编号),得到分类的模型(类似于一个函数),通过这个函数对一些只包含属性的样本数据进行分类 ——一种监督学习方法(必须事先明确知道各个类别的信息,并且断言所有待分类项都有一个类别与之对应)
如何衡量相似性的多少
相似性度量 如欧式距离、闵可夫斯基距离、马氏距离、余弦相似度、皮尔逊相关系数和KL散度等
如何进行划分
k-means 谱聚类 深度嵌入聚类(DEC)
- K-means:迭代求解的聚类分析算法。预将数据分为K组,则随机选取K个对象作为初始的聚类中心,然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心,多次迭代直到收敛或者达到迭代次数上限。 聚类中心以及分配给它们的对象就代表一个聚类。
- 谱聚类:从图论中演化出来的算法。把所有的数据看做空间中的点,这些点之间可以用边连接起来。距离较远的两个点之间的边权重值较低,而距离较近的两个点之间的边权重值较高,通过对所有数据点组成的图进行切图,让切图后不同的子图间边权重和尽可能的低,而子图内的边权重和尽可能的高,从而达到聚类的目的。
- 深度嵌入聚类(DEC):一种引入KL loss来迭代优化非监督算法,详见论文。(KL散度就是一种计算分布哪个保留了我们原始数据源中最多的信息 来源于熵 可以预计有多少信息丢失 可以通过减少KL散度来保留更多的信息)
如何确定簇类
(了解较少)肘部法则SSE、轮廓系数、度量可概化性G:(将数据分为训练和验证集,并将G设为两者损失值之间的比率,对各种簇类别数k下计算G,当k大于最佳簇数时会出现G急剧下降的现象)
图
结构化信息(欧式数据)
-
语音、文本、图像、视频 ……
-
具有规范的数据存储或表示形式
-
迎合人类的认知和计算机的存取处理
非结构信息(非欧式数据)——图结构 也有一些具体的分类
- 社交网络、化学分子、引文网络 ……
- 没有规范的数据格式
- 来自于自然世界
图神经网络
图学习的本质目的在于,将结构信息作为特征的一环,融入学习系统来更好的进行学习任务。对于GNN而言其往往有两类特征,节点特征、结构特征。由于结构将节点们进行连接,形成各种链路,所以GNN早期是循环神经网络(RNN)的相关研究成果变迁而来。不过也有一些工作是直接从结构信息入手,如最有名的GCN。
结构说明了节点之间如何连接
图节点聚类
输入:结构特征 节点特征
输出:节点标志集
相关工作
不仅只有图聚类任务可以完成聚类要求,图嵌入、图对比学习学习到的Embedding信息也是融合结构特征和节点特征的有效方法,其也可以直接用来做聚类对比研究。