深度学习的基础

BG108-《Deep Learning》

Posted by Blue Geek on May 30, 2020

深度学习的基础

By 青衣极客 In 2020-05-30 (未完待续…)

1. 线性代数

(1). 范数

$L^p$ 范数定义:

  • 当p=1时,就是 $L^1$ 范数
  • 当p=2时,就是 $L^2$ 范数
  • 当p为无穷大时,最大范数

(2). 特征分解

特征分解是指“将方阵分解成特征值与特征向量”。

其中,$\lambda$就是方阵A的特征值,${\bf{v}}$就是方阵在特征值为$\lambda$时对应的特征向量。

A的特征分解可以计作:

其中,${\bf{V}}$是由n个线性无关的特征向量组成。

  • 实对称矩阵必定能够分解成实特征向量和实特征值,如果取正交特征向量组成正交矩阵,这矩阵A可以分解为
  • 所有特征值都是正数,则A为正定的;所有特征是为非负的,则A为半正定;所有特征值为负数,则A为负定;所有特征值为非正数,则A为半负定。

(3). 奇异值分解

将矩阵分解为奇异值和奇异向量的分解称为 奇异值分解。特征分解只适用于方阵,而奇异值分解还可以适用于非方阵。奇异值分解将矩阵A分解为如下形式:

其中,U是一个$m\times m$的矩阵,D是一个$m\times n$的对角矩阵,V是一个$n\times n$的矩阵。

证明 Step: 假设 A 是$m\times n$矩阵,则$A^TA$是实对称矩阵,则有如下方程:

其中${\bf{V}}=[v_1, v_2,…, v_n]$为$A^TA$的正交特征向量所构成的正交矩阵。则有

所以$Av_i$ 与 $Av_j$ 是正交的。 所以 $(Av_i)^T(Av_j)=\lambda_i v_i^Tv_i = \lambda_i$。 所以$|Av_i| = \sqrt{\lambda_i}$。 令$u_i=\frac{1}{\sqrt(\lambda_i)}Av_i$,则${u_i, i=1,2,…,n}$也是正交的,再令$\delta_i=\sqrt{\lambda_i}$ 就有以下方程

于是得到

(4). 主成分分析

假设编码向量的映射为 ${\bf{c}}=f({\bf{x}})$,假设解码向量的映射为 $\hat{\bf{x}}=g({\bf{c}})=g(f({\bf{x}}))$。

我们假设使用矩阵乘的方式来解码,即 $g({\bf{c}})={\bf{Dc}}$,其中 D 是一个 $n\times l$的矩阵。在这种解码器的情况下,可以求解出最优的

利用梯度为0,可以计算出最优解 ${\bf{c}}^*={\bf{D}}^T{\bf{x}}$。所以 $f({\bf{x}})={\bf{D}}^T{\bf{x}}$。

所以,最后恢复的 $\hat{\bf{x}}$ 的误差是多少呢?$\hat{\bf{x}}=r({\bf{x}})=g(f({\bf{x}}))={\bf{DD}}^T{\bf{x}}$。则损失函数如下:

优化方程如下:

根据梯度为0求解得到 D 矩阵由 $X^TX$ 的最大$l$个特征值对应的单位正交特征向量组成。

2. 概率论

(1). 条件概率

(2). 贝叶斯规则

(3). 信息

对于 $x\sim P$ 的香农熵如下:

当 $x$ 是连续时,香农熵也称微分熵。

如果对于一个随机变量 $x$ 有两个分布 $P(x)$ 和 $Q(x)$,那么我们可以使用 KL散度来描述这两个分布的差异:

KL散度用起来并不是很方便,所有常用的时一个与其密切练习的量 —— 交叉熵,其表达式如下:

当P为真值时,也就是一个常量,最小化KL散度实质上就是在最小化交叉熵。

3. 参数估计

(1). 极大似然估计

对于样本集

,我们使用 $p_{model}({\bf{x}}, {\bf{\theta}})$ 来逼近真是的数据分布 $p_{data}({\bf{x}})$。对 $theta$ 的极大似然估计被定为:

为了避免连乘带来的数值不稳定,一般常用的形式如下

(3). 贝叶斯统计

贝叶斯估计不像自大似然估计那样预测时使用参数$\theta$的点估计,而是使用参数$\theta$的全分布。比如,贝叶斯估计预测新样本的分布如下:

贝叶斯方法与极大似然估计的第二个大区别是由于假设先验分布造成的。先验分布能够影响概率密度的偏移方向。

在实际问题中,常常不太可能真的使用参数$\theta$的全分布,这时使用最大后验估计是一个合理的方式,表达式如下

4. 正则化

  • 参数范数惩罚(L2参数正则化、L1参数正则化、)
  • 作为约束的范数惩罚
  • 数据集增强
  • 注入噪声
  • 半监督学习
  • 多任务
  • 提前终止
  • 参数绑定和参数共享
  • 稀疏表示
  • bagging和其他集成方法
  • Dropout
  • 对抗训练

5. 优化器

(1). 经验风险最小

(2). 随机梯度下降SGD

(3) 带动量的SGD

(4). Nesterov动量

(5). AdaGrad

(6). RMSProp

(7). Nesterov动量的RMSProp

(8). Adam

(9). 牛顿法

6. 经典结构

(1). 卷积网络

  • 互相关函数,不是真正的卷积操作
  • 动机:稀疏交互、参数共享、等变表示
  • pooling

(2). LSTM

遗忘门: $f_i^t=\sigma(b_i^f+\sum_jU_{i,j}^fx_j^t+\sum_jW_{i,j}^fh_j^{t-1})$

内部状态:$s_i^t=f_i^ts_i^{t-1}+g_i^t\sigma(b_i+\sum_jU_{i,j}x_j^t+\sum_jW_{i,j}h_j^{t-1})$

输入门:$g_i^t=\sigma(b_i^g+\sum_jU_{i,j}^gx_j^t+\sum_jW_{i,j}^gh_j^{t-1})$

输出:$h_i^t=tanh(s_i^t)q_i^t$

输出门:$q_i^t=\sigma(b_i^o+\sum_jU_{i,j}^ox_j^t+\sum_jW_{i,j}^oh_j^{t-1})$

【青衣极客】公众号



COMMENT

博客评论区功能由Github Issue提供,提交Issue时请以本文标题为话题

"BG108-《Deep Learning》-深度学习的基础"