使用 scikit-learn 进行光谱聚类的预计算距离
Precomputed distances for spectral clustering with scikit-learn
我正在努力理解谱聚类文档 here。
具体来说。
If you have an affinity matrix, such as a distance matrix, for which 0 means identical elements, and high values means very dissimilar elements, it can be transformed in a similarity matrix that is well suited for the algorithm by applying the Gaussian (RBF, heat) kernel:
np.exp(- X ** 2 / (2. * delta ** 2))
对于我的数据,我有一个大小为 (n_samples, n_samples)
的完整距离矩阵,其中较大的条目表示不同的对,较小的值表示相似的对,零表示相同的条目。 (即唯一的零沿着对角线)。
所以我需要做的就是用 affinity = "precomputed"
构建 SpectralClustering
对象,然后将转换后的距离矩阵传递给 fit_predict
.
我卡在了建议的变换方程上。 np.exp(- X ** 2 / (2. * delta ** 2))
。
这里的X
是什么? (n_samples, n_samples)
距离矩阵?
如果是,那么delta
是什么。只是 X.max()-X.min()
吗?
调用 np.exp(- X ** 2 / (2. * (X.max()-X.min()) ** 2))
似乎是正确的做法。 IE。大项变得相对较小,小项相对较大,所有项都在 0 和 1 之间。对角线全为 1,这是有道理的,因为每个点都与自身最仿射。
但是我很担心。我想如果作者希望我使用 np.exp(- X ** 2 / (2. * (X.max()-X.min()) ** 2))
他会告诉我只使用那个,而不是把 delta
扔进去。
所以我想我的问题就是这个。 delta
是什么?
是的,X
在这种情况下是距离矩阵。 delta
是一个比例参数,你可以随意调整。它控制 "tightness",可以说,distance/similarity 关系,从某种意义上说,小三角洲增加了远点的相对不相似性。
注意 delta
与 RBF 内核的 gamma
参数的倒数成正比,前面在文档 link 中提到过:两者都是自由参数,可以是用于调整聚类结果。
我正在努力理解谱聚类文档 here。
具体来说。
If you have an affinity matrix, such as a distance matrix, for which 0 means identical elements, and high values means very dissimilar elements, it can be transformed in a similarity matrix that is well suited for the algorithm by applying the Gaussian (RBF, heat) kernel:
np.exp(- X ** 2 / (2. * delta ** 2))
对于我的数据,我有一个大小为 (n_samples, n_samples)
的完整距离矩阵,其中较大的条目表示不同的对,较小的值表示相似的对,零表示相同的条目。 (即唯一的零沿着对角线)。
所以我需要做的就是用 affinity = "precomputed"
构建 SpectralClustering
对象,然后将转换后的距离矩阵传递给 fit_predict
.
我卡在了建议的变换方程上。 np.exp(- X ** 2 / (2. * delta ** 2))
。
这里的X
是什么? (n_samples, n_samples)
距离矩阵?
如果是,那么delta
是什么。只是 X.max()-X.min()
吗?
调用 np.exp(- X ** 2 / (2. * (X.max()-X.min()) ** 2))
似乎是正确的做法。 IE。大项变得相对较小,小项相对较大,所有项都在 0 和 1 之间。对角线全为 1,这是有道理的,因为每个点都与自身最仿射。
但是我很担心。我想如果作者希望我使用 np.exp(- X ** 2 / (2. * (X.max()-X.min()) ** 2))
他会告诉我只使用那个,而不是把 delta
扔进去。
所以我想我的问题就是这个。 delta
是什么?
是的,X
在这种情况下是距离矩阵。 delta
是一个比例参数,你可以随意调整。它控制 "tightness",可以说,distance/similarity 关系,从某种意义上说,小三角洲增加了远点的相对不相似性。
注意 delta
与 RBF 内核的 gamma
参数的倒数成正比,前面在文档 link 中提到过:两者都是自由参数,可以是用于调整聚类结果。