Neural network 神经网络函数逼近

Neural network 神经网络函数逼近,neural-network,backpropagation,approximation,Neural Network,Backpropagation,Approximation,所以我有这样的东西, y=l3*[sin(theta1)*cos(theta2)*cos(theta3)+cos(theta1)*sin(theta2)*cos(theta3)-sin(theta1)*sin(theta3)+cos(theta1)*cos(theta2)+cos(theta1)+sin sin l1*sin(theta1)+l0 对于x来说也是类似的。式中,Tai是指定间隔的角度,li是一些系数。这项任务是对方程进行近似反演,所以你们设置x和y,结果将是合适的θ。所以我从指定的

所以我有这样的东西, y=l3*[sin(theta1)*cos(theta2)*cos(theta3)+cos(theta1)*sin(theta2)*cos(theta3)-sin(theta1)*sin(theta3)+cos(theta1)*cos(theta2)+cos(theta1)+sin sin l1*sin(theta1)+l0

对于x来说也是类似的。式中,Tai是指定间隔的角度,li是一些系数。这项任务是对方程进行近似反演,所以你们设置x和y,结果将是合适的θ。所以我从指定的区间随机生成θ,计算x和y。然后我在x和y之间,θ之间。我用这些数据作为训练集,网络的输入是标准化的x和y,输出是标准化的θ

我对网络进行了训练,尝试了不同的配置,经过整晚的训练,网络的绝对误差仍然在24.9%左右。太多了,我不知道该怎么办

  • 更大的训练集
  • 更大的网络
  • 学习率实验
  • 更长的训练
技术信息

由于训练算法采用误差反向传播。神经元具有乙状结肠激活功能,单位有偏。我尝试了拓扑:[2 50 3],[2 100 50 3],训练集的长度为1000,训练持续时间为1000个周期(在一个周期中,我遍历了所有数据集)。学习率的值为0.2

近似误差计算为:

abs(期望输出-达到输出)/数据集长度之和

使用的优化器是随机梯度下降

损失函数

1/2(期望达到)^2

网络是在我的Matlab神经网络模板中实现的。我知道这是一个弱点,但我确信我的模板是正确的,因为(XOR问题的成功解决,微分方程的近似,状态调节器的近似)。但是我展示了这个模板,因为这些信息可能很有用

编辑: 我使用了2500个θ范围内的唯一数据

θ1,θ2,θ3


我也用更大的数据集进行实验,但精确度并没有提高。

你的损失函数是什么?你的优化器呢?我猜你几乎没有关于这个异常函数的数据。你能在函数上绘出1000个数据点吗?这将有助于决定是否需要更多数据…我的损失函数是1/2(期望达到)^2,优化器是误差反向传播作为随机梯度下降形式。感谢您提供绘图数据的提示,但我不确定如何合理绘图,因为每个输出(x,y)有3个θ,所以它将是4D图形,而且,我提到我需要函数的近似反转,以便有2个输入和3个输出。