Estimation of Non-Normalized Statistical Models by Score Matching
概
我们常常会建模如下的概率模型:
\]
比如energy-based models.
上述问题一般来说用极大似然不易求解, 因为
\]
常常不易估计(特别是高维的情形, 用MCMC是致命的).
所以倘若能够抛开\(Z(\theta)\)就能估计参数就好了, 本文就是提出了这个一个方法(虽然要求二阶导, 倘若用梯度方法求解便是需要三阶偏导了.)
我发现这个人也是噪声对比估计(负样本采样)的作者之一.
主要内容
方法
令
\left (
\begin{array}{cc}
\frac{\partial \log p(\xi;\theta)}{\partial \xi_1} \\
\vdots \\
\frac{\partial \log p(\xi;\theta)}{\partial \xi_n} \\
\end{array}
\right )
=\left (
\begin{array}{cc}
\psi_1(\xi;\theta) \\
\vdots \\
\psi_n(\xi;\theta) \\
\end{array}
\right )
=\nabla_{\xi} \log p(\xi;\theta),
\]
并令
\]
其中\(p_x(\xi)\)表示数据真实的分布.
最小化下列损失能够保证\(p(\xi;\theta)\)逼近\(p_x(\xi)\):
\]
损失函数的转换
显然
\]
设及真实分布, 不易求解, 但是通过对损失函数的转换, 我们发现其与真实分布并没有大的联系.
\psi(\xi;\theta) = \nabla_{\xi} \log p(\xi;\theta) = \nabla_{\xi} \log q (\xi;\theta).
\]
=\|\psi(\xi;\theta)\|^2 - 2\psi^T(\xi;\theta) \psi_x(\xi) + \|\psi_x(\xi)\|^2,
\]
第一项与\(p_x\)无关, 最后一项与\(\theta\)无关, 故只需考虑第二项:
= \sum_{i=1}^n \psi_{i}\frac{1}{p_x(\xi)} \frac{\partial p_x(\xi)}{\partial \xi_i},
\]
故
\int p_x(\xi) \psi^T(\xi;\theta)\psi_x(\xi) \mathrm{d}\xi
&=\int \sum_{i=1}^n \psi_{i}\frac{\partial p_x(\xi)}{\partial \xi_i} \mathrm{d}\xi \\
&=\sum_{i=1}^n \int \psi_{i}\frac{\partial p_x(\xi)}{\partial \xi_i} \mathrm{d}\xi \\
&=\sum_{i=1}^n \int \psi_{i}p_x(\xi)|_{\xi_i=-\infty}^{\xi_i=+\infty} \mathrm{d}\xi_{\setminus i} - \int p_x(\xi) \frac{\partial \psi_i}{\partial \xi_i} \mathrm{d}\xi.\\
&=-\sum_{i=1}^n \int p_x(\xi) \frac{\partial \psi_i}{\partial \xi_i} \mathrm{d}\xi.
\end{array}
\]
故:
\]
故我们可以用如下损失近似:
\]
注: 上述证明需要用到如下条件:
- \(p_x(\xi), \psi(\xi;\theta)\)可微;
- \(p_x(\xi) \psi(\xi;\theta) \rightarrow 0, \text{ if } \|\xi\| \rightarrow +\infty\).
一个例子
考虑多为正态分布:
\]
此时\(\hat{J}\)存在显示解, 且恰为:
M^* = [\frac{1}{T}\sum_{t=1}^T (x(t) - \mu^*) (x(t) - \mu^*)^T]^{-1},
\]
为极大似然估计的解.
Estimation of Non-Normalized Statistical Models by Score Matching的更多相关文章
- Statistical Models and Social Science
1.1 Statistical Models and Social Reality KEY: complex society v.s statistical models relationship,d ...
- 2.6. Statistical Models, Supervised Learning and Function Approximation
Statical model regression $y_i=f_{\theta}(x_i)+\epsilon_i,E(\epsilon)=0$ 1.$\epsilon\sim N(0,\sigma^ ...
- My deep learning reading list
My deep learning reading list 主要是顺着Bengio的PAMI review的文章找出来的.包括几本综述文章,将近100篇论文,各位山头们的Presentation.全部 ...
- Deep Learning关于Vision的Reading List
最近开始学习深度学习了,加油! 下文转载自:http://blog.sina.com.cn/s/blog_bda0d2f10101fpp4.html 主要是顺着Bengio的PAMI review的文 ...
- NCE损失(Noise-Constrastive Estimation Loss)
1.算法概述 假设X是从真实的数据(或语料库)中抽取的样本,其服从一个相对可参考的概率密度函数P(d),噪音样本Y服从概率密度函数为P(n),噪音对比估计(NCE)就是通过学习一个分类器把这两类样本区 ...
- Tensorflow.nn 核心模块详解
看过前面的例子,会发现实现深度神经网络需要使用 tensorflow.nn 这个核心模块.我们通过源码来一探究竟. # Copyright 2015 Google Inc. All Rights Re ...
- Data - Tools
数据工具汇总 史上最全的大数据分析和制作工具 全球100款大数据工具汇总 SQL 数据分析常用语句 01 - NumPy HomePage:http://www.numpy.org/ NumPy(数值 ...
- 使用movielens数据集动手实现youtube推荐候选集生成
综述 之前在博客中总结过nce损失和YouTuBe DNN推荐;但大多都还是停留在理论层面,没有实践经验.所以笔者想借由此文继续深入探索YouTuBe DNN推荐,另外也进一步总结TensorFlow ...
- Noise Contrastive Estimation
Notes from Notes on Noise Contrastive Estimation and Negative Sampling one sample: \[x_i \to [y_i^0, ...
随机推荐
- nodeJs,Express中间件是什么与常见中间件
中间件的功能和分类 中间件的本质就是一个函数,在收到请求和返回相应的过程中做一些我们想做的事情.Express文档中对它的作用是这么描述的: 执行任何代码.修改请求和响应对象.终结请求-响应循环.调用 ...
- keil 报错 expected an identifier
该报错是因为命名重复,可能是因为你加的头文件里面的命名和原程序中的有重复,所以产生了错误.
- Can we use function on left side of an expression in C and C++?
In C, it might not be possible to have function names on left side of an expression, but it's possib ...
- 【编程思想】【设计模式】【测量模式Testability】Setter_injection
Python版 https://github.com/faif/python-patterns/blob/master/dft/setter_injection.py #!/usr/bin/pytho ...
- Linux:spool命令
格式调整有以下参数: set echo on/off--是否显示脚本中的需要执行的命令 set feedback on/off--是否显示 select 结果之后返回多少行的提示 set linesi ...
- window 查看端口占用情况
查看哪个进程在用 netstat -aon|findstr "8080" TCP 0.0.0.0:8080 0.0.0.0:0 ...
- new Date()与setDate()参数
New Date()与setDate()参数 相信网上已经有很多关于日期的文章了,这里只是我自己再工作中遇到的问题然后加以总结: new Date() new Date() 一共有六种形式,五种带参数 ...
- JAVA日志发展史
JAVA日志发展史 第一阶段 2001年以前,Java是没有日志库的,打印日志全凭System.out和System.err 缺点: 产生大量的IO操作同时在生产环境中无法合理的控制是否需要输出 输出 ...
- 声临其境,轻松几步教你把音频变成3D环绕音
在音乐创作.音视频剪辑和游戏等领域中,给用户带来沉浸式音频体验越来越重要.开发者如何在应用内打造3D环绕声效?华为音频编辑服务6.2.0版本此次带来了空间动态渲染功能,可以将人声.乐器等音频元素渲染到 ...
- mit6.830-lab2-常见算子和 volcano 执行模型
一.实验概览 github : https://github.com/CreatorsStack/CreatorDB 这个实验需要完成的内容有: 实现过滤.连接运算符,这些类都是继承与OpIterat ...