欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

Noise-contrastive estimation简介

发布时间:2024/1/1 编程问答 86 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Noise-contrastive estimation简介 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

Noise-contrastive estimation(NCE)是一种估计统计模型参数的方法。
基本思想是用非线性逻辑回归(nonlinear logistic regression)区分观测数据和一些人为产生的噪声数据,在区分的时候学习统计模型的参数。
作者证明该方法的估计量是一个一致(收敛)估计量,并分析了渐近方差。
特别地,该方法可以直接用于非归一化模型的参数估计,即概率密度函数积分不为1的模型。归一化常数可以像任何其他参数一样进行估计。

NCE的估计量

X=(x1,…,xT)X=(\mathbf{x}_1, \ldots, \mathbf{x}_T)X=(x1,,xT)表示观测数据,我们用分布pm(⋅;θ)p_m(\cdot; \theta)pm(;θ)去拟合。Y=(y1,…,yT)Y=(\mathbf{y}_1, \ldots, \mathbf{y}_T)Y=(y1,,yT)表示任意的噪声数据,其符合分布pn(⋅)p_n(\cdot)pn()。估计量θ^T\hat{\theta}_Tθ^T被定义为最大化下面目标函数的θ\thetaθ
JT(θ)=12T∑tln⁡[h(xt;θ)]+ln⁡[1−h(yt;θ)](1)J_T(\theta) = \frac{1}{2T} \sum_t \ln[h(\mathbf x_t;\theta)] + \ln[1-h(\mathbf y_t;\theta)] \tag{1} JT(θ)=2T1tln[h(xt;θ)]+ln[1h(yt;θ)](1)其中
h(u;θ)=11+exp⁡[−G(u;θ)]G(u;θ)=ln⁡pm(u;θ)−ln⁡pn(u)h(\mathbf u;\theta) = \frac{1}{1+\exp[-G(\mathbf u; \theta)]}\\ G(\mathbf u; \theta) = \ln p_m(\mathbf u; \theta) - \ln p_n(\mathbf u) h(u;θ)=1+exp[G(u;θ)]1G(u;θ)=lnpm(u;θ)lnpn(u)
logistic regression的函数是r(x)=11+exp⁡(−x)r(x) = \frac{1}{1+\exp(-x)}r(x)=1+exp(x)1,那么h(u;θ)=r(G(u;θ))h(\mathbf u;\theta) = r(G(\mathbf u; \theta))h(u;θ)=r(G(u;θ))
公式(1)是区分数据来自X或者噪声Y的logistic regression的log-likelihood。
NCE的思想就是,通过区分数据和噪声,可以学习到数据的分布。

作者证明了估计量θ^T\hat{\theta}_Tθ^T的一致性:

噪声分布的选择

噪声分布应该尽可能的和数据分布相似,否则的话分类问题太过于简单,算法学习不到符合真实数据分布的参数。
可以先学习一个基础的模型去拟合数据分布,再将这个基础模型作为噪声分布。

参考

AISTATS 2010《Noise-contrastive estimation: A new estimation principle for unnormalized statistical models》

总结

以上是生活随笔为你收集整理的Noise-contrastive estimation简介的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。