模型表示
简单的神经网络表示
⎡⎣⎢x1x2x3⎤⎦⎥→[ ]→hθ(x)
[
x
1
x
2
x
3
]
→
[
]
→
h
θ
(
x
)
神经网络的输入是特征 x1,x2,x3 x 1 , x 2 , x 3 ,输出是假设函数的结果
在神经网络中,仍采用同样的逻辑函数 hθ(x)=11+e−θTx h θ ( x ) = 1 1 + e − θ T x
在神经网络中,也称逻辑函数为激励函数, θ θ 参数为权重。
![这里写图片描述](https://i-blog.csdnimg.cn/blog_migrate/2c44d0951d565c73791150cff17fb35f.png)
x0 x 0 为偏置单元,它的值总是等于1
上图中,输入节点Layer1称为输入层,输出假设函数结果的Layer3称为输出层,介于输入层与输出层之间的称为隐藏层。
位于隐藏层的节点(或神经元)称为激励单元。
⎡⎣⎢⎢⎢x0x1x2x3⎤⎦⎥⎥⎥→⎡⎣⎢⎢⎢a(2)1a(2)2a(2)3⎤⎦⎥⎥⎥→hθ(x)
[
x
0
x
1
x
2
x
3
]
→
[
a
1
(
2
)
a
2
(
2
)
a
3
(
2
)
]
→
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
i
(
j
)
=
"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)
a
1
(
2
)
=
g
(
Θ
10
(
1
)
x
0
+
Θ
11
(
1
)
x
1
+
Θ
12
(
1
)
x
2
+
Θ
13
(
1
)
x
3
)
a
2
(
2
)
=
g
(
Θ
20
(
1
)
x
0
+
Θ
21
(
1
)
x
1
+
Θ
22
(
1
)
x
2
+
Θ
23
(
1
)
x
3
)
a
3
(
2
)
=
g
(
Θ
30
(
1
)
x
0
+
Θ
31
(
1
)
x
1
+
Θ
32
(
1
)
x
2
+
Θ
33
(
1
)
x
3
)
h
Θ
(
x
)
=
a
1
(
3
)
=
g
(
Θ
10
(
2
)
a
0
(
2
)
+
Θ
11
(
2
)
a
1
(
2
)
+
Θ
12
(
2
)
a
2
(
2
)
+
Θ
13
(
2
)
a
3
(
2
)
)
假设在Layer j有 sj s j 个单元,Layer j+1有 sj+1 s j + 1 个单元,那么 Θ(j) Θ ( j ) 表示从第j层到第j+1层的权重矩阵,是一个 sj+1×(sj+1) s j + 1 × ( s j + 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
z
1
(
2
)
=
Θ
10
(
1
)
x
0
+
Θ
11
(
1
)
x
1
+
Θ
12
(
1
)
x
2
+
Θ
13
(
1
)
x
3
z
2
(
2
)
=
Θ
20
(
1
)
x
0
+
Θ
21
(
1
)
x
1
+
Θ
22
(
1
)
x
2
+
Θ
23
(
1
)
x
3
z
3
(
2
)
=
Θ
30
(
1
)
x
0
+
Θ
31
(
1
)
x
1
+
Θ
32
(
1
)
x
2
+
Θ
33
(
1
)
x
3
即,
![这里写图片描述](https://i-blog.csdnimg.cn/blog_migrate/b237691f9c655a53257983ad6842df91.png)
a(2)1=g(z(2)1)a(2)2=g(z(2)2)a(2)3=g(z(2)3)
a
1
(
2
)
=
g
(
z
1
(
2
)
)
a
2
(
2
)
=
g
(
z
2
(
2
)
)
a
3
(
2
)
=
g
(
z
3
(
2
)
)
x x 与的向量形式为
x=⎡⎣⎢⎢⎢x0x1⋯xn⎤⎦⎥⎥⎥,z(j)=⎡⎣⎢⎢⎢⎢⎢z(j)1z(j)2⋯z(j)n⎤⎦⎥⎥⎥⎥⎥
x
=
[
x
0
x
1
⋯
x
n
]
,
z
(
j
)
=
[
z
1
(
j
)
z
2
(
j
)
⋯
z
n
(
j
)
]
令 x=a(1) x = a ( 1 ) ,可以写出向量表示的等式 zj=Θ(j−1)a(j−1) z j = Θ ( j − 1 ) a ( j − 1 ) , Θ(j−1) Θ ( j − 1 ) 是 sj×(n+1) s j × ( n + 1 ) 的矩阵, a(j−1) a ( j − 1 ) 是 (n+1)×1 ( n + 1 ) × 1 的矩阵,得出 zj z j 是 sj×1 s j × 1 的矩阵, a(j)=g(z(j)) a ( j ) = g ( z ( j ) ) 把函数g作用到 z(j) z ( j ) 的每一个元素上。
在计算了 a(j) a ( j ) 后,增加偏置单元 a(j)0=1 a 0 ( j ) = 1 ,得到 zj+1=Θ(j)a(j) z j + 1 = Θ ( j ) a ( j ) ,进一步计算出最终结果
hΘ(x)=a(j+1)=g(z(j+1))
h
Θ
(
x
)
=
a
(
j
+
1
)
=
g
(
z
(
j
+
1
)
)
Example XNOR
AND:Θ(1)NOR:Θ(1)OR:Θ(1)=[−302020]=[10−20−20]=[−102020]
A
N
D
:
Θ
(
1
)
=
[
−
30
20
20
]
N
O
R
:
Θ
(
1
)
=
[
10
−
20
−
20
]
O
R
:
Θ
(
1
)
=
[
−
10
20
20
]
同或XNOR可以通过与AND、异或NOR、或OR组合得到,在神经网络Layer2计算AND和NOR,再通过Layer3输出层计算OR最终得到XNOR的输出。
⎡⎣⎢x0x1x2⎤⎦⎥→[a(2)1a(2)2]→[a(3)]→hΘ(x)
[
x
0
x
1
x
2
]
→
[
a
1
(
2
)
a
2
(
2
)
]
→
[
a
(
3
)
]
→
h
Θ
(
x
)
![这里写图片描述](https://i-blog.csdnimg.cn/blog_migrate/0359339d47424c42527cf10933580ff0.png)
神经网络多类别分类
当进行多类别分类时,使假设函数
hΘ(x)
h
Θ
(
x
)
的输出值为一个向量。
例如对有4种类别的分类,令