在一个神经网络里,我们将神经元模拟成一个逻辑单元,下面是一个最简单的情形:
黄色圆圈就相当于神经元的作用,左边是输入,右边是输出;输出是:
其中x0叫偏置单元 ,值总是为1.上面的那个函数在神经网络中也称为激励函数。是模型的参数,在神经网络里称为模型的权重。
神经网络其实就是这些不同的神经元组合在一起的集合:
:代表j层第i个单元
:权重矩阵,控制着第j层到j+1层映射的函数。
具体计算过程如下:
z(2)=Θ(1)x
a(2)=g(z(2))
还有:
h(x)= a(3)=g(z(3))
z(3)=Θ(2)a(2)
z表示输入的线性组合,就是g函数括号内的东西,a是计算激励之后的结果,Θ是参数矩阵。
这样,计算h(x)的过程也称为前向传播(forward propagation),因为我们从输入层的激励开始然后进行向前传播给隐藏层并计算,隐藏层再进行激励继续向前传播知道计算到输出层的激励。这种方法能够帮我们理解神经网络的原理和它为什么能够帮助我们学习非线性假设。
下面瞅一个多分类的问题:以计算机视觉中图片分类为例:
现在给出一副图片,要确定图片上的是什么,是行人还是车还是摩托车还是卡车,对于这个问题,我们可以建立一个具有四个输出单元的神经网络,也就是神经网络的输出是一个思维向量:
这和逻辑回归中的一对多方法是一样的,只不过现在有四个逻辑回归分类器,我们需要对每个分类器进行分类识别。用如下方法进行训练: