- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
非常类似于RBF interpolation fails: LinAlgError: singular matrix但我认为问题不同,因为我没有重复的坐标。
玩具示例:
import numpy as np
import scipy.interpolate as interp
coords = (np.array([-1, 0, 1]), np.array([-2, 0, 2]), np.array([-1, 0, 1]))
coords_mesh = np.meshgrid(*coords, indexing="ij")
fn_value = np.power(coords_mesh[0], 2) + coords_mesh[1]*coords_mesh[2] # F(x, y, z)
coords_array = np.vstack([x.flatten() for x in coords_mesh]).T # Columns are x, y, z
unique_coords_array = np.vstack({tuple(row) for row in coords_array})
unique_coords_array.shape == coords_array.shape # True, i.e. no duplicate coords
my_grid_interp = interp.RegularGridInterpolator(points=coords, values=fn_value)
my_grid_interp(np.array([0, 0, 0])) # Runs without error
my_rbf_interp = interp.Rbf(*[x.flatten() for x in coords_mesh], d=fn_value.flatten())
## Error: numpy.linalg.linalg.LinAlgError: singular matrix -- why?
我错过了什么?上面的示例使用函数 F(x, y, z) = x^2 + y*z。我想用 Rbf 来近似那个函数。据我所知,没有重复的坐标:将 unique_coords_array
与 coords_array
进行比较。
最佳答案
我认为问题出在您的输入上:
my_rbf_interp = interp.Rbf(*[x.flatten() for x in coords_mesh],d=fn_value.flatten())
你应该改为:
x,y,z = [x.flatten() for x in coords_mesh]
my_rbf_interp = interp.Rbf(x,y,z,fn_value.flatten())
它应该可以工作。我认为您的原始公式是在用于求解的矩阵中重复行,因此与重复项(即奇异矩阵)有非常相似的问题。
另外,如果你愿意:
d = fn_value.flatten()
my_rbf_interp = interp.Rbf(*(x,y,z,d))
它应该也能工作。
关于Python Rbf 给出没有重复坐标的奇异矩阵错误,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36033459/
我想应用 RBF 神经网络来教授我的系统。我有一个带有输入的系统: | 1 2 3 4 5 6 ... 32 | 33 | | 1000 0001 001
我是数据科学领域的新手,我知道如何使用 sklearn 库以及如何自定义 RBF 内核,但我想从头开始实现 SVM-RBF 内核以用于学习目的以及如何在不使用的情况下手动实现拟合和预测sklearn
我正在使用 RBF 内核 matlab 函数。 在几个数据集上,随着我继续增加 sigma 值,支持向量的数量增加并且准确性增加。 而在一个数据集的情况下,当我增加 sigma 值时,支持向量会减少并
我想实现一个 RBFN 并在 StackOverflow 上找到了这段代码。虽然我明白一些代码,但我不明白什么 gamma , kwargs ,以及整个 call功能。 有人可以向我解释一下吗? fr
非常类似于RBF interpolation fails: LinAlgError: singular matrix但我认为问题不同,因为我没有重复的坐标。 玩具示例: import numpy as
我正在尝试寻找以高斯函数作为径向基函数的神经网络代码。我想使用反向传播学习规则。 我拥有所有数据,所以我只需要 RBF 神经网络。谢谢! 最佳答案 Encog 库(C# 和 Java)具有以下功能:
我想问一下 SVM 上的 RBF 内核。 在 sklearn 的文档中:http://scikit-learn.org/stable/modules/generated/sklearn.svm.SVR
我正在使用 sklearn.svm.SVC (kernel='rbf') 对图像数据进行分类,效果很好。线性 SVM 通过在两个类之间放置一个超平面来对数据进行分类。在 rbf SVM 的情况下,平面
使用 RBF 进行插值时出现一些错误。这是一维的示例。我认为这与我的 y 值彼此之间的接近程度有关。有什么办法可以解决这个问题吗? import numpy as np from scipy.inte
我有类似这个问题的答案分别是这个问题的答案:RBF interpolation: LinAlgError: singular matrix 但是我想用rbf做概率分布。 到目前为止我的代码: from
当我使用 SVM 的 trainAuto 方法时,我得到 getKernelType() 的值 2 但是当我在我的代码中使用 RBF 时,它训练我的文件并输出 XML 文件。 svm = cv2.ml
当我执行下面的代码时 import matplotlib.pyplot as plt import numpy as np from scipy.interpolate import Rbf x_co
如果给我训练数据集和未标记的数据集,Matlab 的 RBF 核矩阵算法是什么? 最佳答案 这应该是您要查找的内容。它取自 here % With Fast Computation of the RB
我对 svm 分类有点陌生。我正在尝试使用 opencv svm 分类器进行一些人脸识别。输入特征参数是归一化的局部二进制模式。所以所有的值都是从0-1。我首先尝试使用线性核来训练分类器,然后使用训练
我想为我的非线性可分离数据实现 SVM RBF 内核。我将我的内核定义为: def rbf(va, vb): gamma = 0.7 return exp(-gamma * linal
如何在 Neupy 或 Theano 中实现自定义激活函数(通过梯度下降调整均值和方差的 RBF 核)以在 Neupy 中使用。 {快速背景:梯度下降适用于网络中的每个参数。我想创建一个专门的特征空间
from sklearn.model_selection import GridSearchCV from sklearn import svm params_svm = {
我想像这里一样用 rbf 函数绘制一些点以获得点的密度分布: 如果我运行下面的代码,它工作正常: from scipy.interpolate.rbf import Rbf # radial bas
我在 3 维空间中有几个数据点 (x, y, z) 并使用 scipy.interpolate.Rbf 对它们进行插值。这给了我一个很好地代表 3D 对象表面的样条线。我现在想确定几个具有相同的任意
我使用 scipy.interpolate 插值数据集,它给出了热图(z 值作为 x、y 的函数): rbf = scipy.interpolate.Rbf(x, y, z, function='cu
我是一名优秀的程序员,十分优秀!