1. 磐创AI首页
  2. Medium

一种隐含层神经网络结构

欢迎学习另一个教程。在上一个教程系列中,我们编写了一个逻辑回归函数。现在是时候建立我们的第一个神经网络了,它将有一个隐藏层。您将看到此模型与我们使用Logistic回归实现的模型没有太大区别。In the last tutorial series

  • 定义模型结构(数据形状);
  • 初始化模型参数;
  • 创建循环以:-实施正向传播;-计算损耗;-实施反向传播以获得梯度;-更新参数(梯度下降)

我们通常构建助手函数来计算3个第一步,然后将它们合并成一个函数,我们将其称为nn_model()。一旦我们构建了nn_model()并学习了正确的参数,我们就可以进行预测了。

模型架构:

你会同意我们用Logistic回归不能得到很好的结果,我们可以训练我们的模型,只要我们想,但是它不会改进。所以我们要训练一个只有一个隐藏层的神经网络:

对于一个示例x(I),前向传播算法的数学表达式如下:

我们最终的前向传播成本函数将如下所示:

初始化模型的参数:

现在,虽然我们的模型中有一个隐藏层,但是我们需要初始化输入层和隐藏层的参数。现在我们的参数不能从一开始就是零,因为隐藏层参数依赖于输入层,所以我们将它们初始化为最小随机数。如果我们的权重是零,那么在每个训练迭代中,它们都会具有相同的值,但是当我们将它们初始化为不同的随机数时,它们的训练就会不同。但是偏差可以是零:

在计算前向传播之前,我们将讨论tanh函数。

与我们的Logistic回归中一样,我们可视化了sigmoid和sigmoid_drendor函数,并生成了从-10到10的数据,我们将使用相同的代码进行tanh可视化。以下是用于打印tanh和tanh_派生函数的完整代码:

因此,我们将收到以下图表:

上面红色的曲线是tanh函数的曲线图,红色的曲线是tanh导数函数。

完整教程代码:

结论:

在本教程部分中,我们初始化了模型的参数并可视化了tanh函数。在下一个教程中,我们将开始构建前向传播函数。您将看到这些函数与我们在逻辑回归教程系列中使用的函数没有什么不同。

最初发表于https://pylessons.com/Neural-network-single-layer-part1https://pylessons.com/Neural-network-single-layer-part1

原创文章,作者:fendouai,如若转载,请注明出处:https://panchuang.net/2021/07/22/%e4%b8%80%e7%a7%8d%e9%9a%90%e5%90%ab%e5%b1%82%e7%a5%9e%e7%bb%8f%e7%bd%91%e7%bb%9c%e7%bb%93%e6%9e%84/

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息