Score Matching

news2024/11/27 0:26:29

目录

  • 简介
  • Score Function
  • 求解方法
  • emm
  • 参考

简介

score matching算法是一种求解概率密度函数的参数的算法。
在很多情况下,概率密度函数可以表示为:
p ( ξ ; θ ) = 1 Z ( θ ) q ( ξ ; θ ) p(\xi;\theta)=\frac{1}{Z(\theta)}q(\xi;\theta) p(ξ;θ)=Z(θ)1q(ξ;θ)
假设我们知道 q q q的解析表达式,但是因为 Z Z Z的计算需要积分计算,并不能简单地计算 Z Z Z
score matching算法通过绕开归一化常数 Z Z Z,求解概率密度函数的参数 θ \theta θ

Score Function

为了去掉 Z Z Z,我们定义分数函数score function ψ ( ξ ; θ ) \psi(\xi;\theta) ψ(ξ;θ):
ψ ( ξ ; θ ) = ( ∂ log ⁡ p ( ξ ; θ ) ∂ ξ 1 ⋮ ∂ log ⁡ p ( ξ ; θ ) ∂ ξ n ) = ( ψ 1 ( ξ ; θ ) ⋮ ψ n ( ξ ; θ ) ) = ∇ ξ log ⁡ p ( ξ ; θ ) \psi(\xi;\theta)=\left (\begin{array}{c} \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}{c} \psi_1(\xi;\theta) \\ \vdots \\ \psi_n(\xi;\theta) \\ \end{array}\right)=\nabla_\xi \log p(\xi;\theta) ψ(ξ;θ)=ξ1logp(ξ;θ)ξnlogp(ξ;θ)=ψ1(ξ;θ)ψn(ξ;θ)=ξlogp(ξ;θ)
因为 Z ( θ ) Z(\theta) Z(θ) ξ \xi ξ无关,通过score function可以去掉 Z ( θ ) Z(\theta) Z(θ),即score function只依赖 q q q
ψ ( ξ ; θ ) = ∇ ξ log ⁡ q ( ξ ; θ ) \psi(\xi;\theta)=\nabla_\xi\log q(\xi;\theta) ψ(ξ;θ)=ξlogq(ξ;θ)

另外,用 ψ x ( ⋅ ) = ∇ ξ log ⁡ p x ( ⋅ ) \psi_x(\cdot)=\nabla_\xi \log p_x(\cdot) ψx()=ξlogpx()表示观测数据的score function。

求解方法

score matching算法通过最小化模型分数函数 ψ ( ξ ; θ ) \psi(\xi;\theta) ψ(ξ;θ)和数据分数函数 ψ x ( ξ ; θ ) \psi_x(\xi;\theta) ψx(ξ;θ)的平方差的期望来得到参数 θ \theta θ。该期望的定义如下:
J ( θ ) = 1 2 ∫ ξ ∈ R n p x ( ξ ) ∥ ψ ( ξ ; θ ) − ψ x ( ξ ; θ ) ∥ 2 d ξ J(\theta)=\frac{1}{2}\int_{\xi\in \mathbb{R}^n}p_x(\xi)\|\psi(\xi;\theta)-\psi_x(\xi;\theta)\|^2d\xi J(θ)=21ξRnpx(ξ)ψ(ξ;θ)ψx(ξ;θ)2dξ
最小化上面的期望将得到 θ \theta θ的score matching估计量(estimator):
θ ^ = argmin J ( θ ) \hat{\theta}=\text{argmin}J(\theta) θ^=argminJ(θ)
因为score function不含有 Z Z Z,优化 J ( θ ) J(\theta) J(θ)可以去掉对 Z Z Z的计算。但值得注意的是,直接优化 J ( θ ) J(\theta) J(θ)依然很难,因为数据分数函数 ψ x ( ξ ; θ ) \psi_x(\xi;\theta) ψx(ξ;θ)的计算是一个非参数估计问题(non-parametric estimation problem)。

但是可以证明 J ( θ ) J(\theta) J(θ)可以重写成没有数据分数函数的形式:
J ( θ ) = ∫ ξ ∈ R n p x ( ξ ) ∑ i = 1 n [ ∂ i ψ i ( ξ ; θ ) + 1 2 ψ i ( ξ ; θ ) 2 ] d ξ + c o n s t J(\theta)=\int_{\xi\in \mathbb{R}^n}p_x(\xi)\sum_{i=1}^n[\partial_i\psi_i(\xi;\theta)+\frac{1}{2}\psi_i(\xi;\theta)^2]d\xi+const J(θ)=ξRnpx(ξ)i=1n[iψi(ξ;θ)+21ψi(ξ;θ)2]dξ+const
下面是论文中给出的完整定理。
在这里插入图片描述
现实中,假设我们有 T T T个观测值 x ( 1 ) , … , x ( T ) x(1),\ldots,x(T) x(1),,x(T)。根据大数定理,期望可以用平均数表示, J J J则表示成
J ~ ( θ ) = 1 T ∑ t = 1 T ∑ i = 1 n [ ∂ i ψ i ( x ( t ) ; θ ) + 1 2 ψ i ( x ( t ) ; θ ) 2 ] d ξ + c o n s t \tilde{J}(\theta)=\frac{1}{T}\sum_{t=1}^T\sum_{i=1}^n[\partial_i\psi_i(x(t);\theta)+\frac{1}{2}\psi_i(x(t);\theta)^2]d\xi+const J~(θ)=T1t=1Ti=1n[iψi(x(t);θ)+21ψi(x(t);θ)2]dξ+const
可以证明,如果 θ ^ \hat{\theta} θ^ J ~ \tilde{J} J~的全局最优解,那么估计量 θ ^ \hat{\theta} θ^将具有一致性(consistent)。
具有一致性的估计量是渐进无偏(asymptotic unbiasedness)的。

emm

从统计学的角度理解score matching。score matching就是要从观测数据估计出总体的未知参数。 θ ^ \hat{\theta} θ^是估计量, θ \theta θ是被估计量。估计量需要具有一些性质才是好的估计量。这里 θ ^ \hat{\theta} θ^在一定条件下具有一致性(consistent)。

参考

[1]: Estimation of Non-Normalized Statistical Models by Score Matching

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/86053.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[Java] 什么是锁?什么是并发控制?线程安全又是什么?锁的本质是什么?如何实现一个锁?

文章目录前言并发控制并发访问控制是什么?如何实现并发访问控制?并发访问控制 与 线程安全锁是什么?1. 加锁操作2. 解锁操作锁状态是什么?如何实现一个锁?笔者相关博客连接结语前言 多线程编程中,锁是最重要…

oracle (+)学习

最近工作需要将oracle的存储过程转化为hive的sql脚本。遇到很多不一样的地方,例如oracle连接中有()号的用法。 借鉴这篇文章,但是这个排版比较烂。。。 oracle ()的,Oracle中()的作用_大雪菜的博客-CSDN博客 先建表和插入数据 --生成部门表CREATE TA…

2014年蓝桥杯Java C组——猜年龄

2014年蓝桥杯Java C组——猜年龄 标题:猜年龄 小明带两个妹妹参加元宵灯会。别人问她们多大了,她们调皮地说:“ 我们俩的年龄之积是年龄之和的6倍”。 小明又补充说:“她们可不是双胞胎,年龄差肯定也不超过8岁啊。” 请你写出:小明的较小的…

状态模式

文章目录状态模式1.状态模式的本质2.何时选用状态模式3.优缺点4.状态模式的结构5.实现上下文中维护状态及转换状态上下文中维护状态处理类中转换状态状态模式 状态模式说白了就是不同的状态,执行不同的行为,也就是状态和行为分离 1.状态模式的本质 状态模…

Eclipse+Java+Swing+Mysql实现自助存取款机(ATM)系统

EclipseJavaSwingMysql实现自助存取款机ATM系统一、系统介绍1.系统功能2.环境配置3.数据库4.工程截图二、系统展示1.登录页1.1登录成功2.注册系统3.取款3.1取款成功4.存款4.1 存款成功5.转账6.余额查询7.退出系统三、部分代码DBUtil.javaLoginFrame.javaAccount.java四、其他获…

python编程 for循环注意点与大写转换案例

作者简介:一名在校计算机学生、每天分享Python的学习经验、和学习笔记。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 range方法 一for循环表达式 for循环表达式 与数字有关 与单位有关 前言…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java基于信息安全的无锡旅游服务系统5l83d

面对老师五花八门的设计要求,首先自己要明确好自己的题目方向,并且与老师多多沟通,用什么编程语言,使用到什么数据库,确定好了,在开始着手毕业设计。 1:选择课题的第一选择就是尽量选择指导老师…

MHA的故障切换你掌握了吗?

MHA的概述 什么是MHA MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。 MHA 的出现就是解决MySQL 单点的问题。 MySQL故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作。 MHA能在故障切换的过程…

用Python构建Amazon产品推荐系统!这项目价值能有2000吗?

引言 该项目的目标是部分重建Amazon电子类产品的推荐系统。 现在是十二月!你是什么类型的购物者?双十二都购买了吗?你是把当天想购买的所有产品都保存起来,还是宁愿打开网站,查看带有巨大折扣的现场优惠呢&#xff1…

从单服务器模式到负载均衡设计

从单服务器模式到负载均衡设计 作者:Grey 原文地址: 博客园:从单服务器模式到负载均衡设计 CSDN:从单服务器模式到负载均衡设计 单服务器模型是最简单的一种架构,参考如下图 用户访问一个 URL,URL 会…

java计算机毕业设计基于安卓Android的校园外卖点餐APP

项目介绍 餐饮行业是一个传统的行业。根据当前发展现状,网络信息时代的全面普及,餐饮行业也在发生着变化,单就点餐这一方面,利用手机点单正在逐步进入人们的生活。传统的点餐方式,不仅会耗费大量的人力、时间,有时候还会出错。Android系统伴随智能手机为我们提供了新的方向。手…

基于转换器 (MMC) 技术和电压源转换器 (VSC) 的高压直流 (HVDC) 模型(MatlabSimulink实现)

目录 1 概述 2 主要模块说明 2.1 简化电网 2.2 转换器 1 2.3 直流电路 2.4 控制器 2.5 示波器和测量 3 讲解 3.1 参数设置 3.2 SPS 比较 3.3 结果比较 3.4 参考文献 4 Matlab代码实现 1 概述 1000 MW HVDC-MMC 互连的 SPS 模型。本文基于模块化多电平转换器 (MMC)…

计算机网络-数据链路层:以太网协议、ARP协议、MAC、MTU

目录 一、以太网协议 1. 认识以太网 2. 协议格式 二、 MAC地址 1. 认识MAC地址 2. 对比MAC地址与IP地址 三、ARP协议 1. 认识ARP协议 2. ARP协议的作用 3. ARP协议的工作流程 4. ARP欺骗攻击 四、MTU 1. 认识MTU 2. MTU对IP协议的影响(了解&#xff…

在线教育系统源码讲解与代码分析

目前,许多行业已经开始向直播领域靠拢,例如直播带货、教育直播、娱乐直播等领域,想要在此分一杯羹,以在线教育系统来说,在2020年以后便进入了“白热化”,更多的直播、教育展现在大众视野中。在粉丝经济的时…

Linux的进程空间管理

用户态和内核态的划分 进程的虚拟地址空间,其实就是站在项目组的角度来看内存,所以我们就从task_struct出发来看。这里面有一个struct mm_struct结构来管理内存。 struct mm_struct *mm; 在struct mm_struct里面,有这样一个成员变量&#…

如何利用ArcGIS实现电子地图可视化表达?分析空间数据?提升SCI论文的层次?探究环境与生态因子对水体、土壤、大气污染物等影响?

查看原文>>>如何利用ArcGIS探究环境与生态因子对水体、土壤、大气污染物等影响 如何利用ArcGIS实现电子地图可视化表达?如何利用ArcGIS分析空间数据?如何利用ArcGIS提升SCI论文的层次?制图是地理数据展现的直观形式,也是…

ARM存储模型(数据存储、指令存储)

目录 1、ARM数据存储 (1) ARM数据类型 (2) ARM数据存储的方式 2、ARM的指令存储 (1) 指令集的分类 (2) 为什么ARM指令集的PC值与低2位无关? 1、ARM数据存储 (1) ARM数据类型 ARM采用32位架构,即ARM一次可以处理32bit的数据,基本的数据…

Linux--进程间通信(2)--共享内存--1126

1.共享内存的原理 进程A先申请一段内存空间,其页表映射到物理空间,进程B通过A的页表映射,将B的页表也同样映射到同一块物理空间。 释放共享内存 各自修改各自的页表指向并释放共享内存 2.共享内存的建立过程 头文件 comm.hpp #pragma o…

Windows系统dos命令之cmd

目录1. 使用cd命令快速切换到指定的盘符中1.1 参数说明1.2 cd 切换盘符2. 使用cd命令切换到指定的目录中2.1 切换指定目录3. 使用cd命令退回到上一层目录3.1 使用命令 ”cd ..“4. 使用cd命令直接退回到当前根目录下4.1 使用命令cd \1. 使用cd命令快速切换到指定的盘符中 cd 是…

JUC并发编程第十一篇,Java对象的内存布局

JUC并发编程第十一篇,Java对象的内存布局一、对象在堆内存中的存储布局1、对象头对象标记Mark Word类元信息(类型指针)2、实例数据3、对齐填充二、对象标记(MarkWord)布局与验证代码验证(JOL)一…