给定训练样本集 (x(i),y(i)) ,神经网络定义了一种参数为 W,b 的复杂非线性的假设 hW,b(x) ,来拟合数据。
最简单的神经网络是神经元,如下图:
这个神经元输入 x1,x2,x3 和一个 +1 截距(b表示),输出为 hW,b(x)=f(WTx)=f(∑3i=1Wixi+b) 。函数 f:R↦R 称为激活函数。常用的激活函数为sigmoid函数: f(z)=11+e−z , f′(z)=f(z)(1−f(z) ,而如此,单个神经元就直接是一个logistic regression。
其他常用的激活函数还有tanh函数: f(z)=tanh(z)=ez−e−zez+e−z , f′(z)=1−(f(z))2 ,它将sigmoid函数的值域扩展到了 [−1,1] ;以及最近研究发现的rectified linear函数: f(z)=max(0,z) ,其导数当 z≤0 时为0,其余为1。
以下是三个函数的图像:
Neural Network model
将多个神经元连接起来便成了神经网络,如下图的例子:
+1 称为偏置节点,截距项。最左边一层为输入层,最右层为输出层。中间层为隐藏层,因为不能在训练样本集中观测到他们的值。不包括偏置结点,以上神经网络拥有3个输入单元,3个隐藏单元和1个输出单元。
用 nl 来表示神经网络的层数,比如以上例子 nl=3 ;用 Ll 来表示第 l 层,比如以上例子输入层为
以上例子中,神经网络的参数为 (W,b)=(W(1),b(1),W(2),b(2)) , W(l)ij 表示第 l 层第
用
Forward Propagation
以上神经网络计算步骤如下:
a(2)1=f(W(1)11x1+W(1)12x2+W(1)13x3+b(1)1)
a(2)2=f(W(1)21x1+W(1)22x2+W(1)23x3+b(1)2)
a(2)3=f(W(1)31x1+W(1)32x2+W(1)33x3+b(1)3)
hW,b(x)=a(3)1=f(W(2)11a(2)1+W(2)12a(2)2+W(2)13a(2)3+b(2)1)
在上面等式中,通常用 z(l)i 表示 l 层第