神经网络模型建立在很多神经元之上,每一个神经元又是一个个学习模型。这些神经元
(也叫激活单元,activation unit)采纳一些特征作为输出,并且根据本身的模型提供一个输
出。下图是一个以逻辑回归模型作为自身学习模型的神经元示例,在神经网络中,参数又可
被成为权重(weight)。
我们设计出了类似于神经元的神经网络,效果如下:
其中?1, ?2, ?3是输入单元(input units),我们将原始数据输入给它们。
?1, ?2, ?3是中间单元,它们负责将数据进行处理,然后呈递到下一层。
最后是输出单元,它负责计算ℎ?(?)。
神经网络模型是许多逻辑单元按照不同层级组织起来的网络,每一层的输出变量都是下
一层的输入变量。下图为一个3 层的神经网络,第一层成为输入层(Input Layer),最后一
层称为输出层(Output Layer),中间一层成为隐藏层(Hidden Layers)。我们为每一层都增
加一个偏差单位(bias unit):
下面引入一些标记法来帮助描述模型:
代表第? 层的第 ? 个激活单元。?(?)代表从第 ? 层映射到第? + 1 层时的权重的矩
阵,例如?(1)代表从第一层映射到第二层的权重的矩阵。其尺寸为:以第 ? + 1层的激活单
元数量为行数,以第 ? 层的激活单元数加一为列数的矩阵。例如:上图所示的神经网络中
?(1)的尺寸为 3*4。
对于上图所示的模型,激活单元和输出分别表达为:
上面进行的讨论中只是将特征矩阵中的一行(一个训练实例)喂给了神经网络,我们需
要将整个训练集都喂给我们的神经网络算法来学习模型。
我们可以知道:每一个?都是由上一层所有的?和每一个?所对应的Θ决定的。
(我们把这样从左到右的算法称为前向传播算法( FORWARD PROPAGATION ))
把?, ?, ? 分别用矩阵表示,我们可以得到? ⋅ ? = ? :