如何在python中使用DNN使用“参数”估算正弦函数?

时间:2019-02-04 04:17:13

标签: python tensorflow

我想做的是用频率w,时间t,相位phi等参数估算正弦函数。

我尝试了两种情况。(我在下面附加了描述图片和源代码的链接)

案例1是关于单输入x的正弦函数估计 情况2是关于多输入正弦函数的估计(x除以3:频率w,时间t,相位phi)

案例1运作良好。我的损失值非常低。(大约为0) 情况2运作不正常。损失值很高。收敛到25

我想提高其性能,并知道其性能较差的原因。

我在源代码中附加了nbviewer链接,在描述图片中附加了Evernote链接。

案例1)https://nbviewer.jupyter.org/gist/nuriahn/1dd28ef1164a8a358bb7875f48dc1174

情况2) https://nbviewer.jupyter.org/gist/nuriahn/f4b25917243c4b043caf640362dcd0ea

说明图片) http://www.evernote.com/l/AYuq8O7ErDtKK4346xKk7RzmVx9fX0zTdT8/

我希望该模型可以学习以下公式:y = sin(w * t + phi)。 例如,当我将w = 2,t = 4和phi = 0.5用作输入时,我得到的输出y是sin(2 * 4 + 0.5)的结果。

1 个答案:

答案 0 :(得分:0)

在这种情况下,只有将w和phi作为要学习的参数,情况1才会起作用。

在第二种情况下,您不能指望网络在传递参数(应该由网络学习)作为输入并让网络通过完全连接的层(通过增加权重)确定它们之间的关系时学习网络。