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)

posted @ 2018-11-21 09:47  xiecl  阅读(1165)  评论(2编辑  收藏  举报