本文最后更新于:2023年11月12日 晚上
NN Tutorial
1 Q1
1.1 (a)
1.1.1 (i)
超参数就是不可被学习的,需要人为设定的。调整好的超参数可以让模型收敛更快,学习效果更好,是深度学习中至关重要的一环。
1.1.2 (ii)
常用于处理图像的神经网络是卷积神经网络(Convolutional Neural Network CNN)。
1.1.3 (iii)
这一个过程叫做迁移学习(Transfer learning),使用预训练模型能够在更短的时间内获得更好的效果。
1.1.4 (iv)
处理序列数据,或者时间序列数据使用的是循环神经网络(Recurrent Neural Network RNN)
1.2 (b)
由图可知,这是一个input shape = 4 × 1 = 4\times 1 = 4 × 1 以及output shape = 2 × 1 = 2\times 1 = 2 × 1 的自组织映射网络。
对W W W 做列分块,有
W = [ W 1 W 2 ] W =
\begin{bmatrix}
W_1 & W_2
\end{bmatrix}
W = [ W 1 W 2 ]
首先计算欧式距离确定哪个神经元是更优的,当输入为X n ( 1 ) X_n(1) X n ( 1 ) 时
{ d 1 = [ x n ( 1 ) − W 1 ] T [ x n ( 1 ) − W 1 ] = 0.22 d 2 = [ x n ( 1 ) − W 2 ] T [ x n ( 1 ) − W 2 ] = 0.26 \begin{cases}
d_1 = [x_n(1) - W_1]^T[x_n(1) - W_1] = 0.22 \\
d_2 = [x_n(1) - W_2]^T[x_n(1) - W_2] = 0.26
\end{cases}
{ d 1 = [ x n ( 1 ) − W 1 ] T [ x n ( 1 ) − W 1 ] = 0 . 2 2 d 2 = [ x n ( 1 ) − W 2 ] T [ x n ( 1 ) − W 2 ] = 0 . 2 6
显然d 1 d_1 d 1 为更优的,则更新W 1 W_1 W 1 。
由权重更新的公式
W ( k + 1 ) = W ( k ) + η [ X − W ( k ) ] W(k+1) = W(k) + \eta [X-W(k)]
W ( k + 1 ) = W ( k ) + η [ X − W ( k ) ]
得到
W 1 ( k + 1 ) = [ 0.5 0.6 0.8 0.3 ] + 0.1 ( [ 0.2 0.3 0.8 0.1 ] − [ 0.5 0.6 0.8 0.3 ] ) = [ 0.47 0.57 0.8 0.28 ] W_1(k+1) =
\begin{bmatrix}
0.5 \\
0.6\\
0.8\\
0.3
\end{bmatrix}
+
0.1(
\begin{bmatrix}
0.2 \\
0.3\\
0.8\\
0.1
\end{bmatrix}-
\begin{bmatrix}
0.5 \\
0.6\\
0.8\\
0.3
\end{bmatrix})=
\begin{bmatrix}
0.47 \\
0.57\\
0.8\\
0.28
\end{bmatrix}
W 1 ( k + 1 ) = ⎣ ⎢ ⎢ ⎢ ⎡ 0 . 5 0 . 6 0 . 8 0 . 3 ⎦ ⎥ ⎥ ⎥ ⎤ + 0 . 1 ( ⎣ ⎢ ⎢ ⎢ ⎡ 0 . 2 0 . 3 0 . 8 0 . 1 ⎦ ⎥ ⎥ ⎥ ⎤ − ⎣ ⎢ ⎢ ⎢ ⎡ 0 . 5 0 . 6 0 . 8 0 . 3 ⎦ ⎥ ⎥ ⎥ ⎤ ) = ⎣ ⎢ ⎢ ⎢ ⎡ 0 . 4 7 0 . 5 7 0 . 8 0 . 2 8 ⎦ ⎥ ⎥ ⎥ ⎤
同样的,当输入为X n ( 2 ) X_n(2) X n ( 2 ) 时,两个神经元的欧式距离为
{ d 1 = [ x n ( 1 ) − W 1 ( k + 1 ) ] T [ x n ( 1 ) − W 1 ( k + 1 ) ] = 0.41 d 2 = [ x n ( 1 ) − W 2 ] T [ x n ( 1 ) − W 2 ] = 0.66 \begin{cases}
d_1 = [x_n(1) - W_1(k+1)]^T[x_n(1) - W_1(k+1)] = 0.41 \\
d_2 = [x_n(1) - W_2]^T[x_n(1) - W_2] = 0.66
\end{cases}
{ d 1 = [ x n ( 1 ) − W 1 ( k + 1 ) ] T [ x n ( 1 ) − W 1 ( k + 1 ) ] = 0 . 4 1 d 2 = [ x n ( 1 ) − W 2 ] T [ x n ( 1 ) − W 2 ] = 0 . 6 6
显然,d 1 d_1 d 1 仍然是更优的,采用同样的公式进行更新
W 1 ( k + 2 ) = [ 0.47 0.57 0.8 0.28 ] + 0.1 ( [ 0.6 0.9 0.9 0.8 ] − [ 0.47 0.57 0.8 0.28 ] ) = [ 0.483 0.603 0.81 0.332 ] W_1(k+2) =
\begin{bmatrix}
0.47 \\
0.57\\
0.8\\
0.28
\end{bmatrix}
+
0.1(
\begin{bmatrix}
0.6 \\
0.9\\
0.9\\
0.8
\end{bmatrix}-
\begin{bmatrix}
0.47 \\
0.57\\
0.8\\
0.28
\end{bmatrix})=
\begin{bmatrix}
0.483 \\
0.603\\
0.81\\
0.332
\end{bmatrix}
W 1 ( k + 2 ) = ⎣ ⎢ ⎢ ⎢ ⎡ 0 . 4 7 0 . 5 7 0 . 8 0 . 2 8 ⎦ ⎥ ⎥ ⎥ ⎤ + 0 . 1 ( ⎣ ⎢ ⎢ ⎢ ⎡ 0 . 6 0 . 9 0 . 9 0 . 8 ⎦ ⎥ ⎥ ⎥ ⎤ − ⎣ ⎢ ⎢ ⎢ ⎡ 0 . 4 7 0 . 5 7 0 . 8 0 . 2 8 ⎦ ⎥ ⎥ ⎥ ⎤ ) = ⎣ ⎢ ⎢ ⎢ ⎡ 0 . 4 8 3 0 . 6 0 3 0 . 8 1 0 . 3 3 2 ⎦ ⎥ ⎥ ⎥ ⎤
1.3 ©
由题可得,定义全连接神经网络的结构为
{ 5 个输入 8 个神经元 4 个神经元 2 个输出 \begin{cases}
5个输入 \\
8个神经元 \\
4个神经元 \\
2个输出
\end{cases}
⎩ ⎪ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎪ ⎧ 5 个 输 入 8 个 神 经 元 4 个 神 经 元 2 个 输 出
以及进行全连接
每一层的输入输出映射关系为
Y = W × X + b ⃗ Y = W\times X+ \vec b
Y = W × X + b
从输入到第一层,s h a p e W = 8 × 5 shape\ W=8\times 5 s h a p e W = 8 × 5 , dim b ⃗ = 8 \dim \vec b = 8 dim b = 8 ,
从第一层到第二层,s h a p e W = 4 × 8 shape\ W=4\times 8 s h a p e W = 4 × 8 , dim b ⃗ = 4 \dim \vec b = 4 dim b = 4 ,
从第二层到输出层,s h a p e W = 2 × 4 shape\ W=2\times 4 s h a p e W = 2 × 4 , dim b ⃗ = 2 \dim \vec b = 2 dim b = 2 ,
则总可学习参数为
40 + 8 + 32 + 4 + 8 + 2 = 94 40+8+32+4+8+2 = 94
4 0 + 8 + 3 2 + 4 + 8 + 2 = 9 4
2 Q2
2.1 (a)
2.1.1 (i)
注意此题第一小问计算需要用到第二小问给的条件(对,很离谱),注意到第二小问给了C 1 C_1 C 1 和C 2 C_2 C 2 的计算方法
由图可知,规则R i R_i R i 由前项规则A i A_i A i 和B i B_i B i 决定,并且题目给出所有的逻辑运算均由A N D AND A N D 逻辑组成。
则从规则R 1 R_1 R 1 开始查找接入的模糊集,它们分别是A 1 , B 1 A_1,B_1 A 1 , B 1 ,且逻辑计算过后的结果由C 2 C_2 C 2 输出,那么可以写出来第一条规则
R 1 R_1 R 1 : If X 1 X_1 X 1 is A 1 A_1 A 1 A N D AND A N D X 2 X_2 X 2 is B 1 B_1 B 1 , Then C 2 = 2 X 1 + 0.1 X 2 + 0.2 C_2 = 2X_1+0.1X_2+0.2 C 2 = 2 X 1 + 0 . 1 X 2 + 0 . 2
同理,我们可以根据图中系统的结构和C 1 C_1 C 1 , C 2 C_2 C 2 的计算方法,给出
R 2 R_2 R 2 : If X 1 X_1 X 1 is A 1 A_1 A 1 A N D AND A N D X 2 X_2 X 2 is B 2 B_2 B 2 , Then C 2 = 2 X 1 + 0.1 X 2 + 0.2 C_2 = 2X_1+0.1X_2+0.2 C 2 = 2 X 1 + 0 . 1 X 2 + 0 . 2
R 3 R_3 R 3 : If X 1 X_1 X 1 is A 1 A_1 A 1 A N D AND A N D X 2 X_2 X 2 is B 3 B_3 B 3 , Then C 1 = 0.2 X 1 2 + 3 X 2 + 2 C_1 = 0.2X_1^2+3X_2+2 C 1 = 0 . 2 X 1 2 + 3 X 2 + 2
R 4 R_4 R 4 : If X 1 X_1 X 1 is A 2 A_2 A 2 A N D AND A N D X 2 X_2 X 2 is B 2 B_2 B 2 , Then C 2 = 2 X 1 + 0.1 X 2 + 0.2 C_2 = 2X_1+0.1X_2+0.2 C 2 = 2 X 1 + 0 . 1 X 2 + 0 . 2
R 5 R_5 R 5 : If X 1 X_1 X 1 is A 3 A_3 A 3 A N D AND A N D X 2 X_2 X 2 is B 3 B_3 B 3 , Then C 2 = 2 X 1 + 0.1 X 2 + 0.2 C_2 = 2X_1+0.1X_2+0.2 C 2 = 2 X 1 + 0 . 1 X 2 + 0 . 2
R 6 R_6 R 6 : If X 1 X_1 X 1 is A 3 A_3 A 3 A N D AND A N D X 2 X_2 X 2 is B 1 B_1 B 1 , Then C 1 = 0.2 X 1 2 + 3 X 2 + 2 C_1 = 0.2X_1^2+3X_2+2 C 1 = 0 . 2 X 1 2 + 3 X 2 + 2
2.1.2 (ii)
由图Q 2 B Q2B Q 2 B 给出的模糊集的Membership function,不难得到,
X 1 X_1 X 1 对于Fuzzy set A 1 A_1 A 1 的Membership value为u A 1 ( X 1 ) = 0.5 u_{A_1}(X_1) = 0.5 u A 1 ( X 1 ) = 0 . 5 ,
对于A 2 A_2 A 2 的Membership value 为u A 2 ( X 1 ) = 0.25 u_{A_2}(X_1) = 0.25 u A 2 ( X 1 ) = 0 . 2 5
同理,可以得到
u B 2 ( X 2 ) = u B 3 ( X 2 ) = 0.4 u_{B_2}(X_2) = u_{B_3}(X_2) = 0.4 u B 2 ( X 2 ) = u B 3 ( X 2 ) = 0 . 4
现在进行模糊推理,
由刚才得到的Membership value可以知道,X 1 X_1 X 1 在不同程度上隶属于A 1 A_1 A 1 和A 2 A_2 A 2 ,X 2 X_2 X 2 在相同程度上隶属于B 2 B_2 B 2 ,B 3 B_3 B 3 ,则规则R 2 R_2 R 2 ,R 3 R_3 R 3 ,R 4 R_4 R 4 被激活。
题目要求使用 Max-Min 推理,则AND逻辑取最小值
{ R 2 输出 = min { u A 1 ( X 1 ) , U B 2 ( X 2 ) } = min { 0.5 , 0.4 } = 0.4 R 3 输出 = min { 0.5 , 0.4 } = 0.4 R 4 输出 = min { 0.25 , 0.4 } = 0.25 \begin{cases}
R_2输出 = \min\{u_{A_1}(X_1),U_{B_2}(X_2)\} = \min\{0.5,0.4\} = 0.4 \\
R_3输出 = \min\{0.5,0.4\} = 0.4 \\
R_4输出 = \min\{0.25,0.4\} = 0.25 \\
\end{cases}
⎩ ⎪ ⎪ ⎨ ⎪ ⎪ ⎧ R 2 输 出 = min { u A 1 ( X 1 ) , U B 2 ( X 2 ) } = min { 0 . 5 , 0 . 4 } = 0 . 4 R 3 输 出 = min { 0 . 5 , 0 . 4 } = 0 . 4 R 4 输 出 = min { 0 . 2 5 , 0 . 4 } = 0 . 2 5
又后项的输出为
{ C 1 = 2 × 0. 2 2 + 3 × 0.7 + 2 = 4.18 C 2 = 2 × 0.2 + 0.1 × 0.7 + 0.2 = 0.67 \begin{cases}
C_1 = 2\times 0.2^2+3\times 0.7+2 = 4.18 \\
C_2 = 2\times 0.2+0.1\times 0.7+0.2 = 0.67
\end{cases}
{ C 1 = 2 × 0 . 2 2 + 3 × 0 . 7 + 2 = 4 . 1 8 C 2 = 2 × 0 . 2 + 0 . 1 × 0 . 7 + 0 . 2 = 0 . 6 7
最后利用加权平均法进行去模糊化
Y = 0.4 × 0.67 + 0.4 × 4.18 + 0.25 × 0.67 0.4 + 0.4 + 0.25 = 2.01 Y = \frac{0.4\times 0.67+0.4\times 4.18+0.25\times 0.67}{0.4+0.4+0.25} = 2.01
Y = 0 . 4 + 0 . 4 + 0 . 2 5 0 . 4 × 0 . 6 7 + 0 . 4 × 4 . 1 8 + 0 . 2 5 × 0 . 6 7 = 2 . 0 1
2.2 (b)
题目或答案有问题,本质是考查Fuzzy set 基本运算
3 Q3
3.1 (a)
由观察法得到,Brown, Angela, Brian 三人的决策与Index和Price of copper之间是逻辑关系。做如下符号表示
Symbol
value
UP
1
DOWN
0
HOLD
0
SELL
1
那么原表格可以用数字表示为
Index
Price
Brown
Angela
Brian
0
0
0
0
0
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
通过以上真值表,可以观察到
{ B r o w n = P r i c e O R I n d e x A n g e l a = P r i c e A N D I n d e x B r i a n = P r i c e X O R I n d e x \begin{cases}
Brown = Price\ OR \ Index \\
Angela = Price\ AND \ Index \\
Brian = Price\ XOR \ Index
\end{cases}
⎩ ⎪ ⎪ ⎨ ⎪ ⎪ ⎧ B r o w n = P r i c e O R I n d e x A n g e l a = P r i c e A N D I n d e x B r i a n = P r i c e X O R I n d e x
首先,对于Brown的逻辑来说,他的数据可表示为
Y B r o w n = [ 0 1 1 1 ] X B r o w n = [ 0 0 0 1 1 0 1 1 ] Y_{Brown} = \begin{bmatrix}
0 \\
1 \\
1 \\
1 \\
\end{bmatrix}
X_{Brown} = \begin{bmatrix}
0 & 0 \\
0 & 1 \\
1 & 0\\
1 & 1
\end{bmatrix}
Y B r o w n = ⎣ ⎢ ⎢ ⎢ ⎡ 0 1 1 1 ⎦ ⎥ ⎥ ⎥ ⎤ X B r o w n = ⎣ ⎢ ⎢ ⎢ ⎡ 0 0 1 1 0 1 0 1 ⎦ ⎥ ⎥ ⎥ ⎤
令单层感知机
Y 1 = X B r o w n × [ 1 1 ] − 0.5 Y_1 = X_{Brown} \times \begin{bmatrix}
1 \\
1
\end{bmatrix}- 0.5
Y 1 = X B r o w n × [ 1 1 ] − 0 . 5
Y ^ 1 = ϵ ( Y 1 ) \hat Y_1 = \epsilon(Y_1)
Y ^ 1 = ϵ ( Y 1 )
where
ϵ ( t ) = { 0 t < 0 1 t ≥ 0 \epsilon(t) = \begin{cases}
0 \quad t<0 \\
1 \quad t\geq 0
\end{cases}
ϵ ( t ) = { 0 t < 0 1 t ≥ 0
对于Angela的逻辑来说,她的数据可表示为
Y A n g e l a = [ 0 1 1 1 ] X A n g e l a = [ 0 0 0 1 1 0 1 1 ] Y_{Angela} = \begin{bmatrix}
0 \\
1 \\
1 \\
1 \\
\end{bmatrix}
X_{Angela} = \begin{bmatrix}
0 & 0 \\
0 & 1 \\
1 & 0\\
1 & 1
\end{bmatrix}
Y A n g e l a = ⎣ ⎢ ⎢ ⎢ ⎡ 0 1 1 1 ⎦ ⎥ ⎥ ⎥ ⎤ X A n g e l a = ⎣ ⎢ ⎢ ⎢ ⎡ 0 0 1 1 0 1 0 1 ⎦ ⎥ ⎥ ⎥ ⎤
令单层感知机
Y 2 = X A n g e l a × [ 1 1 ] − 1.5 Y_2 = X_{Angela} \times \begin{bmatrix}
1 \\
1
\end{bmatrix}- 1.5
Y 2 = X A n g e l a × [ 1 1 ] − 1 . 5
Y ^ 2 = ϵ ( Y 2 ) \hat Y_2 = \epsilon(Y_2)
Y ^ 2 = ϵ ( Y 2 )
则以Y 1 Y_1 Y 1 ,Y 2 Y_2 Y 2 为核,ϵ ( t ) \epsilon(t) ϵ ( t ) 为激活函数的单层感知机可以拟合Brown 和 Angela的逻辑,但是不能拟合Brian的逻辑。
现证明XOR逻辑无法拟合
反证法:假设函数
y = w 1 x 1 + w 2 x 2 + b y = w_1x_1+w_2x_2+b
y = w 1 x 1 + w 2 x 2 + b
可以拟合XOR逻辑,
令x 1 x_1 x 1 为0,此时的输入可能为[ 0 , 0 ] [0,0] [ 0 , 0 ] 和[ 0 , 1 ] [0,1] [ 0 , 1 ] ,对应的输出为0 , 1 0,1 0 , 1 ,即随着x 2 x_2 x 2 增大,函数值增大,意味着
∂ y ∂ x 2 = w 2 > 0 \frac{\partial y}{\partial x_2} = w_2>0
∂ x 2 ∂ y = w 2 > 0
令x 1 x_1 x 1 为1,此时的输入可能为[ 1 , 0 ] [1,0] [ 1 , 0 ] ,[ 1 , 1 ] [1,1] [ 1 , 1 ] ,对应的输出为1 , 0 1,0 1 , 0 ,即随着x 2 x_2 x 2 增大,函数值减小,意味着
∂ y ∂ x 2 = w 2 < 0 \frac{\partial y}{\partial x_2} = w_2 <0
∂ x 2 ∂ y = w 2 < 0
此时矛盾,则函数不能拟合XOR逻辑。
Q . E . D . Q.E.D. Q . E . D .
综上,Brown和Angela的逻辑可以被单层感知机拟合,但Brian的逻辑不行。
3.2 (b)
现用矩阵形式表示每一层的映射关系。
设节点3输出为Y 3 Y_3 Y 3 ,节点4输出为Y 4 Y_4 Y 4 ,则有
[ Y 3 Y 4 ] = ϕ { [ w 13 w 23 w 14 w 24 ] × [ x 1 x 2 ] } \begin{bmatrix}
Y_3 \\
Y_4
\end{bmatrix}= \phi\{
\begin{bmatrix}
w_{13} & w_{23} \\
w_{14} & w_{24}
\end{bmatrix}\times
\begin{bmatrix}
x_1 \\
x_2
\end{bmatrix}
\}
[ Y 3 Y 4 ] = ϕ { [ w 1 3 w 1 4 w 2 3 w 2 4 ] × [ x 1 x 2 ] }
设节点5,6的输出为Y 5 , Y 6 Y_5,Y_6 Y 5 , Y 6 ,则有
[ Y 5 Y 6 ] = ϕ { [ w 35 w 45 w 36 w 46 ] × [ Y 3 Y 4 ] } \begin{bmatrix}
Y_5 \\
Y_6
\end{bmatrix}= \phi\{
\begin{bmatrix}
w_{35} & w_{45} \\
w_{36} & w_{46}
\end{bmatrix}\times
\begin{bmatrix}
Y_3 \\
Y_4
\end{bmatrix}
\}
[ Y 5 Y 6 ] = ϕ { [ w 3 5 w 3 6 w 4 5 w 4 6 ] × [ Y 3 Y 4 ] }
现对给出的输入数据进行前馈运算
P 1 = [ 0 , 0 ] P_1 = [0,0] P 1 = [ 0 , 0 ] 时,
[ Y 3 Y 4 ] = ϕ { [ − 2 3 4 − 1 ] × [ 0 0 ] } = [ 1 1 ] \begin{bmatrix}
Y_3 \\
Y_4
\end{bmatrix}= \phi\{
\begin{bmatrix}
-2 & 3 \\
4 & -1
\end{bmatrix}\times
\begin{bmatrix}
0 \\
0
\end{bmatrix}
\} =
\begin{bmatrix}
1 \\
1
\end{bmatrix}
[ Y 3 Y 4 ] = ϕ { [ − 2 4 3 − 1 ] × [ 0 0 ] } = [ 1 1 ]
[ Y 5 Y 6 ] = ϕ { [ 1 − 1 − 1 1 ] × [ 0 0 ] } = [ 1 1 ] \begin{bmatrix}
Y_5 \\
Y_6
\end{bmatrix}= \phi\{
\begin{bmatrix}
1 & -1 \\
-1 & 1
\end{bmatrix}\times
\begin{bmatrix}
0 \\
0
\end{bmatrix}
\} =
\begin{bmatrix}
1 \\
1
\end{bmatrix}
[ Y 5 Y 6 ] = ϕ { [ 1 − 1 − 1 1 ] × [ 0 0 ] } = [ 1 1 ]
输出为[ 1 , 1 ] [1,1] [ 1 , 1 ] .
P 2 = [ 1 , 0 ] P_2 = [1,0] P 2 = [ 1 , 0 ] 时,
[ Y 3 Y 4 ] = ϕ { [ − 2 3 4 − 1 ] × [ 1 0 ] } = [ 0 1 ] \begin{bmatrix}
Y_3 \\
Y_4
\end{bmatrix}= \phi\{
\begin{bmatrix}
-2 & 3 \\
4 & -1
\end{bmatrix}\times
\begin{bmatrix}
1 \\
0
\end{bmatrix}
\} =
\begin{bmatrix}
0 \\
1
\end{bmatrix}
[ Y 3 Y 4 ] = ϕ { [ − 2 4 3 − 1 ] × [ 1 0 ] } = [ 0 1 ]
[ Y 5 Y 6 ] = ϕ { [ 1 − 1 − 1 1 ] × [ 0 1 ] } = [ 0 1 ] \begin{bmatrix}
Y_5 \\
Y_6
\end{bmatrix}= \phi\{
\begin{bmatrix}
1 & -1 \\
-1 & 1
\end{bmatrix}\times
\begin{bmatrix}
0 \\
1
\end{bmatrix}
\} =
\begin{bmatrix}
0 \\
1
\end{bmatrix}
[ Y 5 Y 6 ] = ϕ { [ 1 − 1 − 1 1 ] × [ 0 1 ] } = [ 0 1 ]
输出为[ 0 , 1 ] [0,1] [ 0 , 1 ]
P 3 = [ 0 , 1 ] P_3 = [0,1] P 3 = [ 0 , 1 ] 时,
[ Y 3 Y 4 ] = ϕ { [ − 2 3 4 − 1 ] × [ 0 1 ] } = [ 1 0 ] \begin{bmatrix}
Y_3 \\
Y_4
\end{bmatrix}= \phi\{
\begin{bmatrix}
-2 & 3 \\
4 & -1
\end{bmatrix}\times
\begin{bmatrix}
0 \\
1
\end{bmatrix}
\} =
\begin{bmatrix}
1 \\
0
\end{bmatrix}
[ Y 3 Y 4 ] = ϕ { [ − 2 4 3 − 1 ] × [ 0 1 ] } = [ 1 0 ]
[ Y 5 Y 6 ] = ϕ { [ 1 − 1 − 1 1 ] × [ 1 0 ] } = [ 1 0 ] \begin{bmatrix}
Y_5 \\
Y_6
\end{bmatrix}= \phi\{
\begin{bmatrix}
1 & -1 \\
-1 & 1
\end{bmatrix}\times
\begin{bmatrix}
1 \\
0
\end{bmatrix}
\} =
\begin{bmatrix}
1 \\
0
\end{bmatrix}
[ Y 5 Y 6 ] = ϕ { [ 1 − 1 − 1 1 ] × [ 1 0 ] } = [ 1 0 ]
输出为[ 1 , 0 ] [1,0] [ 1 , 0 ]
P 4 = [ 1 , 1 ] P_4 = [1,1] P 4 = [ 1 , 1 ] 时,
[ Y 3 Y 4 ] = ϕ { [ − 2 3 4 − 1 ] × [ 1 1 ] } = [ 1 1 ] \begin{bmatrix}
Y_3 \\
Y_4
\end{bmatrix}= \phi\{
\begin{bmatrix}
-2 & 3 \\
4 & -1
\end{bmatrix}\times
\begin{bmatrix}
1 \\
1
\end{bmatrix}
\} =
\begin{bmatrix}
1 \\
1
\end{bmatrix}
[ Y 3 Y 4 ] = ϕ { [ − 2 4 3 − 1 ] × [ 1 1 ] } = [ 1 1 ]
[ Y 5 Y 6 ] = ϕ { [ 1 − 1 − 1 1 ] × [ 1 1 ] } = [ 1 1 ] \begin{bmatrix}
Y_5 \\
Y_6
\end{bmatrix}= \phi\{
\begin{bmatrix}
1 & -1 \\
-1 & 1
\end{bmatrix}\times
\begin{bmatrix}
1 \\
1
\end{bmatrix}
\} =
\begin{bmatrix}
1 \\
1
\end{bmatrix}
[ Y 5 Y 6 ] = ϕ { [ 1 − 1 − 1 1 ] × [ 1 1 ] } = [ 1 1 ]
输出为[ 1 , 1 ] [1,1] [ 1 , 1 ]
3.3 ©
深度学习是一种机器学习算法,它使用一层层级联的,非线性处理单元来做特征提取和映射。每一层都把上一层的输出当作输入。它可以是监督学习,也可以是非监督学习。它使用梯度下降的形式,通过反向传播算法进行训练。
其中一个例子是卷积神经网络,它可以被用来做图像分类任务。
4 Q4
4.1 (a)
由题给的结构,可得
Y 1 ( t + 1 ) = f { X ( t ) × W 12 + Y ( t ) ∘ [ 0.5 0.2 ] } Y_1(t+1) = f\{X(t)\times W_{12} + Y(t)\circ
\begin{bmatrix}
0.5 & 0.2
\end{bmatrix}\}
Y 1 ( t + 1 ) = f { X ( t ) × W 1 2 + Y ( t ) ∘ [ 0 . 5 0 . 2 ] }
Y ( t + 1 ) = f { Y 1 ( t + 1 ) × [ 0.1 0.4 ] } Y(t+1) = f\{Y_1(t+1)\times
\begin{bmatrix}
0.1 \\
0.4
\end{bmatrix}\}
Y ( t + 1 ) = f { Y 1 ( t + 1 ) × [ 0 . 1 0 . 4 ] }
设系统初始状态松弛,那么在给定输入x ( 1 ) = [ 1.0 , 0.5 , 0.1 ] x(1) = [1.0,0.5,0.1] x ( 1 ) = [ 1 . 0 , 0 . 5 , 0 . 1 ] 时,得到
Y 1 ( 1 ) = f { [ 1.0 0.5 1.0 ] × [ 0.4 0.1 − 0.6 0.6 2.0 1.0 ] + [ 0 0 ] } = [ 0.5744 0.6225 ] Y_1(1) = f\{
\begin{bmatrix}
1.0 & 0.5 & 1.0
\end{bmatrix}\times
\begin{bmatrix}
0.4 & 0.1 \\
-0.6 & 0.6 \\
2.0 & 1.0
\end{bmatrix}+
\begin{bmatrix}
0 & 0
\end{bmatrix}
\}=
\begin{bmatrix}
0.5744 & 0.6225
\end{bmatrix}
Y 1 ( 1 ) = f { [ 1 . 0 0 . 5 1 . 0 ] × ⎣ ⎢ ⎡ 0 . 4 − 0 . 6 2 . 0 0 . 1 0 . 6 1 . 0 ⎦ ⎥ ⎤ + [ 0 0 ] } = [ 0 . 5 7 4 4 0 . 6 2 2 5 ]
Y ( 1 ) = f { [ 0.5744 0.6255 ] × [ 0.1 0.4 ] } = 0.6128 Y(1) = f\{
\begin{bmatrix}
0.5744 & 0.6255
\end{bmatrix}\times
\begin{bmatrix}
0.1 \\
0.4
\end{bmatrix}\} =
0.6128
Y ( 1 ) = f { [ 0 . 5 7 4 4 0 . 6 2 5 5 ] × [ 0 . 1 0 . 4 ] } = 0 . 6 1 2 8
第二次迭代时,x ( 2 ) = [ 1.0 , 2.0 , 0.5 ] x(2) = [1.0,2.0,0.5] x ( 2 ) = [ 1 . 0 , 2 . 0 , 0 . 5 ] ,得到
Y 1 ( 2 ) = f { [ 1.0 2.0 0.5 ] × [ 0.4 0.1 − 0.6 0.6 2.0 1.0 ] + [ 0.5744 0.6255 ] ∘ [ 0.5 0.2 ] } = [ 0.6194 0.8726 ] Y_1(2) = f\{
\begin{bmatrix}
1.0 & 2.0 & 0.5
\end{bmatrix}\times
\begin{bmatrix}
0.4 & 0.1 \\
-0.6 & 0.6 \\
2.0 & 1.0
\end{bmatrix}+
\begin{bmatrix}
0.5744 & 0.6255
\end{bmatrix}\circ
\begin{bmatrix}
0.5 & 0.2
\end{bmatrix}
\}=
\begin{bmatrix}
0.6194 & 0.8726
\end{bmatrix}
Y 1 ( 2 ) = f { [ 1 . 0 2 . 0 0 . 5 ] × ⎣ ⎢ ⎡ 0 . 4 − 0 . 6 2 . 0 0 . 1 0 . 6 1 . 0 ⎦ ⎥ ⎤ + [ 0 . 5 7 4 4 0 . 6 2 5 5 ] ∘ [ 0 . 5 0 . 2 ] } = [ 0 . 6 1 9 4 0 . 8 7 2 6 ]
Y ( 2 ) = f { [ 0.6194 0.8726 ] × [ 0.1 0.4 ] } = 0.8220 Y(2) = f\{
\begin{bmatrix}
0.6194 & 0.8726
\end{bmatrix}\times
\begin{bmatrix}
0.1 \\
0.4
\end{bmatrix}\} =
0.8220
Y ( 2 ) = f { [ 0 . 6 1 9 4 0 . 8 7 2 6 ] × [ 0 . 1 0 . 4 ] } = 0 . 8 2 2 0
注:本题答案错把输出的激活函数当成隐藏层的激活函数了,输出的激活函数是f ( x ) = 2 x f(x) = 2x f ( x ) = 2 x
4.2 (b)
对于时间序列数据来说,输入神经网络的是时间采样数据x [ t ] , x [ t − 1 ] , x [ t − 2 ] , . . . x[t],x[t-1],x[t-2],... x [ t ] , x [ t − 1 ] , x [ t − 2 ] , . . . ,训练和普通的神经网络一样,使用反向传播算法,网络的预测是数据的后一个时刻。
4.3 ©
两者的区别在于是否使用有目标的数据,或者说有标签的数据,监督学习是要使用有标签的数据的,而无监督学习不使用,一般是聚类或者分类数据。
4.4 (d)
本题可通过把真值表画在直角坐标系下来说明数据是否线性可分,也可以用以下证明作为补充。
反证法:假设函数
y = w 1 x 1 + w 2 x 2 + b y = w_1x_1+w_2x_2+b
y = w 1 x 1 + w 2 x 2 + b
可以拟合XOR逻辑,
令x 1 x_1 x 1 为0,此时的输入可能为[ 0 , 0 ] [0,0] [ 0 , 0 ] 和[ 0 , 1 ] [0,1] [ 0 , 1 ] ,对应的输出为0 , 1 0,1 0 , 1 ,即随着x 2 x_2 x 2 增大,函数值增大,意味着
∂ y ∂ x 2 = w 2 > 0 \frac{\partial y}{\partial x_2} = w_2>0
∂ x 2 ∂ y = w 2 > 0
令x 1 x_1 x 1 为1,此时的输入可能为[ 1 , 0 ] [1,0] [ 1 , 0 ] ,[ 1 , 1 ] [1,1] [ 1 , 1 ] ,对应的输出为1 , 0 1,0 1 , 0 ,即随着x 2 x_2 x 2 增大,函数值减小,意味着
∂ y ∂ x 2 = w 2 < 0 \frac{\partial y}{\partial x_2} = w_2 <0
∂ x 2 ∂ y = w 2 < 0
此时矛盾,则函数不能拟合XOR逻辑。
Q . E . D . Q.E.D. Q . E . D .
5 Q5
5.1 (a)
由题知输入是一个8维的数据,然后要映射到隐藏层的5维空间,那么
Y 1 5 × 1 = W 5 × 8 × X 8 × 1 + b ⃗ 1 Y_{1\ 5\times 1} = W_{5\times 8}\times X_{8\times 1} +\vec b_1
Y 1 5 × 1 = W 5 × 8 × X 8 × 1 + b 1
得到输入映射到隐藏的权重矩阵大小是5 × 8 5\times 8 5 × 8
又隐藏层要映射到输出,输出为一个常量,则
y = W 1 × 5 × Y 1 5 × 1 + b ⃗ 2 y = W_{1\times 5}\times Y_{1\ 5\times 1} +\vec b_2
y = W 1 × 5 × Y 1 5 × 1 + b 2
所以从隐藏层映射到输出的权重矩阵大小为1 × 5 1\times 5 1 × 5 .
5.2 (b)
对于此单层神经网络,有
y = f { W × X } = 3 × { [ 4 5 6 ] × [ 1 2 3 ] } = 96 \begin{aligned}
y &= f\{W \times X\} \\
&= 3\times\{
\begin{bmatrix}
4 & 5 & 6
\end{bmatrix}\times
\begin{bmatrix}
1 \\
2 \\
3
\end{bmatrix}\}=96
\end{aligned}
y = f { W × X } = 3 × { [ 4 5 6 ] × ⎣ ⎢ ⎡ 1 2 3 ⎦ ⎥ ⎤ } = 9 6
5.3 ©
哪些步骤可以用来防止神经网络过拟合
可以使用验证数据集,在验证集误差增加的时候停止训练
使用预先设定好的训练轮数
使用预先设定好的误差阈值
5.4 (d)
本题答案或题目错误,答案使用的计算是隐藏层反馈,但题给的结构是到了输出再反馈。本质考查部分反馈神经网络的输入输出的计算,在前面有类似的题。
6 Q6
6.1 (a)
由题目中的结构列些传递关系
{ v 1 = w 11 x 1 + w 12 x 2 + w 10 v 2 = w 21 x 1 + w 22 x 2 + w 20 Y = w 1 v 1 + w 2 v 2 + w 0 \begin{cases}
v_1 = w_{11}x_1+w_{12}x_2+w_{10} \\
v_2 = w_{21}x_1+w_{22}x_2+w_{20}\\
Y = w_1v_1+w_2v_2+w_0
\end{cases}
⎩ ⎪ ⎪ ⎨ ⎪ ⎪ ⎧ v 1 = w 1 1 x 1 + w 1 2 x 2 + w 1 0 v 2 = w 2 1 x 1 + w 2 2 x 2 + w 2 0 Y = w 1 v 1 + w 2 v 2 + w 0
矩阵为
V = f { [ − 0.6 1.9 0.5 − 0.7 ] × X + [ 0.4 − 1.2 ] } V = f\{
\begin{bmatrix}
-0.6 & 1.9 \\
0.5 & -0.7
\end{bmatrix}\times
X+
\begin{bmatrix}
0.4 \\
-1.2
\end{bmatrix}\}
V = f { [ − 0 . 6 0 . 5 1 . 9 − 0 . 7 ] × X + [ 0 . 4 − 1 . 2 ] }
Y = f { [ − 3.5 0.5 ] × V + 1 } Y = f\{
\begin{bmatrix}
-3.5 & 0.5
\end{bmatrix}\times
V+1 \}
Y = f { [ − 3 . 5 0 . 5 ] × V + 1 }
所以题给神经网络与答案计算所使用的神经网络不是同一个,此题错误。
6.2 (b)
隐藏层给予神经网络对非线性数据建模的能力。
6.3 ©
训练集是由输入与对应输出匹配起来的许多对数据。每一对数据代表着神经网络应该对一个特定的输入有怎样的响应。网络被训练来使其对训练集每一个输入都有正确的输出。使用训练集的算法叫做监督学习算法。
当网络对输入有错误的响应的时候,误差就被用来调整网络的权重,使得下一轮学习的时候误差更小,这一过程不断重复,利用训练集中的数据使得误差最终变的充分地小。
6.4 (d)
在开发这个系统之前,银行应该负责提供数据,即银行应该有充足数量的有标签的数据来训练模型。这些数据可能包括过去用户的信用度信息,比如信用评分,付款历史和其它相关的财务数据。
其中一个问题就是收集和整理数据是很耗费时间的,另外手动做数据标注也是要消耗很多劳力的。另外,可能存在收集和使用个人财务数据的隐私问题
另一个问题是数据的质量,为了让模型的性能更好,数据应该是具有代表性的,且噪声应该尽可能低。如果数据有偏差或者包含错误,模型就无法准确评估客户的信誉度。