在之前课程中,我们实现了逻辑回归函数,它是一个不包含隐藏层的网络结构。
本节课中,我们将继续神经网络的学习,本文主要来讲解包含一个隐藏层的神经网络结构及其原理。
本文内容概述
之前的文章中,我们讲述了一个逻辑回归的模型如下:
其中,输入参数包含w, x和b,具体计算流程如下:
而对应一个包含隐藏的神经网络而言,其网络结构如下:
其中,每个隐藏层的计算逻辑与之前的输出层计算逻辑一致。
此处,我们用[1]表示第1层,用[2]表示第二层,则上述模型的计算逻辑如下:
此外,在反向计算中,也会有与之前类似的逻辑来计算,我们将在接下来的内容详细讲解。
神经网络的表示
接下来,我们首先讨论的是神经网络图的含义:
对于下图而言:
其中,x
1
,x
2
,x
3
表示其输入层,中间的四个圆圈则表示隐藏层,最后的一个节点是其输出层。
通常,对于一个神经网络训练任务而言,训练集中会包含着输入层数据和期望输出层数据。
而隐藏层数据是我们无法知道而需要进行训练学习的。
在该模型中,我们通常会把输入数据X标记为a
[0]
。
而对于第一个隐藏层而言,我们会把输出数据标记为a
[1]
。
此外,由于该隐藏层中,有多个神经元,因此,从上到下我们一次标记为a
1
[1]
,a
2
[1]等。
在输出层,我们将其输出记作a
[2]
。具体表示见下图:
此外,对于上述网络结构而言,我们称其为一个
两层
的神经网络。(输入层不包含在内)
神经网络的前向传播计算
回顾一下之前的逻辑回归,其前向传播的计算模型如下:
转换为公式表示如下:
而对于一个包含隐层的神经网络而言呢?则是对每个神经元进行一次类似的操作:
假设一个神经网络的结构如下:
我们首先针对其第一个隐藏层神经元来看看其计算逻辑:
可以看出,其计算逻辑与之前逻辑回归的神经元相同,只是针对特定层及特定节点的w和b。
其中,对于a
i
[l]
而言,l表示它是在第l层,而i则表示它是该层的第i个节点,对于w和b而言,符号表示的含义相同。