自回归模型 Autoregressive Model

基于分类模型的神经网络

对于一个带标签的二元数据集\((X, Y)\)\(X\in \{\mathbf{x}\}^n\)\(Y\in \{0,1\}^n\),分类模型关心的是\(p(Y|\mathbf{x})\)的分布

虽然这个概率分布是任意的,但是我们假设该分布是由参数\(\mathbf{\alpha}\)控制的,即 \[ p(Y=1\,|\,\mathbf{x};\mathbf{\alpha})=f(\mathbf{x},\mathbf{\alpha}) \]

逻辑回归 Logistic Regression

对于二元分类,我们可以利用sigmoid函数\(\sigma(z) = \frac{1}{1+e^{-z}}\)进行回归分析

由于sigmoid函数是单变量函数,我们先利用参数\(\mathbf{\alpha}\)将数据的特征向量\(\mathbf{x}\)映射\(\mathbb{R}\)中: \[ z(\mathbf{\alpha},\mathbf{x})=\alpha_0+\sum_{i=1}^n\alpha_ix_i \] 此时再进行回归分析: \[ p_{\mathrm{logit}}(Y=1\,|\,\mathbf{x};\mathbf\alpha)=\sigma(z(\mathbf\alpha,\mathbf x)) \]

非线性相关性

为了使分析更加灵活,我们可以先将输入的特征向量分解成中间向量,再对中间向量进行回归分析

显然分解输入的特征向量应为非线性的变换,将该变换过程记为\(f:\mathbb{R}^n \to\mathbb{R}^m, \mathbf x\mapsto \mathbf h(A, \mathbf b, \mathbf x)\)

那么神经网络的基本公式就是 \[ p_{\mathrm{Neural}}(Y=1\,|\,\mathbf x; \mathbf \alpha, A, \mathbf b) = f(\alpha_0+\sum_{i=1}^m\alpha_ih_i) \]

自回归模型 Autoregressive Model

为了得到\(p(x_1,...,x_n)\)的分布,首先人为选定一个顺序使用链式法则将它展开 \[ p(x_1,...,x_n) = p(x_1)p(x_2|x_1)p(x_3|x_1, x_2)...p(x_n|x_1,..,x_{n-1}) \] 第一个概率我们直接从条件概率表(CPT)查得

剩余的条件概率我们假设是一个与参数\(\alpha\)有关的函数: \[ p(x_k|x_1,...,x_{k-1}) = p(x_k|x_1,...,x_{k-1};\mathbf\alpha^k) \] 那么我们就得到了\(p(x_1,...,x_n)\)的分布: \[ p(x_1,...,x_n)=p_{\mathrm{CPT}}(x_1;\alpha^1)p(x_2|x_1;\mathbf\alpha^2)p(x_3|x_1, x_2;\mathbf\alpha^3)...p(x_n|x_1,..,x_{n-1};\mathbf\alpha^n) \] 我们对于剩余的条件概率进行的模型假设,被称为自回归模型(Autoregressive Model)

完全可见的sigmoid置信网络 Fully Visible Sigmoid Belief Network (FVSBN)

在自回归模型中,当每个随机变量都是二元变量时,我们使用sigmoid函数进行逻辑回归来得到这个与参数\(\alpha\)有关的函数,这种模型就被称为完全可见的sigmoid置信网络(FVSBN),即: \[ p(x_k|x_1,...,x_{k-1}) = p_{\mathrm{logit}}(x_k|x_1,...,x_{k-1};\mathbf\alpha^k) = \sigma(\alpha^k_0+\sum_{i=1}^k\alpha_i^kx_i) \] 那么我们就得到了\(p(x_1,...,x_n)\)的分布: \[ p(x_1,...,x_n)=p_{\mathrm{CPT}}(x_1;\alpha^1)p_{\mathrm{logit}}(x_2|x_1;\mathbf\alpha^2)p_{\mathrm{logit}}(x_3|x_1, x_2;\mathbf\alpha^3)...p_{\mathrm{logit}}(x_n|x_1,..,x_{n-1};\mathbf\alpha^n) \]

神经自回归密度估计 Neural Autoregressive Density Estimation (NADE)

为了提升模型的效果,我们使用单层的神经网络来替代FVSBN中的逻辑回归,这种模型就是神经自回归密度估计(NADE),即: \[ \mathbf h_k=\sigma(A_k\mathbf x_{<k}+\mathbf c_k) \] \[ p(x_k|x_1,...,x_{k-1}) =p_{\mathrm{Neural}}(x_k|x_1,...,x_{k-1};A_k,\mathbf c_k, \alpha_k,\mathbf b_k)=\sigma(\alpha_k\mathbf h_k+\mathbf b_k) \]

为了减少参数数量并且加速计算,在计算当前时间步的权重时,可以加入先前的权重

也就是说,假设最后一个权重\(A_n\)\(W\),那么\(A_k\)就变为\(W_{.,<k}\)

RNADE

对于非二元的离散型随机变量\(X_i\in \{1,...,K\}\),条件概率可以用categorical distribution来表示,并用softmax函数替代sigmoid,即: \[ \mathbf h_i = \sigma(W_{.,<i}\mathbf x_{<i}+\mathbf c) \] \[ p(x_i|x_1,...,x_{i-1}) = \mathrm{Cat}(p_i^1,...,p_i^K)=\mathrm{Cat}(\mathrm{softmax}(A_i\mathbf h_i+\mathbf b_i)) \]

对于连续型随机变量\(X_i\in\mathbb{R}\),条件概率用参数化的连续型分布来表示即可,例如我们可以用\(K\)个混合高斯模型: \[ p(x_i|x_1,...,x_{i-1}) =\sum_{j=1}^K\frac1K\mathcal N(x_i;\mu_i^j,\sigma_i^j) \]

其中获取参数\(\mu_i^j,\sigma_i^j\)与NADE的方法相同: \[ h_i=\sigma(W_{.,<i}\mathbf x_{<i}+\mathbf c) \]

\[ (\mu_i^1,...,\mu_i^K,\sigma_i^1,...,\sigma_i^K)=f(\mathbf h_i) \]


自回归模型 Autoregressive Model
http://hmnkapa.github.io/2024/11/13/自回归模型/
作者
呼姆奴库
发布于
2024年11月13日
许可协议