NICE:Non-Linear Independent Components Estimation
1 NICE方法,即非线性独立成分估计, 是一种生成模型,是对复杂的高维分布进行建模
生成模型是对数据的概率密度\(p_X(x)\)进行建模,一般比较困难,此时引入变量\(h\), 我们希望通过函数变换\(h=f(x)\),对\(x\)进行编码,使得\(h\)服从简单的分布\(p_H(h)\),比如高斯分布或者均匀分布,假设函数\(f\)可逆,则可以通过对分布\(p_H(h)\)进行采样得到\(h\), 再由\(x=f^{-1}(h)\)对\(x\)进行生成。通常\(h\)是由各独立分布组成:
\[p_H(h)=\prod_dp_{H_d}(h_d)
\]
对\(p_X(x)\)进行建模得到
\[p_X(x)=p_H(f(x))|det\frac{\partial{f(x)}}{\partial{x}}|
\]
下面对上式进行推导:
假设随机变量\(H\),\(X\), 概率分布满足以下关系:
\[H=f[X]
\]
在\(f\)可逆时,有
\[X=f^{-1}[H]
\]
积分的求导运算为:
\[\frac{d}{dx}\int_{-\infty}^{f(x)}p(h)dh=p(f(x))\frac{df(x)}{dx}
\]
一维推导\(x\)的概率分布函数:
\[P_X(x)=P[X\leq{x}]=P[f^{-1}(H)\leq{x}]=P[H\leq{f(x)}]=\int_{-\infty}^{f(x)}p_H(h)dh
\]
求导可得\(x\)的概率密度,并且概率密度不小于0, 对\(f(x)\)加入绝对值:
\[p_X(x)=\frac{dP_X(x)}{dx}=p_H(f(x))|\frac{d f(x)}{dx}|=p_H(h)|\frac{dh}{dx}|
\]
二维情况下,假设存在
\[h_1 = f_1(x_1) \\
h_2 = f_2(x_2)
\]
则:
\[p_X(x)=p_H(h)|\frac{\partial{h}}{\partial{x}}|=p_H(h)|\Arrowvert{\begin{matrix} \frac{\partial{h_1}}{\partial{x_1}} & \frac{\partial{h_1}}{\partial{x_2}} \\ \frac{\partial{h_2}}{\partial{x_1}} & \frac{\partial{h_2}}{\partial{x_2}} \\ \end{matrix}}\Arrowvert| = p_H(h)|\det\frac{\partial{h}}{\partial{x}}|= p_H(f(x))|\det\frac{\partial{f(x)}}{\partial{x}}|
\]
Reference
1 论文地址 (https://arxiv.org/abs/1410.8516)
2 代码 (https://github.com/laurent-dinh/nice)