Gutmann M U, Hyvarinen A. Noise-contrastive estimation: A new estimation principle for unnormalized statistical models[C]. international conference on artificial intelligence and statistics, 2010: 297-304.
@article{gutmann2010noise-contrastive,
title={Noise-contrastive estimation: A new estimation principle for unnormalized statistical models},
author={Gutmann, Michael U and Hyvarinen, Aapo},
pages={297--304},
year={2010}}
概
在处理参数化概率密度的时候, 往往需要处理配分函数, 即
[p(x; heta)=frac{f(x; heta)}{Z( heta)},
]
(Z( heta))是和参数( heta)有关的.
继续往下走, 一般估计参数, 最普通的就是极大似然估计, 即
[max_{ heta} sum_{i=1}^N log f(x_i; heta)-Nlog Z( heta),
]
当(Z( heta))有显示表达式的时候, 上面的玩意儿还能弄, 故一般情况下, 这种估计方法就不是很合适了, 本文另辟蹊径, 引入了负采样来应对这一问题.
主要内容
这里, 我们用(p(x)=p(x; heta^*))来表示样本数据(x)的真实的分布. 令(x)采样自(p(x))的为真实的样本((c=1)), 即我们所观测到的样本, 而采样自另一个分布(q(x))的为样本为伪样本((c=0)), 不妨设(P(c=0)=P(c=1)=frac{1}{2}), 则
[p(x|c=1)=p(x), quad p(x|c=0)=q(x),
]
对应的估计为
[p(x|c=1; heta)=p(x; heta).
]
相应的后验概率为
[P(c=1|x; heta)=frac{p(x; heta)}{p(x; heta)+q(x)},
]
[P(c=0|x; heta)=frac{q(x)}{p(x; heta)+q(x)}.
]
自然, 我们可以通过极大似然估计(关于随机变量(c))来估计参数( heta):
[ell( heta)=sum_{i=1}^N c_i log P(c=1|x; heta)+(1-c_i)log P(c=0|x; heta).
]
若我们记
[G(x; heta) = log p(x; heta)- log q(x), sigma(x; heta) = frac{1}{1+exp[-G(x; heta)]}.
]
注: 逻辑斯蒂回归.
则
[P(c=1|x; heta)=sigma(x; heta), P(c=0|x; heta)=1-sigma(x; heta).
]
更一般的(通过大数定律)
[ ag{1}
J( heta) = mathbb{E}_{x sim p(x)} log sigma(x; heta) + mathbb{E}_{xsim q(x)} log (1-sigma(x; heta)).
]
理解是很自然的, 就是我们希望参数( heta)使得真实的样本与虚假的样本是尽可能可分的(逻辑斯蒂回归).
殊途同归
观察(1)式, 先展开得
[int p(x) log sigma(x; heta) + q(x) log (1-sigma(x; heta)) mathrm{d}x,
]
等价于
[int [p(x)+q(x)] [sigma(x)log sigma(x; heta)+(1-sigma(x)log (1-sigma(x; heta)] mathrm{d} x,
]
等价于最大化
[-int [p(x)+q(x)] [sigma(x)log frac{sigma(x)}{sigma(x; heta)}+(1-sigma(x)log frac{1-sigma(x)}{(1-sigma(x; heta)}] mathrm{d} x,
]
即
[-mathbb{E}_{xsim p(x)} D_mathrm{KL}(sigma (x)| sigma(x; heta))- mathbb{E}_{xsim q(x)} D_mathrm{KL}(sigma(x)| sigma(x; heta)).
]
注: 这里(sigma)本身不是一个分布, (sigma)和(1-sigma)共同表达了(c)的分布.
因为KL散度非负, 且当且仅当(sigma(x; heta) = sigma(x))的时候取0, 故最优解为
[G(x; heta)=G(x),
]
即
[frac{p(x; heta)}{p(x; heta)+q(x)} = frac{p(x)}{p(x)+q(x)},
]
即
[q(x)[p(x; heta)-p(x)]=0.
]
故, 只需要满足(p(x))非零的时候, (q(x))也非零(显然高斯分布是一定适用的), 则通过最大化(1)得到的解是唯一的且满足
[p(x; heta^*)=p(x).
]
则便是我们想要的结果.
另外, 作者说, 噪声分布(q(x))最好和(p(x))比较接近, 这样子由于比较难以区分两类样本, 可以使得判别器(逻辑斯蒂回归)更好的抓住数据的特征.