我希望高斯核RBF确定点之间的距离,但是当我尝试使用公式时得到无穷大

问题描述

我想使用高斯RBF内核来确定点​​之间的紧密度并确定要给它们的标签

在课堂上,我看到要做到这一点,我们需要使用参数sigma为mu = X的高斯公式。 如果我有两个矩阵

x = [x1,x2,x3,x4]
and X =[[x1 x2 x3 x4]
       [x5 x6 x7 x8]
       [x9 x10 x11 x12]
       .
       .
       . ]

X的每一行都是一个具有4个维度(特征)的点。 我想为每个要素计算X与X中每个点的距离。

我尝试实现RBF公式:

scalar = 1/(((2*np.pi)**4)*(self.sigma**4))
constant = -1/2*(self.sigma**2)
distances = scalar**(constant*(np.sum(np.abs(ex - self.train_inputs))**2))

sigma是作为参数提供的常数。 但是我收到此错误消息。

RuntimeWarning: overflow encountered in double_scalars
  distances = scalar**(constant*(np.sum(np.abs(ex - self.train_inputs))**2))
inf

我做错了什么?我只允许使用python标准库和numpy来做到这一点。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)