问题标签 [function-approximation]

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 投票
2 回答
1811 浏览

c++ - exp(-x) 和 exp(+x) 之间的泰勒级数差异

我正在尝试编写一个程序来计算泰勒级数的 exp(-x) 和 exp(x) 最多 200 次迭代,对于大 x。(exp(x)=1+x+x^2/2+...)。

我的程序非常简单,看起来应该可以完美运行。然而它对于 exp(-x) 是发散的,但对于 exp(+x) 收敛得很好。到目前为止,这是我的代码:

当我运行它时,我得到以下输出:

当实际值为:

如您所见,它适用于正计算,但不是负计算。有没有人知道为什么舍入错误会通过在每个其他术语上添加一个负数而变得如此错误?另外,有什么我可以实施来解决这个问题的吗?

提前致谢!!

0 投票
0 回答
69 浏览

reinforcement-learning - 在强化学习中为具有径向基函数的函数近似选择活动特征?

当使用径向基函数 (RBF) 来逼近具有连续状态变量的值函数时,我不明白资格跟踪如何与强化学习相适应。特别是,您如何确定对于给定状态哪些功能是“活跃的”?

当使用瓦片编码或粗编码时,每个瓦片(不是每个瓦片)本质上是一个特征,因此当状态通过每个瓦片时,每个瓦片的合格迹线都会增加(如何取决于您是使用替换还是累积迹线)瓦片,并且某些瓦片不会增加其跟踪。然而,当使用径向基函数时,特征是状态与所选内核评估的 Rbf 网络中心之间的距离。这些可以针对状态的任何位置和中心的任何位置进行评估,因此对于给定状态激活了哪些特征并不清楚(它们基本上都可以或多或少地被激活),所以目前尚不清楚哪些特征应该增加它们的痕迹。

应该如何调整 RBF 在模拟的每个时间步生成的特征的合格迹线?

我是否需要假设 RBF 的内核被截断?

0 投票
1 回答
1759 浏览

matlab - MATLAB 用于设计径向基网络的 newrb 与文档不符。为什么?

我正在尝试使用径向基网络来近似各种信号。特别是,我使用了 MATLAB 的newrb.

我的问题是,如果按照. newrb据我了解,尽管有文档,但转置所有参数是有意义的。

下面的例子希望能说明我的问题。

我用 100 个样本创建一个周期的正弦波。我想通过具有最多两个隐藏神经元的径向基网络来近似这个正弦波。我有一个输入向量 ( t) 和一个目标向量 ( s)。因此,根据文档,我应该newrb使用两个列向量进行调用。但是,近似值太好了。事实上,均方误差为 0,仅使用两个神经元是不可能的。此外,view(net)如果我使用列向量,可视化不仅显示一个输入,而且显示 100 个输入。

在示例中,对应于“正确”(根据文档)函数调用的向量用 表示_doc,对应于“不正确”调用的向量用 表示_not_doc

任何人都可以解释这种行为吗?

0 投票
2 回答
1575 浏览

c - taylor series with error at most 10^-3

I'm trying to calculate the the taylor series of cos(x) with error at most 10^-3 and for all x ∈ [-pi/4, pi/4], that means my error needs to be less than 0.001. I can modify the x +=in the for loop to have different result. I tried several numbers but it never turns to an error less than 0.001.

I'm also doing this for e^x too. For this part, x must in [-2,2] .

But whenever I changed the number of terms in the for loop, it always have an error that is greater than 1. How am I suppose to change it to have errors less than 10^-3?

Thanks!

0 投票
0 回答
83 浏览

matlab - 奇怪的结果是用神经网络逼近一个函数

我正在尝试使用 RBF 神经网络逼近 ddx=F(x,dx,u) 形式的函数(微分方程的右侧)(其中 x,dx,u 是标量,u 是常数)。我将函数 F 作为黑匣子(我可以用初始 x、dx 和 u 输入它,并在我想要的时间跨度内取 x 和 dx)并且在训练期间(使用 sigma-modification)我得到以下响应,绘制真实的dx 与近似的 dx。训练期间的反应

然后我保存 NN 的参数(高斯的中心和标准差,以及最终权重)并使用与之前相同的初始 x、dx 和 u 执行模拟,当然,这次保持权重稳定。但我得到以下情节。模拟响应

这合乎逻辑吗?我错过了什么吗?

训练代码如下:

用于验证近似值的代码如下:

0 投票
0 回答
193 浏览

python - SCIPY - 单变量样条近似

我正在尝试用 scipy 对嘈杂的数据进行近似,但它似乎不适用于这个特定的功能。应用平滑因子“s”不会改变任何东西。我最终得到插值而不是近似值。奇怪的是,它通常近似于相同类型的函数 (x^-2)。怎么可能改变?

0 投票
1 回答
954 浏览

algorithm - 使用线性函数逼近的 Q 学习

我想获得一些有关如何使用具有函数逼近的 Q 学习算法的有用说明。对于基本的 Q 学习算法,我找到了一些例子,我想我确实理解了。如果使用函数逼近,我会遇到麻烦。有人可以通过一个简短的例子给我一个解释它是如何工作的吗?

我知道的:

  1. 我们使用特征和参数而不是使用矩阵来表示 Q 值。
  2. 使用 fauters 和参数的线性组合进行近似。
  3. 更新参数。

我检查了这篇论文:Q-learning with function approximation

但我找不到任何有用的教程如何使用它。

感谢帮助!

0 投票
0 回答
112 浏览

machine-learning - 如何使用线性函数逼近选择我的 q 学习的特征

我正在使用强化学习开发人工智能。

这是一个玩家应该避免砖块从天上掉下来的游戏。

有20块砖掉在地上。 游戏截图游戏视频链接

我使用带有线性函数的强化学习来实现 AI。

很难选择最佳特征来获得满意的结果。

无论如何,自从我尝试成功以来,它最终获得了最好的成绩。

但这很奇怪。

有一些原因。

  1. 它在大约 10 次训练时很快达到收敛。
  2. 我只使用了 6 个功能。
  3. 通过多次训练,我无法获得更好的分数。(就像我想让我的人工智能像超级玩家一样玩。但看起来不像。)

同时,我尝试使用很多功能。我将特征定义为游戏屏幕尺寸(960 * 640)。

我填充了砖块与玩家相对坐标的那些特征。我希望能取得比上一个更好的结果。我用这个方法训练了 7 个小时,但没有成功。

底线是我应该如何选择功能以使其发挥最佳作用,或者是否有任何不同的方法来解决它?

0 投票
1 回答
2845 浏览

r - 通过 r 中的线性插值查找值

我有大量数据,我需要在标准高度找到几个变量的值。我想对其他变量的值进行线性插值Height=c(0,100,200,250,400,500),并将它们作为新列添加到现有数据中。这是我试图将一个变量的值作为标准Height=c(0,100,200,250,400,500)。这仅适用于一个变量:

data2<-approx(data2$Height,data2$ozone,xout=c(0,100,200,250,400,500))

预期的结果应该是一个 18 行 4 列的数据框。

这是示例数据(data2)

预先感谢您的帮助。

更新

这是所需的答案:

0 投票
1 回答
116 浏览

python - 用千层面逼近一个简单的 sin() 函数

我正在尝试千层面和 nolearn NeuralNet 函数来逼近一个简单的sin函数。毕竟,神经网络被证明是通用逼近器,所以我想在一个简单的非线性函数上尝试千层面来通过实验证明这一事实。这是代码:

我们得到以下函数:

标度 sin 函数

现在我们创建一个包含 100 个隐藏单元的简单神经网络来近似函数:

现在我们用训练好的网络预测x值,看看我们得到了什么:

这就是我们得到的!近似函数。太荒谬了!如果我们增加隐藏神经元的数量或训练时期,没有任何变化。其他类型的非线性只会使情况变得更糟。理论上这应该工作得更好,我错过了什么?

非常感谢。