【数据挖掘导论】HW3

Exercise 1

在这里插入图片描述
Answer:
在这里插入图片描述

  1. 证明:

    d y = σ ′ ( W x ) ⨀ ( W d x ) = d i a g ( σ ′ ( W x ) ) W d x ) dy=\sigma'(Wx)\bigodot(Wdx)=diag(\sigma'(Wx))Wdx) dy=σ(Wx)(Wdx)=diag(σ(Wx))Wdx) ⨀ \bigodot 表示尺寸相同的矩阵逐元素相乘

    对照导数与微分的联系,可得:

    ∂ y ∂ x = ( d i a g ( σ ′ ( W x ) ) W ) T = W T d i a g ( σ ′ ( W x ) ) \frac{\partial y}{\partial x}=(diag(\sigma'(Wx))W)^T=W^Tdiag(\sigma'(Wx)) xy=(diag(σ(Wx))W)T=WTdiag(σ(Wx))

    Jacobi矩阵: ∂ y ∂ x T = d i a g ( σ ′ ( W x ) ) W ∈ R n × d \frac{\partial y}{\partial x^T}=diag(\sigma'(Wx))W\in R^{n\times d} xTy=diag(σ(Wx))WRn×d
    d i a g ( σ ′ ( W x ) ) = [ ( W x ) 1 0 ⋯ 0 0 ( W x ) 2 ⋯ 0 ⋮ ⋮ ⋱ ⋮ 0 0 ⋯ ( W x ) n ] diag(\sigma'(Wx))= \left[ \begin{matrix} (Wx)_{1} & 0 & \cdots & 0\\ 0 & (Wx)_{2} & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & (Wx)_{n} \end{matrix} \right] diag(σ(Wx))=(Wx)1000(Wx)2000(Wx)n

  2. 证明:

    由于 h t h_t ht的递推性, h t h_t ht与所有 h i , i = 1 , … , t h_i,i=1,\dots,t hi,i=1,,t均有联系,所以 ∂ h t ∂ W = ∂ h t ∂ h t ∂ h t ∂ W + ∂ h t ∂ h t − 1 ∂ h t − 1 ∂ W + ⋯ + ∂ h t ∂ h 1 ∂ h 1 ∂ W = ∑ k = 1 t ∂ h t ∂ h k ∂ h k ∂ W \frac{\partial h_t}{\partial W}=\frac{\partial h_t}{\partial h_t}\frac{\partial h_t}{\partial W}+\frac{\partial h_t}{\partial h_{t-1}}\frac{\partial h_{t-1}}{\partial W}+\dots+\frac{\partial h_t}{\partial h_1}\frac{\partial h_1}{\partial W}=\sum_{k=1}^t\frac{\partial h_t}{\partial h_k}\frac{\partial h_k}{\partial W} Wht=hthtWht+ht1htWht1++h1htWh1=k=1thkhtWhk

    根据链式法则, ∂ L ∂ W = ∑ t = 0 T ∂ L t ∂ W = ∑ t = 0 T ∂ L t ∂ h t ∂ h t ∂ W = ∑ t = 0 T ∂ L t ∂ h t ∑ k = 1 t ∂ h t ∂ h k ∂ h k ∂ W = ∑ t = 0 T ∑ k = 1 t ∂ L t ∂ h t ∂ h t ∂ h k ∂ h k ∂ W \frac{\partial L}{\partial W}=\sum_{t=0}^T \frac{\partial L_t}{\partial W}=\sum_{t=0}^T\frac{\partial L_t}{\partial h_t}\frac{\partial h_t}{\partial W}=\sum_{t=0}^T\frac{\partial L_t}{\partial h_t}\sum_{k=1}^t\frac{\partial h_t}{\partial h_k}\frac{\partial h_k}{\partial W}=\sum_{t=0}^T\sum_{k=1}^t\frac{\partial L_t}{\partial h_t}\frac{\partial h_t}{\partial h_k}\frac{\partial h_k}{\partial W} WL=t=0TWLt=t=0ThtLtWht=t=0ThtLtk=1thkhtWhk=t=0Tk=1thtLthkhtWhk

Exercise 2

在这里插入图片描述在这里插入图片描述

Answer:

  1. ∂ L ∂ W = ∑ t = 0 3 ∑ k = 1 t ∂ L t ∂ h t ∂ h t ∂ h k ∂ h k ∂ W = ∂ L 1 ∂ h 1 ∂ h 1 ∂ h 1 ∂ h 1 ∂ W + ∂ L 2 ∂ h 2 ∂ h 2 ∂ h 1 ∂ h 1 ∂ W + ∂ L 2 ∂ h 2 ∂ h 2 ∂ h 2 ∂ h 2 ∂ W + ∂ L 3 ∂ h 3 ∂ h 3 ∂ h 1 ∂ h 1 ∂ W + ∂ L 3 ∂ h 3 ∂ h 3 ∂ h 2 ∂ h 2 ∂ W + ∂ L 3 ∂ h 3 ∂ h 3 ∂ h 3 ∂ h 3 ∂ W \frac{\partial L}{\partial W}=\sum_{t=0}^3\sum_{k=1}^t\frac{\partial L_t}{\partial h_t}\frac{\partial h_t}{\partial h_k}\frac{\partial h_k}{\partial W}=\frac{\partial L_1}{\partial h_1}\frac{\partial h_1}{\partial h_1}\frac{\partial h_1}{\partial W}+\frac{\partial L_2}{\partial h_2}\frac{\partial h_2}{\partial h_1}\frac{\partial h_1}{\partial W}+\frac{\partial L_2}{\partial h_2}\frac{\partial h_2}{\partial h_2}\frac{\partial h_2}{\partial W}+\frac{\partial L_3}{\partial h_3}\frac{\partial h_3}{\partial h_1}\frac{\partial h_1}{\partial W}+\frac{\partial L_3}{\partial h_3}\frac{\partial h_3}{\partial h_2}\frac{\partial h_2}{\partial W}+\frac{\partial L_3}{\partial h_3}\frac{\partial h_3}{\partial h_3}\frac{\partial h_3}{\partial W} WL=t=03k=1thtLthkhtWhk=h1L1h1h1Wh1+h2L2h1h2Wh1+h2L2h2h2Wh2+h3L3h1h3Wh1+h3L3h2h3Wh2+h3L3h3h3Wh3

    ∂ h t ∂ h k = ∂ h t ∂ h t − 1 ∂ h t − 1 ∂ h t − 2 … ∂ h k + 1 ∂ h k = Π j = k + 1 t ∂ h j ∂ h j − 1 = Π j = k + 1 t W T d i a g ( σ ′ ) \frac{\partial h_t}{\partial h_k}=\frac{\partial h_t}{\partial h_{t-1}}\frac{\partial h_{t-1}}{\partial h_t-2}\dots\frac{\partial h_{k+1}}{\partial h_k}=\Pi_{j=k+1}^t\frac{\partial h_j}{\partial h_{j-1}}=\Pi_{j=k+1}^tW^Tdiag(\sigma') hkht=ht1htht2ht1hkhk+1=Πj=k+1thj1hj=Πj=k+1tWTdiag(σ),所以反向传播n次,矩阵乘法 W T d i a g ( σ ′ ) W^Tdiag(\sigma') WTdiag(σ)需要进行n次。

  2. 证明:

    • 当n=1时, M = Q Λ Q − 1 M=Q\Lambda Q^{-1} M=QΛQ1成立。

    • 假设当n=k时, M k = Q Λ k Q − 1 M^k=Q\Lambda^k Q^{-1} Mk=QΛkQ1

      则当n=k+1时, M k + 1 = M k M = Q Λ k Q − 1 Q Λ Q − 1 = Q Λ k Λ Q − 1 = Q Λ k + 1 Q − 1 M^{k+1}=M^kM = Q\Lambda^{k} Q^{-1}Q\Lambda Q^{-1}=Q\Lambda^{k} \Lambda Q^{-1}=Q\Lambda^{k+1} Q^{-1} Mk+1=MkM=QΛkQ1QΛQ1=QΛkΛQ1=QΛk+1Q1成立。

    • 综上,对于所以 n ∈ N + n\in N^+ nN+ M n = Q Λ n Q − 1 M^n=Q\Lambda^n Q^{-1} Mn=QΛnQ1均成立。

  3. W 30 = Q Λ 30 Q − 1 = [ 0.8 − 0.6 0.6 0.8 ] [ 0. 4 30 0 0 0. 9 30 ] [ 0.8 0.6 − 0.6 0.8 ] {} W^{30}=Q\Lambda^{30}Q^{-1}= \left[ \begin{matrix} 0.8 & -0.6\\ 0.6 & 0.8\\ \end{matrix} \right] \left[ \begin{matrix} 0.4^{30} & 0\\ 0 & 0.9^{30}\\ \end{matrix} \right] \left[ \begin{matrix} 0.8 & 0.6\\ -0.6 & 0.8\\ \end{matrix} \right] W30=QΛ30Q1=[0.80.60.60.8][0.430000.930][0.80.60.60.8]

    • 在求 W 30 W^{30} W30时仅需要在 Λ \Lambda Λ矩阵特征值的位置求幂方,得到 Λ 30 \Lambda^{30} Λ30矩阵。
    • W特征值全小于1时,n取较大值时, Λ n \Lambda^n Λn趋于0矩阵,求得的 W n W^{n} Wn也趋于0矩阵,会造成梯度消失。
    • W特征值全大于1时,n取较大值时, Λ n \Lambda^n Λn对角线数值趋于无穷大,求得的 W n W^{n} Wn数值极大,会造成梯度爆炸。
    • W特征值全等于1时,无论n取何值, Λ n \Lambda^n Λn和W矩阵均为为单位矩阵,梯度为单位矩阵恒不变。

Exercise 3

在这里插入图片描述

在这里插入图片描述

Answer:

  1. f t f_t ft:忘记门,对上一个节点传进来的输入进行选择性忘记。通过计算得到的 f t f_t ft(f表示forget)来作为忘记门控,来控制上一个状态的 C t − 1 C_{t-1} Ct1 哪些需要留哪些需要忘。

    i t i_t it:输入门,将这个阶段的输入有选择性地进行“记忆”。用于对输入 C ^ t \hat C_t C^t 进行选择记忆。哪些重要则着重记录下来,哪些不重要,则少记一些。

    o t o_t ot:输出门,将决定哪些将会被当成当前状态的输出。对上一阶段得到的 C t C_t Ct 进行了放缩(通过一个tanh激活函数进行变化)后由 o t o_t ot 决定输出。

  2. sigmoid函数将三个门的输入转为 [ 0 , 1 ] [0,1] [0,1]数值输出,表示每个部分的通过率。引入的两个tanh层输出的范围为 [ − 1 , 1 ] [-1,1] [1,1],将tanh层输出与矩阵点乘,虽然等式符号都是相加,但是tanh层输出矩阵中每个元素的符号决定实际的加或减。

  3. ∂ C t ∂ C k = Π t = k + 1 t ∂ C t ∂ C t − 1 = I \frac{\partial C_t}{\partial C_{k}}=\Pi_{t={k+1}}^t\frac{\partial C_t}{\partial C_{t-1}}=I CkCt=Πt=k+1tCt1Ct=I,

    这也是LSTM优于RNN的地方,LSTM的结构天然的可以克服梯度消失的问题。

    梯度消失的原因是 ∂ C t ∂ C k = Π t = k + 1 t ∂ C t ∂ C t − 1 \frac{\partial C_t}{\partial C_{k}}=\Pi_{t={k+1}}^t\frac{\partial C_t}{\partial C_{t-1}} CkCt=Πt=k+1tCt1Ct部分,如果连乘项数值小于1,则会造成梯度消失。

    LSTM则是通过实现将连乘项 ∂ C t ∂ C t − 1 ≈ 0 ∣ 1 \frac{\partial C_t}{\partial C_{t-1}}\approx 0|1 Ct1Ct01从而解决了传统RNN中梯度消失的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值