问题标签 [alglib]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
412 浏览

interpolation - 如何设置 Alglib RBF 插值器的默认值?

我正在使用 RBF 2D 插值器来计算包含山的一段地形的云点 Z = f(X,Y);

当我在网格上进行插值时,网格的边缘会“抬起”,因为默认值(当附近没有点时返回)似乎是 Z 坐标的 AVERAGE。那么我得到的图像不是一座山,而是一座“沉没”的山,印在高度远高于零的平面上。

下面,我的浊点的横截面用绿色表示,插值点的连续切片用粉红色表示。

在此处输入图像描述

期望的行为是在没有附近点时获得 Z = 0。

有没有办法告诉插值器我想要一个默认的零值,即使浊点不与零平面相交?

我当前的代码是这样的(C#):

0 投票
1 回答
1060 浏览

c++ - OpenCV Mat 到 alglib 真实二维数组的转换

如何将 Opencv Mat 转换为 Alglib 真实二维数组?

这是一个我被卡住的例子

我想将其转换Mat为 alglibreal_2d_array以训练分类器。

0 投票
0 回答
252 浏览

c++ - OpenCV 和 Alglib 随机森林分类器比较

以前我使用 Opencv 随机森林分类器来处理我的数据。但是 Opencv 的问题是后验概率。它仅用于二进制分类,不支持两个以上的类概率(CvRTrees::predict_prob opencv函数)。虽然我的数据中有 7 个类。但是 ALGLIB 支持两个以上的概率(alglib::dfprocess)。我使用这个函数来获得我的七个班级的概率。但是我现在的问题是我用 Alglib 获得的结果比 OPencv 分类器差得多。

谁能告诉我如何解决我的问题?我需要对我正在使用的所有七个类进行概率预测。

0 投票
1 回答
410 浏览

r - 是否可以将 Alglib 与 Rcpp 一起使用?

我经常使用 Rcpp 代码将 C++ 代码合并到 R 中。通过 BH 包,我还可以使用 Boost 库。但是,Boost 库缺少我想使用的函数(准确地说,它只有 Bessel 函数,但由于溢出,我想立即获取 Log-Bessel)。我知道Alglib确实有这个功能。

是否可以将 Alglib 与 Rcpp 一起使用,也就是说,以某种方式使用 Alglib 中的 log-bessel 函数?

0 投票
0 回答
434 浏览

c++ - C++:使用 Levenberg Marquardt 求解两个变量的最小化

我正在尝试使用 C++解决这个等式:

X 和 Y 都是给定的数据集。

X = [x1, x2, ... , xn], Y = [y1, y2, ... , yn]

a 是给定的整数。

目标是根据给定数据找到满足该方程的 z 和 k 对。

我目前正在尝试使用非线性最小二乘法和 Levenberg Marquardt 算法来求解这个方程,并且我正在使用 ALGLIB 作为库来在 C++ 中实现它。

我遇到的问题是我看到的所有示例都解决了一个变量(特别是这个)。但是,我正在尝试找到适合解决方案(z 和 k)的最佳配对。

这样做的最佳方法是什么?

谢谢!

0 投票
1 回答
360 浏览

c# - ALGLIB RBF 是否支持大于 3 的维度(4D、5D 或更高维度)?

ALGLIB RBF 是否支持大于 3 的维度(4D、5D 或更高维度)?

http://www.alglib.net/interpolation/fastrbf.php声明它支持 2D 和 3D。ALGLIB 3.9 中的当前代码也是如此。

我想确认答案,并检查 ALGLIB RBF 是否会在未来版本中支持更高维度的插值(4D、5D 或更高)。

0 投票
1 回答
2426 浏览

c# - 使用奇异值分解将平面拟合到一组点

我正在尝试将平面拟合到 3D 空间中的一组点。我最初尝试了详尽的最小二乘拟合,但结果太慢了。我读到最有效的解决方案是执行奇异值分解。

这个数学超出了我的范围,但我找到了一堆资源来尝试让它工作。

根据这篇文章的答案,我需要计算点的质心,从所有点中减去质心,将它们放入 3xN 矩阵并执行 SVD。然后我将左奇异向量作为平面的法线。

到目前为止,一切都很好。

我找到了一个名为 alglib 的 C# 数学库,它具有 SVD 的功能。该算法的定义可以在这里找到。这就是我遇到问题的地方,因为除了数据点矩阵之外,它还需要两个矩阵作为输入,而且我真的不明白要在其中放入什么。不管怎样,我都运行了这段代码:

所以理论上我认为“w”会包含我的平面法线,但不幸的是它没有(我在 Unity3D 中可视化它并且它的角度错误)。“u”和“t”矩阵让我感到困惑,我真的不知道应该将它们设置为什么。

rmatrixsvd 函数的详细 API 可以在这里找到。

有没有数学或算法老手可以分享他们在这方面的知识?我需要使用 C#,因为我的项目在 Unity3D 中。如果需要,我很乐意提供更多信息。

0 投票
0 回答
293 浏览

c++ - Alglib 库同时使用“spline1dbuildlinear”在块捕获中获取异常(alglib_impl::ae_error_type)

我开始使用 Alglib 库,特别是“spline1dbuildlinear”函数。

当使用小数据集(用于 X 和 Y)时,例如下面的代码脚本,它工作正常:

但是,当使用 X 和 Y 向量包含双元素时,它们的大小为“1995”,它会在块 catch(alglib_impl::ae_error_type) 中引发异常。

在尝试通过互联网找到任何解决方案后,我发现我可能需要使用:

状态初始化函数,但无法找出正确的调试方法。任何建议将不胜感激。

0 投票
0 回答
77 浏览

random-forest - 为 alglib 决策林实施设置种子

我正在使用 alglib 来训练随机森林。我想使用相同的输入数据和相同的输入变量集实际训练许多森林。为此,我需要控制随机数生成器的种子,但我找不到访问它的方法。有谁知道是否提供了这样的功能?

0 投票
1 回答
806 浏览

c++ - 使用 alglib 进行线性判别分析

我被要求对我的一个项目的一组数据进行线性判别分析。我正在使用具有fisherlda 功能的ALGLIB(C++ 版本),但我需要一些帮助来了解如何使用它。

用户回答了一组 6 个问题(答案是 1-7 的数字),这给了我一个示例数据集,例如 {1,2,3,4,5,6}。然后我有 5 类,每类 6 个值,例如 {0.765, 0.895, 1.345, 2.456, 0.789, 5.678}。Fisher lda 函数采用二维值数组并返回另一个一维值数组(我不知道它们的含义)。

据我了解,我需要查看用户回答的哪个课程最适合?

任何帮助理解 LDA 和/或我如何使用此功能将不胜感激。

编辑:

这是我尝试使用的函数的定义: