1、首先,我们定义一个添加隐藏层的函数,参数包括:输入,输入维度,输出维度,激活函数,返回本层的输出。
2、然后使用numpy的内置函数linspace与sin函数生成正弦函数的数据点,疤噜呶买共生成[0,1]之间的100个点。
3、下面定义神经网络模型,共添加两个隐藏层与一个输出层,前两层使用relu函数,最后一层使用tanh函数。
4、接下来定义损失函数,并指定梯度下降法作为减小损失函数的方法,然后初始化变量。
5、创建Session,并启动模型的训练。在训练过程中,每隔一定的次数,打印误差。
6、获取训练集的模型输出,并把这些数据绘制在同一张图上。原始数据采用离散点的scatter函数,模型数据采用plot函数。
7、运行程序,所得的损失函数输出如下。
8、最后,绘制出原始散点图与拟合曲线如下。可以看出,比较好地拟合了原始数据。