Python中的内核方法

2024-09-27 07:31:21 发布

您现在位置:Python中文网/ 问答频道 /正文

参照https://stats.stackexchange.com/questions/15798/how-to-calculate-a-gaussian-kernel-effectively-in-numpy,给出了一种计算预计算核矩阵的方法。在

from scipy.spatial.distance import pdist, squareform
X = loaddata() # this is an NxD matrix, where N is number of items and D its dimensions
pairwise_dists = squareform(pdist(X, 'euclidean'))
K = scip.exp(pairwise_dists / s**2)

如果输入是有向图的加权邻接矩阵,如何实现上述的高斯核?在


Tags: tohttpscomisstatsgaussiankernelhow
1条回答
网友
1楼 · 发布于 2024-09-27 07:31:21

如果你已经有了你的距离矩阵,你可以简单地申请

K = scip.exp(YOUR_DISTANCE_HERE / s**2)

但是,它可能不再是内核。并非所有的“相似性得分”都是有效的核。如果你的距离是有效的马哈拉诺比斯距离,那么你就有了保证,一切都会好起来的。如果“任何”距离-任何事情都可能发生。在

使用无效内核可能导致:

  1. 优化过程崩溃
  2. 寻找次优解(坏解)
  3. 做任何事都是没有保证的。在

也许你应该考虑一下与高斯核和热扩散密切相关的graph kernels

相关问题 更多 >

    热门问题