资讯

亲和矩阵是什么?记录样本两两之间相似程度的矩阵

2026-11-053 分钟阅读百科
TL;DR亲和矩阵(Affinity Matrix),又称相似度矩阵,是记录数据集中每两个样本之间相似程度的方阵,通常由距离经高斯核等函数转换而来,距离越近值越大,是谱聚类、图方法和流形学习的输入;它与记录差异程度的距离矩阵含义相反但可相互转换。

亲和矩阵(Affinity Matrix),也叫相似度矩阵,是一个记录了数据集中每两个样本之间相似程度的方形表格。如果有 n 个样本,它就是一个 n 行 n 列的矩阵,第 i 行第 j 列的值表示第 i 个样本和第 j 个样本有多相似。在一些资料中,它也和距离矩阵放在一起讨论,两者描述的是同一类信息的两个方面。

亲和矩阵与距离矩阵

距离矩阵记录的是样本之间的差异程度:两个样本越不同,距离越大;一个样本和它自己的距离为零。亲和矩阵记录的则是相似程度:两个样本越像,值越大;一个样本和它自己的相似度通常是最大的。两者的含义正好相反,但可以相互转换。最常用的转换方式是高斯核:相似度等于距离的平方除以一个尺度参数之后取负数再求指数。这样,距离为零时相似度为 1,距离越大,相似度越快地衰减到接近零。尺度参数决定了“多近才算相似”:它越小,只有离得非常近的样本才被认为相似。

亲和矩阵通常具有以下性质:它是对称的,因为 A 和 B 的相似度等于 B 和 A 的相似度;所有的值都是非负的;对角线上的值最大。

怎么构建亲和矩阵

除了用高斯核把距离转换为相似度,还有其他的构建方式。直接使用相似度指标:比如在处理文本时,常用两篇文档的词向量之间的余弦相似度。K 近邻图:只保留每个样本与它最近的 K 个邻居之间的相似度,其余的值都设为零。这样得到的矩阵是稀疏的,大部分元素为零,计算和存储都更高效,而且能更好地反映数据局部的结构。ε 邻域图:只有距离小于某个阈值 ε 的样本之间才设置相似度。

从图的角度来看,亲和矩阵就是一张带权图的邻接矩阵:每个样本是一个节点,两个样本之间的相似度就是连接它们的边的权重。

它的用途

谱聚类:亲和矩阵是谱聚类的出发点。谱聚类根据亲和矩阵构造图拉普拉斯矩阵,再利用它的特征向量把数据映射到一个新的空间中进行聚类,能够识别出形状复杂、不是圆球状的簇。近邻传播聚类:由 Brendan Frey 和 Delbert Dueck 在 2007 年提出,它的英文名 Affinity Propagation 就直接来源于亲和矩阵:算法在样本之间根据相似度传递“消息”,自动地选出一些代表性的样本作为各个簇的中心,并且不需要事先指定簇的数量。流形学习和降维:拉普拉斯特征映射、t-SNE、UMAP 等方法,都是先根据样本之间的相似度构建图或亲和矩阵,再寻找一个能够保持这些相似关系的低维表示。图像分割:把图像中的每个像素看作一个样本,根据像素之间的颜色差异和位置距离构建亲和矩阵,再进行分割。半监督学习:在标签传播算法中,标签沿着亲和矩阵中相似度高的边,从有标签的样本传播到没有标签的样本。

需要注意的是,完整的亲和矩阵有 n 乘 n 个元素,当样本数量达到几十万甚至更多时,存储和计算的开销会非常大,因此在大规模数据上通常使用稀疏的近邻图,或者采用近似的方法。