让我们把我们所学到的知识汇集成一个算法,让你的神经网络做出推断或预测,这将是一种叫做前向传播的算法。
将使用一个激励的例子,手写数字识别,为了简单起见,我们只是要区分手写的数字0和1,所以这只是一个二进制分类问题,我们要输入图像并分类,这是数字0还是数字1?对于图片的演示,用一个八乘八的图像,这个网格或矩阵是八乘八还是六十四像素的强度值,其中255表示一个明亮的白色像素,0表示黑色像素,不同的数字是不同深浅的灰色在黑色和白色之间,给定这64个输入特性,我们将使用一个有两个隐藏层的神经网络,其中第一个隐藏层有25个神经元或25个单元,第二层隐层有15个神经元或15个单元,最后输出层输出,这是一对零的可能性有多大,所以让我们逐步通过计算的序列,神经网络将需要从输入X这个8乘8或64个数字到预测概率a3,第一个计算是从X到1,这就是第一层或第一层隐藏层的作用,它对上标方括号进行计算,25代表这个隐层有25个单元,所以参数从W1到W25以及b1到b25,但也可以在这里写一个,因为按照惯例,零层的激活,即零等于输入特征值X。
所以让我们计算一个1,下一步是计算一个2,看第二层隐藏,然后他进行这个计算,其中二是一的函数,并计算出以下的式子,注意第二层有15个神经元,所以15个单位,这就是为什么这里的参数从W1到W15,B1到B15。
最后一步是计算三,我们使用一个非常相似的计算来做到这一点,只是现在是第三层,输出层只有一个单元,所以这里只有一个输出所以3只是一个标量,你可以选择下标1,把它设为0.5得出一个二进制分类标签。
计算序列首先取X,然后计算一个1,然后计算出一个2,然后计算出一个3,也是神经网络的输出,所以也可以写成f(x),我们用f(x)表示线性回归的输出或逻辑回归,所以说我们也可以用f(x)将神经网络计算的函数表示为x的函数,因为这个计算是从左到右的,从X开始就算一个一,然后一个二一个三,这种算法也称为前向传播。因为你传播神经元的激活或者你是在从左到右的前进方向上进行这些计算,这与另一种算法形成鲜明对比,称为反向传播,是用来学习的。
这种类型的神经网络架构,最初你有更多隐藏的单元,然后隐藏单元的数量随着你越来越接近输出层而减少,在选择神经网络架构时,这也是一个非常典型的选择。