模型表示
简单的神经网络表示
⎡⎣⎢x1x2x3⎤⎦⎥→[ ]→hθ(x)
神经网络的输入是特征
x1,x2,x3
,输出是假设函数的结果
在神经网络中,仍采用同样的逻辑函数
hθ(x)=11+e−θTx
在神经网络中,也称逻辑函数为激励函数,
θ
参数为权重。
x0
为偏置单元,它的值总是等于1
上图中,输入节点Layer1称为输入层,输出假设函数结果的Layer3称为输出层,介于输入层与输出层之间的称为隐藏层。
位于隐藏层的节点(或神经元)称为激励单元。
⎡⎣⎢⎢⎢x0x1x2x3⎤⎦⎥⎥⎥→⎡⎣⎢⎢⎢a(2)1a(2)2a(2)3⎤⎦⎥⎥⎥→hθ(x)
a(j)i="activation" of unit i in layer jΘ(j)=matrix of weights controlling function mapping from layer j to layer j+1
a(2)1a(2)2a(2)3hΘ(x)=a(3)1=g(Θ(1)10x0+Θ(1)11x1+Θ(1)12x2+Θ(1)13x3)=g(Θ(1)20x0+Θ(1)21x1+Θ(1)22x2+Θ(1)23x3)=g(Θ(1)30x0+Θ(1)31x1+Θ(1)32x2+Θ(1)33x3)=g(Θ(2)10a(2)0+Θ(2)11a(2)1+Θ(2)12a(2)2+Θ(2)13a(2)3)
假设在Layer j有
sj
个单元,Layer j+1有
sj+1
个单元,那么
Θ(j)
表示从第j层到第j+1层的权重矩阵,是一个
sj+1×(sj+1)
的矩阵
向量化计算
令
z(2)1z(2)2z(2)3=Θ(1)10x0+Θ(1)11x1+Θ(1)12x2+Θ(1)13x3=Θ(1)20x0+Θ(1)21x1+Θ(1)22x2+Θ(1)23x3=Θ(1)30x0+Θ(1)31x1+Θ(1)32x2+Θ(1)33x3
即,
,得到如下表示
a(2)1=g(z(2)1)a(2)2=g(z(2)2)a(2)3=g(z(2)3)
x
与
zj
的向量形式为
x=⎡⎣⎢⎢⎢x0x1⋯xn⎤⎦⎥⎥⎥,z(j)=⎡⎣⎢⎢⎢⎢⎢z(j)1z(j)2⋯z(j)n⎤⎦⎥⎥⎥⎥⎥
令
x=a(1)
,可以写出向量表示的等式
zj=Θ(j−1)a(j−1)
,
Θ(j−1)
是
sj×(n+1)
的矩阵,
a(j−1)
是
(n+1)×1
的矩阵,得出
zj
是
sj×1
的矩阵,
a(j)=g(z(j))
把函数g作用到
z(j)
的每一个元素上。
在计算了
a(j)
后,增加偏置单元
a(j)0=1
,得到
zj+1=Θ(j)a(j)
,进一步计算出最终结果
hΘ(x)=a(j+1)=g(z(j+1))
Example XNOR
AND:Θ(1)NOR:Θ(1)OR:Θ(1)=[−302020]=[10−20−20]=[−102020]
同或XNOR可以通过与AND、异或NOR、或OR组合得到,在神经网络Layer2计算AND和NOR,再通过Layer3输出层计算OR最终得到XNOR的输出。
⎡⎣⎢x0x1x2⎤⎦⎥→[a(2)1a(2)2]→[a(3)]→hΘ(x)
神经网络多类别分类
当进行多类别分类时,使假设函数
hΘ(x)
的输出值为一个向量。
例如对有4种类别的分类,令