无监督表示学习

表示学习的动机

  • 直接使用原始特征,此时特征比较单一,需要进行非线性组合才能发挥其作用。
  • 一些特征之间可能存在相关性。
  • 并不是所有的特征都对预测有用。
  • 特征中存在噪声。
  • 特征纬度过高,会导致维度灾难。

主成分分析(回顾)

Def. 方差:描述一维变量偏离其均值的程度

\[ \sigma^{2} = \frac{1}{N} \sum_{i = 1}^{N} (X_i - \overline{X}) \]

Def. 协方差:描述两个变量偏离各自均值的程度(描述两个变量之间相关程度)

\[ \text{COV}(X, Y) = \frac{1}{N} \sum_{i = 1}^{N} (X_i - \overline{X})(Y_i - \overline{Y}) \]

只要 \(\text{COV}(X, Y) \neq 0\),则表明 \(x\)\(y\) 之间存在相关性。

Def. 协方差矩阵:对于多维变量,例如:\(x\)\(y\)\(z\),其协方差矩阵表示为

\[ C = \begin{bmatrix} \text{COV}(X, X) &\text{COV}(X, Y) &\text{COV}(X, Z) \\ \text{COV}(Y, X) &\text{COV}(Y, Y) &\text{COV}(Y, Z) \\ \text{COV}(Z, X) &\text{COV}(Y, Z) &\text{COV}(Z, Z) \end{bmatrix} \]

主对角线上为 \(x\)\(y\)\(z\) 各自的方差;显然,协方差矩阵是一个对称矩阵。

对于正交属性空间中的样本点,如何用一个超平面对所有样本进行恰当的表达?容易想到,若存在这样的超平面,那么它大概应具有这样的性质:

  • 最近重构性:样本点到这个超平面的距离都足够近。
  • 最大可分性:样本点在这个超平面上的投影能尽可能分开。

基于最近重构性和最大可分性,能分别得到主成分分析的两种等价推导。

基于最近重构性的主成分分析.

  1. 对样本进行中心化\(\sum\limits_{i} x_i = 0\)),再假定投影变换后得到的新坐标系为 \(\{w_1, w_2, \cdots, w_d\}\),其中 \(w_i\) 是标准正交基向量,即

    \[ ||w_i||_2 = 1, \quad w_i^Tw_j = 0 (i \neq j) \]

  2. 若丢弃新坐标系中的部分坐标,即将维度降到 \(d' < d\),则样本点在低维坐标系中的投影 \(z_i = (z_{i1}, z_{i2}, \cdots, z_{id'})\)\(z_{ij} = w_{j}^{T} x_{i}\),则基于 \(z_{i}\) 重构 \(x_{i}\)

    \[ \hat{x_i} = \sum_{j = 1}^{d'} z_{ij} w_{j} \]

  3. 考虑整个训练集,原样本点 \(x_i\) 与基于投影重构的样本点 \(\hat{x_i}\) 之间的距离为

    \[ \sum_{i = 1}^{m} \biggl|\biggl| \sum_{j = 1}^{d'} z_{ij}w_j - x_i \biggr|\biggr|_2^2 = \sum_{i = 1}^{m} z_{i}^{T}z_{i} - 2 \sum_{i = 1}^{m} z_{i}^{T} W^T x_{i} + \text{const} \\ \propto -\text{tr}\bigg(W^T \bigg(\sum_{i = 1}^{m} x_{i}x_{i}^{T}\bigg)W\bigg) \]

    \(m\) 表示样本数;\(\text{tr}\) 表示矩阵的迹。

  4. 根据最近重构性最小化上式。考虑到 \(w_{j}\) 是标准正交基,\(\sum\limits_{i} x_{i} x_{i}^{T}\) 是协方差矩阵,优化目标为:

    \[ \begin{aligned} \min_{W} \quad &-\text{tr}(W^TXX^TW) \\ \text{s.t.} \quad &W^TW = I \end{aligned} \]

基于最大可分性的主成分分析.

  • 样本点 \(x_i\) 在新空间中超平面上的投影是 \(w^{T}x_{i}\),若所有样本点的投影尽可能分卡,则应该使得投影后样本点的方差最大化。投影后样本点的方差是 \(\sum\limits_{i} w^{T}x_{i}x_{i}^{T}w\)。于是,我们得到和基于最近重构性的主成分分析相同的最优化问题。

Algorithm - PCA.

  1. 输入:样本集 \(D = \{x_1, x_2, \cdots, x_m\}\),低维空间维数 \(d'\)
  2. 过程:
    1. 对所有样本进行中心化:\(x_{i} \leftarrow x_{i} - \frac{1}{m} \sum\limits_{i = 1}^{m}x_{i}\)
    2. 计算样本的协方差矩阵 \(XX^{T}\)
    3. 对协方差矩阵 \(XX^{T}\) 做特征值分解;
    4. 取最大的 \(d'\) 个特征值所对应的特征向量 \(w_1\)\(w_2\)\(\cdots\)\(w_{d'}\)
  3. 输出:投影矩阵 \(W = (w_1, w_2, \cdots, w_{d'})\)

从重构的角度设置重构阈值,例如 \(t = 95\%\),选取使下式成立的最小 \(d'\)

\[ \frac{\sum\limits_{i = 1}^{d'} \lambda_{i}}{\sum\limits_{i = 1}^{d} \lambda_i} \geq t \]

自编码器

自编码器是一种采用无监督方式进行特征学习的神经网络。基本思想:通过一个编码器对输入进行编码,令解码器解码得到的信号与输入信号尽可能一致,即:重构误差最小。

  • 网络结构:可以是任意一种网络结构,只需要保证:输入形状等于输出形状。
  • 误差函数:常用均方误差,有时也用交叉熵损失(此时输入 \(x_i \in (0, 1)\))。
  • 优化方法:采用误差反向传播进行模型求解。

一般而言,隐藏层神经元数量小于输入层神经元数量。

稀疏自编码器

基本思想:用尽可能少的神经元来表示原始数据 \(x\)(也就是隐藏层神经元的激活值尽可能多的为 \(0\))。

  • \(a_j^{(2)}\) 表示自动编码器中第 \(j\) 个隐节点的激活函数,则 \(a_j^{(2)}(x)\) 表示对于特定的输入 \(x\),第 \(j\) 个隐节点的激活值。

  • \(j\) 个隐节点的平均激活为

    \[ \hat{\rho}_{j} = \frac{1}{m} \sum_{i = 1}^{m} \big[a_{j}^{(2)}(x_i)\big] \]

  • 增加约束:\(\hat{\rho}_j = \rho\),其中 \(\rho\) 是一个稀疏参数,通常设为一个接近于 \(0\) 的小数。

    • 等效于:加入一个惩罚项,使得 \(\hat{\rho}_j\) 不至于偏离 \(\rho\) 太远。

      \[ \sum_{j = 1}^{s_2} \rho \log \frac{\rho}{\hat{\rho}_j} + (1 - \rho) \log \frac{1 - \rho}{1 - \hat{\rho}_j} \quad \text{OR} \quad \sum_{j = 1}^{s_2} \text{KL}(\rho || \hat{\rho}_j) \]

  • 总体损失函数为:

    \[ J_{\text{sparse}}(W, b) = J(W, b) + \beta \sum_{j = 1}^{s_2} \text{KL}(\rho || \hat{\rho}_j) \]

  • 在目标函数 \(J_{\text{sparse}}(W, b)\) 上采用梯度下降法求解模型参数。

基于稀疏自编码器的 k-Sparse AutoEncoders。此编码器的稀疏策略是:找到 \(z\) 中前 \(k\) 个最大激活,而令其它的均为 \(0\)。误差仅通过 \(z\) 中的这 \(k\) 个被激活的节点传播。

手写书字体识别任务中,不同 \(k\) 值的可视化结果不同,随着 \(k\) 的减小,网络趋于学习一个关于输入数字体的更完整的表示。

去噪自编码器

基本思想:

  • 输入中加入扰动后,更高层的表示应该保持更好的稳定性和鲁棒性
  • 通过降噪表示可以抽出关于输入信号更有用的信息。

加噪方式:高斯噪声二值掩码噪声(需要注意限制加噪后的数值范围)。

堆叠自编码器

分阶段训练多个自编码器

深度自编码器

整体训练

受限玻尔兹曼机

Def. 概率无向图模型

  • 输入层的神经元之间以及隐藏层的神经元之间均存在连接
  • 输入层和输出层神经元均为二值随机变量

概率无向图模型是一种基于能量的模型,能量越小,模型越稳定。

\[ E = - \bigg(\sum_{i < j} w_{ij} s_{i} s_{j} + \sum_{i} \theta_{i} s_{i}\bigg) \]

其中 \(s\) 表示节点,\(\theta\) 表示偏置。

而受限玻尔兹曼机(RBM)是只有两层的概率无向图模型,但与概率无向图的性质有些不同。RBM 只有可见层(visible layer)和隐藏层(hidden layer)之间有连接,同一层之间没有连接

能量函数:

\[ E(\mathbf{v}, \mathbf{h}) = - \sum_{i, j} v_i W_{ij} h_{j} - \sum_{i} c_i v_i - \sum_{j} b_{j} h_{j} \]

其中,\(c\)\(b\) 表示偏置。

由概率分布和能量函数的定义

\[ \begin{aligned} E(\mathbf{v}, \mathbf{h}) &= - \sum_{i, j} v_i W_{ij} h_{j} - \sum_{i} c_i v_i - \sum_{j} b_{j} h_{j} \\ p(\mathbf{v}, \mathbf{h}) &= \frac{\exp (-E(\mathbf{v}, \mathbf{h}))}{Z} \\ p(\mathbf{v}) &= \frac{\sum_{\mathbf{h}} \exp (-E(\mathbf{v}, \mathbf{h}))}{Z} \\ Z &= \sum_{\mathbf{v}, \mathbf{h}} \exp (-E(\mathbf{v}, \mathbf{h})) \end{aligned} \]

从而可以推出条件概率公式:

\[ \begin{aligned} p(h_{j} = 1 | \mathbf{v}) &= \frac{\exp(-E(\mathbf{v}, h_{j} = 1))}{\exp(-E(\mathbf{v}, h_{j} = 0)) + \exp(-E(\mathbf{v}, h_{j} = 1))} \\ &= \frac{\exp(\sum_{i} v_{i} W_{ij} + \sum_{i} c_{i}v_{i} + b_{j})}{\exp(\sum_{i}c_{i} v_{i}) + \exp(\sum_{i} v_{i} W_{ij} + \sum_{i} c_{i}v_{i} + b_{j})} \\ &= \frac{\exp(\sum_{i} v_{i} W_{ij} + b_{j})}{1 + \exp(\sum_{i} v_{i} W_{ij} + b_{j})} = s\bigg(\sum_{i} v_{i} W_{ij} + b_{j}\bigg) \end{aligned} \]

其中 \(s\)sigmoid 函数。同理可得:

\[ p(v_{i} = 1 | \mathbf{h}) = s\bigg(c_{i} + \sum_{j} W_{ij} h_{j}\bigg) \]

接下来,我们最大化训练集上的对数似然,即最大化 \(p(\mathbf{v})\)。对 \(p(\mathbf{v})\) 的对数关于参数的偏导数可以得到:

\[ \begin{aligned} \frac{\partial \log p(\mathbf{v})}{\partial \theta} &= \frac{\partial (\log \sum_{\mathbf{h}} \exp(-E(\mathbf{v}, \mathbf{h})) - \log Z)}{\partial \theta} \\ &= \frac{1}{\sum_{\mathbf{h}}\exp(-E(\mathbf{v}, \mathbf{h}))} \cdot -\exp(-E(\mathbf{v}, \mathbf{h})) \cdot \frac{\partial E(\mathbf{v}, \mathbf{h})}{\partial \theta} - \frac{1}{Z} \cdot -\exp(-E(\mathbf{v}, \mathbf{h})) \cdot \frac{\partial E(\mathbf{v}, \mathbf{h})}{\partial \theta} \\ &= - \langle \frac{\partial E(\mathbf{v}, \mathbf{h})}{\partial \theta} \rangle_{p(\mathbf{h} | \mathbf{v})} + \langle \frac{\partial E(\mathbf{v}, \mathbf{h})}{\partial \theta} \rangle_{p(\mathbf{v}, \mathbf{h})} \end{aligned} \]

\(\langle \rangle_{p}\) 表示对概率分布 \(p\) 下的期望。

其中第一项 \(p(\mathbf{h} | \mathbf{v})\) 代表在输入数据条件下表示层的概率分布,比较容易计算,而第二项 \(p(\mathbf{v}, \mathbf{h})\) 由于归一化因子的存在,无法有效的计算该分布。

Algorithm - CD-k. RBM 的对称结构和其中神经元节点状态的条件独立性,使得可以通过若干步吉布斯采样来计算第二项的期望。在完成k步抽样之后,就可以近似计算模型参数的梯度,具体如下:

\[ \begin{aligned} \delta W_{ij} &= v_{i}^0 h_{j}^0 - v_{i}^k h_{j}^k \\ \delta c_{i} &= v_{i}^0 - v_{i}^{k} \\ \delta b_{j} &= h_{j}^0 - h_{j}^k \end{aligned} \]

Gaussian RBM

使用高斯分布来建模输入层

\[ \begin{aligned} E(\mathbf{v}, \mathbf{h}) &= \frac{1}{2} \sum_{i} \frac{(v_i - c_i)^2}{2\sigma_i^2} - \sum_{i, j} \frac{v_i}{\sigma_{i}} W_{ij} h_{j} - \sum_{i} c_{i} v_{i} - \sum_{j} b_{j} h_{j} \\ p(h_{j} = 1 | \mathbf{v}) &= s(b_{j} + \sum_{i} \frac{v_{i}}{\sigma_{i}} W_{ij}) \\ p(v_{i} = 1 | \mathbf{h}) &= \mathcal{N}(c_{i} + \sigma_{i} \sum_{j} W_{ij} h_{j}, \sigma_{i}^{2}) \end{aligned} \]


无监督表示学习
https://ddccffq.github.io/2025/11/23/神经网络与深度学习/无监督表示学习/
作者
ddccffq
发布于
2025年11月23日
许可协议