最近忙毕设论文,之前写的第8-9章个人解答也就从自己的私人博客进行转载到CSDN上进行分享,答案的正确性不能完全保证。
LSTM
输入层的特征长度为 n n n,输出层的长度为 m m m时,神经元个数为: N e u r o n s a l l = 4 × ( ( n + m ) × m + m ) Neurons_{all}=4 \times ((n+m)\times m +m) Neuronsall=4×((n+m)×m+m)
去掉偏置项,则为: N e u r o n s n o − b = 4 × ( ( n + m ) × m ) Neurons_{no-b}=4\times((n+m)\times m) Neuronsno−b=4×((n+m)×m),而一个神经元内的参数量为: W e i g h t s s i n g l e = 4 × ( ( n + m ) × m ) Weights_{single} =4\times((n+m)\times m) Weightssingle=4×((n+m)×m),因此参数总量为: W e i g h t s s u m = W e i g h t s s i n g l e × N e u r o n s a l l = 16 × [ ( ( n + m ) × m ) 2 + ( n + m ) × m 2 ] Weights_{sum}=Weights_{single}\times Neurons_{all}=16 \times[((n+m)\times m)^2+(n+m)\times m^2] Weightssum=Weightssingle×Neuronsall=16×[((n+m)×m)2+(n+m)×m2]
不考虑偏置项,则: W e i g h t s n o − b = N e u r o n s n o − b × W e i g h t s s i n g l e = N e u r o n s n o − b 2 Weights_{no-b}=Neurons_{no-b}\times Weights_{single} = Neurons_{no-b}^2 Weightsno−b=Neuronsno−b×Weightssingle=Neuronsno−b2
当输入的向量维度过高时,点积模型的值很大,点积的大小会增大,从而推动 softmax 函数往仅有很小的梯度的方向靠拢,导致了梯度消失。因此使用平方根的缩放,能缓解该问题。
依赖关系效率:自注意力模型是全连接的,而卷积网络和循环网络是通过增加网络层数,而前者可以处理变长输入序列,因此长距离依赖效率更高。
计算复杂度:自注意力模型查询是通过存储直接查询的,因此计算复杂度为 O ( 1 ) O(1) O(1),而卷积网络通过卷积核,计算复杂度为 O ( log k ( n ) ) O(\log_k(n)) O(logk(n)),k为卷积核的大小;而循环神经网络通过不同时刻的连接,因此计算复杂度 O ( n ) O(n) O(n)
暂时没写,以后再写。
共同点:都通过外部记忆单元进行读取与写入,而且由控制器进行读写的调用。
不同点:
E = − 1 2 ∑ i = 1 n ∑ j = 1 n w i j s i s j − ∑ i b i s i = − 1 2 S ⊤ W S − B ⊤ S Δ x k = s k ( t + 1 ) − s k ( t ) Δ E k = − 1 2 ∑ i ≠ k w i k s i Δ s k − 1 2 w k j s j Δ s k − b k Δ s k = − ( ∑ j = 1 n w k j s j + b k ) Δ s k = − u k Δ s k E = -\frac{1}{2}\sum_{i=1}^n\sum_{j=1}^nw_{ij}s_{i}s_{j}-\sum_{i} b_i s_i = -\frac{1}{2}S^\top WS-B^\top S \\\\ \Delta x_k = s_k(t+1) - s_k(t) \\\\ \begin{aligned} \Delta E_k &= -\frac{1}{2}\sum_{i\not=k}w_{ik}s_{i}\Delta s_k -\frac{1}{2}w_{kj}s_j\Delta s_k - b_k \Delta s_k \\\\ &=-(\sum_{j=1}^nw_{kj}s_j + b_k)\Delta s_k \\\\ &= -u_k\Delta s_k \end{aligned} E=−21i=1∑nj=1∑nwijsisj−i∑bisi=−21S⊤WS−B⊤SΔxk=sk(t+1)−sk(t)ΔEk=−21i=k∑wiksiΔsk−21wkjsjΔsk−bkΔsk=−(j=1∑nwkjsj+bk)Δsk=−ukΔsk
判断发现:
{ u k > 0 Δ s k = s k ( t + 1 ) − s k ( t ) = 2 u k < 0 Δ s k = s k ( t + 1 ) − s k ( t ) = − 2 \begin{cases} u_k>0 && \Delta s_k = s_{k}(t+1) - s_{k}(t)=2 \\\\ u_k<0 && \Delta s_k = s_{k}(t+1) - s_{k}(t)=-2 \end{cases} ⎩⎪⎨⎪⎧uk>0uk<0Δsk=sk(t+1)−sk(t)=2Δsk=sk(t+1)−sk(t)=−2
即: Δ E k < 0 \Delta E_k <0 ΔEk<0恒成立,因此: E k E_k Ek随着时间不断推进总是单调递减的。
如果把特征理解为有用的维度,噪声与特征的相关性不大。当数据受到噪声影响时,最小特征值对应的特征向量往往与噪声有关,将它们舍弃能在一定程度上起到降噪的效果。
证明:在PCA算法中,投影矩阵 W ∈ R D × D ′ W\in \mathbb{R}^{D\times D'} W∈RD×D′,当样本 N < D N
不同特征具有共线性的数据不适合使用主成分分析。举例来说,比如对于二分类问题,正例样本全部为(1,1,1,1,1,1), 负例样本全部为(0,0,0,0,0)。
X ′ = X − X ‾ X'=X-\overline{X} X′=X−X且 ∑ i = 1 N x i ′ = 0 \sum_{i=1}\limits^N x_i' = 0 i=1∑Nxi′=0,则: Σ = 1 N X ′ ( X ′ ) ⊤ \Sigma = \frac{1}{N}X'(X')^\top Σ=N1X′(X′)⊤,而在奇异值分解中: X ′ ( X ′ ) ⊤ = U Σ V ⊤ V Σ U ⊤ = U Σ 2 U ⊤ = U Σ U ⊤ X'(X')^\top = U\Sigma V^\top V\Sigma U^\top = U\Sigma^2 U^\top=U\Sigma U^\top X′(X′)⊤=UΣV⊤VΣU⊤=UΣ2U⊤=UΣU⊤,因此 U U U为协方差矩阵 Σ \Sigma Σ的特征向量,也是PCA的投影矩阵。
KNN固定落入单个区域的样本数量为 K K K,则每个区域的概率密度为: P ( x ) = K N V P(x)=\frac{K}{NV} P(x)=NVK。此时, ∫ P ( x ) d x = 1 \int P(x)\mathbb{d}x=1 ∫P(x)dx=1,但需要满足条件 V → 0 , N → + ∞ V\rightarrow 0,N\rightarrow +\infty V→0,N→+∞,因此等号实际并不成立。
两个公式分别为: ρ 1 ( z ) = ∑ m = 1 M log ( 1 + z m 2 ) \rho_1 (z) = \sum_{m=1}\limits^{M}\log(1+z_m^2) ρ1(z)=m=1∑Mlog(1+zm2), ρ 2 ( z ) = ∑ m = 1 M − exp ( − z m 2 ) \rho_2(z) = \sum_{m=1}\limits^{M}-\exp(-z_m^2) ρ2(z)=m=1∑M−exp(−zm2)
而我们分析稀疏性效果需要看的是: ∂ L ( A , Z ) ∂ Z → ∂ ρ ( z ) ∂ z → ∂ ρ ( z ) ∂ z m \frac{\partial L(A,Z)}{\partial Z}\rightarrow \frac{\partial \rho(z)}{\partial z}\rightarrow \frac{\partial \rho(z)}{\partial z_m} ∂Z∂L(A,Z)→∂z∂ρ(z)→∂zm∂ρ(z),而: ∂ ρ 1 ( z ) ∂ z m = 2 z m 1 + z m 2 \frac{\partial \rho_1(z)}{\partial z_m} = \frac{2z_m}{1+z_m^2} ∂zm∂ρ1(z)=1+zm22zm, ∂ ρ 2 ( z ) ∂ z m = 2 z m exp ( z m 2 ) \frac{\partial \rho_2(z)}{\partial z_m} = \frac{2z_m}{\exp(z_m^2)} ∂zm∂ρ2(z)=exp(zm2)2zm
而用Geogebra
做图发现显然: 1 + z m 2 ≤ exp ( z m 2 ) 1+z_m^2 \leq \exp(z_m^2) 1+zm2≤exp(zm2),因此前者导数更大,所以反映的稀疏性更好。
假设样本有 N N N个, C C C类中的每个类都有 N i N_i Ni个样本。如果想分新的样本 x x x,则以 x x x为中心画出一个包含 K K K个数据点的超球面。超球面的体积为 V V V,含有每一类 C i C_i Ci的数据点为 K K K个。
对于每一个类的条件概率密度为: P ( x ∣ C i ) = K i N i V P(x|C_i)=\frac{K_i}{N_iV} P(x∣Ci)=NiVKi,非条件概率密度为: P ( x ) = K N V P(x)=\frac{K}{NV} P(x)=NVK,类的先验概率为: P ( C i ) = N i N P(C_i)=\frac{N_i}{N} P(Ci)=NNi,结合贝叶斯定理,得到后验概率:
p ( C i ∣ x ) = p ( x ∣ C i ) p ( C i ) p ( x ) = K i K p(C_i|x) = \frac{p(x|C_i)p(C_i)}{p(x)} = \frac{K_i}{K} p(Ci∣x)=p(x)p(x∣Ci)p(Ci)=KKi