多语言展示
当前在线:1238今日阅读:167今日分享:16

如何使用多项式拟合复杂函数

本篇讲解如何使用tensorflow结合神经网络简单地拟合一些复杂函数,这里以y=sin(2*pi*x)为例说明。
工具/原料
1

python3.6.x

2

tensorflow

3

pycharm

方法/步骤
1

首先,我们定义一个添加隐藏层的函数,参数包括:输入,输入维度,输出维度,激活函数,返回本层的输出。

2

然后使用numpy的内置函数linspace与sin函数生成正弦函数的数据点,共生成[0,1]之间的100个点。

3

下面定义神经网络模型,共添加两个隐藏层与一个输出层,前两层使用relu函数,最后一层使用tanh函数。

4

接下来定义损失函数,并指定梯度下降法作为减小损失函数的方法,然后初始化变量。

5

创建Session,并启动模型的训练。在训练过程中,每隔一定的次数,打印误差。

6

获取训练集的模型输出,并把这些数据绘制在同一张图上。原始数据采用离散点的scatter函数,模型数据采用plot函数。

7

运行程序,所得的损失函数输出如下。

8

最后,绘制出原始散点图与拟合曲线如下。可以看出,比较好地拟合了原始数据。

推荐信息