MLE<=> KL

MLE等价于KL散度


最大似然估计 (MLE) 和Kullback-Leibler散度 (KL散度) 之间有深厚的联系。我将先介绍两者之间的联系,然后通过一个例子进行说明。

首先,回忆一下两者的定义:

  • 最大似然估计:
    θ ^ = arg ⁡ max ⁡ θ L ( θ ∣ X ) \hat{\theta}=\arg \max _\theta L(\theta \mid X) θ^=argθmaxL(θX)

其中, L ( θ ∣ X ) L(\theta \mid X) L(θX) 是似然函数,表示在参数为 θ \theta θ 时观测到数据 X X X 的概率。

  • Kullback-Leibler散度:
    D K L ( P ∥ Q ) = ∑ x P ( x ) log ⁡ ( P ( x ) Q ( x ) ) D_{K L}(P \| Q)=\sum_x P(x) \log \left(\frac{P(x)}{Q(x)}\right) DKL(PQ)=xP(x)log(Q(x)P(x))

其中, P P P Q Q Q 是两个概率分布。KL散度度量了使用概率分布 Q Q Q 来近似概率分布 P P P 时的信息损失。

现在,考虑一个固定的真实分布 P P P 和一个由参数 θ \theta θ 参数化的模型分布 Q θ Q_\theta Qθ 。我们的目标是找到参数 θ \theta θ 使得模型分布 Q θ Q_\theta Qθ 最接近真实分布 P P P 。为此,我们希望最小化它们之间的KL散度。

将KL散度分解,我们有:
D K L ( P ∥ Q θ ) = ∑ x P ( x ) log ⁡ ( P ( x ) Q θ ( x ) ) = ∑ x P ( x ) log ⁡ P ( x ) − ∑ x P ( x ) log ⁡ Q θ ( x ) \begin{aligned} & D_{K L}\left(P \| Q_\theta\right)=\sum_x P(x) \log \left(\frac{P(x)}{Q_\theta(x)}\right) \\ & =\sum_x P(x) \log P(x)-\sum_x P(x) \log Q_\theta(x) \end{aligned} DKL(PQθ)=xP(x)log(Qθ(x)P(x))=xP(x)logP(x)xP(x)logQθ(x)

请注意,第一项与 θ \theta θ 无关,因此最小化KL散度等同于最大化似然函数。
举个简单例子:
考虑一个伯努利分布,真实参数为 p p p ,观测到的数据为 X X X ,其中有 n n n 个1和 N − n N-n Nn 个 0 。我们的模型分布是 Q θ Q_\theta Qθ ,参数为 θ \theta θ

似然函数是:
L ( θ ∣ X ) = θ n ( 1 − θ ) N − n L(\theta \mid X)=\theta^n(1-\theta)^{N-n} L(θX)=θn(1θ)Nn

使用KL散度,我们有:
D K L ( P ∥ Q θ ) = p log ⁡ ( p θ ) + ( 1 − p ) log ⁡ ( 1 − p 1 − θ ) D_{K L}\left(P \| Q_\theta\right)=p \log \left(\frac{p}{\theta}\right)+(1-p) \log \left(\frac{1-p}{1-\theta}\right) DKL(PQθ)=plog(θp)+(1p)log(1θ1p)

为了最小化KL散度,我们希望最大化似然函数,即选择 θ \theta θ 使得 L ( θ ∣ X ) L(\theta \mid X) L(θX) 最大。
这样,通过考虑两者的定义,可以看出MLE实际上是在尝试最小化模型分布与真实分布之间的KL散度。

“通过考虑两者的定义,可以看出MLE实际上是在尝试最小化模型分布与真实分布之间的KL散度。”

首先,Kullback-Leibler散度 (KL散度) 在两个概率分布 P \mathrm{P} P Q \mathrm{Q} Q 之间定义为:
D K L ( P ∥ Q ) = E P [ log ⁡ ( P ( X ) / Q ( X ) ) ] D_{K L}(P \| Q)=E_P[\log (P(X) / Q(X))] DKL(PQ)=EP[log(P(X)/Q(X))]

当我们考虑最大似然估计(MLE)时,我们实际上是考虑了一系列观察数据X,并试图找到参数 θ \theta θ 使得数据在模型Q_ θ \theta θ 下的似然性最大。

考虑固定的真实分布 P \mathrm{P} P 和由参数 θ \theta θ 参数化的模型分布 Q − θ , K L \mathrm{Q}_{-} \theta , \mathrm{KL} QθKL 散度表示为:
D K L ( P ∥ Q θ ) = E P [ log ⁡ ( P ( X ) / Q θ ( X ) ) ] = E P [ log ⁡ P ( X ) ] − E P [ log ⁡ Q θ ( X ) ] \begin{aligned} & D_{K L}\left(P \| Q_\theta\right)=E_P\left[\log \left(P(X) / Q_\theta(X)\right)\right] \\ & =E_P[\log P(X)]-E_P\left[\log Q_\theta(X)\right] \end{aligned} DKL(PQθ)=EP[log(P(X)/Qθ(X))]=EP[logP(X)]EP[logQθ(X)]

这里, E P [ log ⁡ P ( X ) ] E_P[\log P(X)] EP[logP(X)] 是真实分布 P \mathrm{P} P 下的期望值,并且与参数 θ \theta θ 无关。因此,最小化 D K L ( P ∥ Q θ ) D_{K L}\left(P \| Q_\theta\right) DKL(PQθ) 相当于最大化似然函数的负对数:
− E P [ log ⁡ Q θ ( X ) ] = − ∑ x P ( x ) log ⁡ Q θ ( x ) -E_P\left[\log Q_\theta(X)\right]=-\sum_x P(x) \log Q_\theta(x) EP[logQθ(X)]=xP(x)logQθ(x)

在实际应用中,我们没有真实分布 P \mathrm{P} P 的直接访问,但我们有观测数据。因此,我们用观测数据的经验分布来代替真实分布 P \mathrm{P} P ,并使用该经验分布的期望来估计负对数似然。

结论: MLE尝试找到参数 θ \theta θ 使得模型Q_ θ \theta θ 下的观测数据的似然性最大。从KL散度的角度看,这等价于最小化模型分布Q_ θ \theta θ 与观测数据经验分布 (代表真实分布 P P P ) 之间的KL散度。

因此,当我们使用MLE方法时,我们实际上是在尝试找到参数值 θ \theta θ ,使得参数化的模型分布 Q_日尽可能接近观测数据的经验分布,从而最小化它们之间的KL散度。

根据你上面的意思,那 − E P [ log ⁡ Q θ ( X ) ] -E_P[\log Q_{\theta}(X)] EP[logQθ(X)]就是 似然函数的负对数?

我刚才的表述有些不精确。让我们更明确地探讨这一点。
给定观测数据集 X = { x 1 , x 2 , … , x N } X=\left\{x_1, x_2, \ldots, x_N\right\} X={x1,x2,,xN} ,似然函数表示为:
L ( θ ∣ X ) = ∏ i = 1 N Q θ ( x i ) L(\theta \mid X)=\prod_{i=1}^N Q_\theta\left(x_i\right) L(θX)=i=1NQθ(xi)

对数似然函数是似然函数的自然对数:
ℓ ( θ ∣ X ) = log ⁡ L ( θ ∣ X ) = ∑ i = 1 N log ⁡ Q θ ( x i ) \ell(\theta \mid X)=\log L(\theta \mid X)=\sum_{i=1}^N \log Q_\theta\left(x_i\right) (θX)=logL(θX)=i=1NlogQθ(xi)

为了找到最大似然估计,我们希望最大化对数似然函数。

在之前的讨论中,我提到了:
− E P [ log ⁡ Q θ ( X ) ] = − ∑ x P ( x ) log ⁡ Q θ ( x ) -E_P\left[\log Q_\theta(X)\right]=-\sum_x P(x) \log Q_\theta(x) EP[logQθ(X)]=xP(x)logQθ(x)

这实际上是期望的负对数似然,其中的期望是基于真实分布 P \mathrm{P} P 计算的。但是,在实际的最大似然估计中,我们通常使用观测数据的经验分布来代替真实分布,所以我们尝试最大化对数似然函数 ℓ ( θ ∣ X ) \ell(\theta \mid X) (θX) ,而不是最小化负对数似然。

所以,你是对的。在给定观测数据的情况下,我们不直接使用 − E P [ log ⁡ Q θ ( X ) ] -E_P\left[\log Q_\theta(X)\right] EP[logQθ(X)] ,而是使用对数似然函数 ℓ ( θ ∣ X ) \ell(\theta \mid X) (θX) 。我的之前的描述可能引起了一些混看,对此我深感抱歉。

对数似然函数:
l ( θ ∣ X ) = log ⁡ L ( θ ∣ X ) = ∑ i = 1 N log ⁡ Q θ ( x i ) l(\theta|X)=\log L(\theta \mid X)=\sum_{i=1}^N \log Q_\theta\left(x_i\right) l(θX)=logL(θX)=i=1NlogQθ(xi) 其实和 − E P [ log ⁡ Q θ ( X ) ] = − ∑ x P ( x ) log ⁡ Q θ ( x ) -E_P\left[\log Q_\theta(X)\right]=-\sum_x P(x) \log Q_\theta(x) EP[logQθ(X)]=xP(x)logQθ(x)是等价的。只是 ∑ i = 1 N log ⁡ Q θ ( x i ) \sum_{i=1}^N \log Q_\theta\left(x_i\right) i=1NlogQθ(xi)需要再乘一个 1 N \frac{1}{N} N1。 是这样吗?
比如给定的观测数据为 X = 1 , 2 , 2 , 3 , 2 , 1 X={1,2, 2, 3,2, 1} X=1,2,2,3,2,1
那对于对数似然函数 ℓ ( θ ∣ X ) = 2 ∗ log ⁡ Q θ ( 1 ) + 3 ∗ log ⁡ Q θ ( 2 ) + 1 ∗ log ⁡ Q θ ( 2 ) \ell(\theta|X)=2*\log Q_{\theta}(1) + 3* \log Q_{\theta}(2)+1*\log Q_{\theta}(2) (θX)=2logQθ(1)+3logQθ(2)+1logQθ(2)
那前面的系数 2 , 3 , 1 2, 3, 1 2,3,1都乘以一个 1 N \frac{1}{N} N1就变成了 P ( x ) P(x) P(x)了。是这样吗?
根据你上面的意思,那 − E P [ log ⁡ Q θ ( X ) ] -E_P[\log Q_{\theta}(X)] EP[logQθ(X)]就是 似然函数的负对数?

你的理解是正确的。为了清晰地说明这一点,让我们分步骤地进行讨论。

首先,考虑对数似然函数:
ℓ ( θ ∣ X ) = ∑ i = 1 N log ⁡ Q θ ( x i ) \ell(\theta \mid X)=\sum_{i=1}^N \log Q_\theta\left(x_i\right) (θX)=i=1NlogQθ(xi)

现在,考虑经验分布 (观测数据的分布) :
P ^ ( x ) = 观测到  x 的次数  N \hat{P}(x)=\frac{\text { 观测到 } x \text { 的次数 }}{N} P^(x)=N 观测到 x 的次数 

对于你给的例子,数据集为 X = { 1 , 2 , 2 , 3 , 2 , 1 } X=\{1,2,2,3,2,1\} X={1,2,2,3,2,1} 。则:
P ^ ( 1 ) = 2 6 = 1 3 P ^ ( 2 ) = 3 6 = 1 2 P ^ ( 3 ) = 1 6 \begin{aligned} & \hat{P}(1)=\frac{2}{6}=\frac{1}{3} \\ & \hat{P}(2)=\frac{3}{6}=\frac{1}{2} \\ & \hat{P}(3)=\frac{1}{6} \end{aligned} P^(1)=62=31P^(2)=63=21P^(3)=61

基于经验分布的负对数似然期望是:
− ∑ x P ^ ( x ) log ⁡ Q θ ( x ) = − ( 1 3 log ⁡ Q θ ( 1 ) + 1 2 log ⁡ Q θ ( 2 ) + 1 6 log ⁡ Q θ ( 3 ) ) \begin{aligned} & -\sum_x \hat{P}(x) \log Q_\theta(x) \\ & =-\left(\frac{1}{3} \log Q_\theta(1)+\frac{1}{2} \log Q_\theta(2)+\frac{1}{6} \log Q_\theta(3)\right) \end{aligned} xP^(x)logQθ(x)=(31logQθ(1)+21logQθ(2)+61logQθ(3))

当你考虑对数似然函数时:
ℓ ( θ ∣ X ) = 2 log ⁡ Q θ ( 1 ) + 3 log ⁡ Q θ ( 2 ) + 1 log ⁡ Q θ ( 3 ) \ell(\theta \mid X)=2 \log Q_\theta(1)+3 \log Q_\theta(2)+1 \log Q_\theta(3) (θX)=2logQθ(1)+3logQθ(2)+1logQθ(3)

可以看到,当你将对数似然函数乘以 1 N \frac{1}{N} N1 ,得到:
1 6 ℓ ( θ ∣ X ) = 1 3 log ⁡ Q θ ( 1 ) + 1 2 log ⁡ Q θ ( 2 ) + 1 6 log ⁡ Q θ ( 3 ) \frac{1}{6} \ell(\theta \mid X)=\frac{1}{3} \log Q_\theta(1)+\frac{1}{2} \log Q_\theta(2)+\frac{1}{6} \log Q_\theta(3) 61(θX)=31logQθ(1)+21logQθ(2)+61logQθ(3)

这与基于经验分布的负对数似然期望是一致的,只是符号相反。
因此,确实,当你考虑观测数据的经验分布,并将对数似然函数乘以 1 N \frac{1}{N} N1 ,你实际上得到了基于经验分布的负对数似然期望的正值。

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

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

相关文章

加权平均、EMD、小波等方法去噪效果对比

加权平均、EMD、小波等方法去噪效果对比 代码 整体代码如下 %% clear all; clc;load(data_filter120Hz.mat); %可自己生成随机噪声 fs1000;%采样频率是1000Hz %% %生成正弦波信号 tlinspace(0, length(data)/fs-1/fs, length(data)); y1 15*sin(2*pi* 2.8 *t);%生成频率为2.…

Android之使用QBadgeView给TabLayout顶部栏设置数量角标,数值可更新

TabLayout搭配ViewPager、Fragement使用可看另一篇文章&#xff1a; Android中TabLayoutViewPagerFragment实现顶部导航栏 本文主要描述给TabLayout的某一栏添加角标&#xff0c;数值可更新&#xff1a; 一、效果 二、TabLayout使用 1、xml文件中 <com.google.android.m…

通讯协议学习之路:QSPI协议理论

通讯协议之路主要分为两部分&#xff0c;第一部分从理论上面讲解各类协议的通讯原理以及通讯格式&#xff0c;第二部分从具体运用上讲解各类通讯协议的具体应用方法。 后续文章会同时发表在个人博客(jason1016.club)、CSDN&#xff1b;视频会发布在bilibili(UID:399951374) 一、…

【Django 01】环境搭配与项目配置

1. 介绍 https://github.com/Joe-2002/sweettalk-django4.2#readme Django 是一个使用 Python 编写的开源 Web 应用程序框架&#xff0c;它提供了一套用于快速开发安全、 可扩展和高效的 Web 应用程序的工具和功能。Django 基于 MVC&#xff08;Model-View-Controller&#xf…

Windows11家庭版没有本地组策略编辑器解决

1. 新建一个文本文件将下面代码粘到里面&#xff0c;保存后修改后缀为.cmd或者.bat echo off pushd "%~dp0"dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txt dir /b C:\Windows\servicing\Packa…

redis(普通连接和连接池、字符串类型、hash类型、列表类型)

1 redis普通连接和连接池 1.1 普通连接 1.2 连接池 2 redis字符串类型 3 redis hash类型 4 redis列表类型 1 redis普通连接和连接池 #1 python 代码作为客户端---》连接# 2 安装模块&#xff1a;pip install redis1.1 普通连接 from redis import Redisconn Redis(host&qu…

Selenium浏览器自动化怎么上传文件

Selenium 封装了现成的文件上传操作。但是随着现代前端框架的发展&#xff0c;文件上传的方式越来越多样。而有一些文件上传的控件&#xff0c;要做自动化控制会更复杂一些&#xff0c;这篇文章主要讨论在复杂情况下&#xff0c;如何通过自动化完成文件上传。 1. input 元素上传…

蓝桥杯每日一题2023.10.17

迷宫 - 蓝桥云课 (lanqiao.cn) 题目描述 样例&#xff1a; 01010101001011001001010110010110100100001000101010 00001000100000101010010000100000001001100110100101 01111011010010001000001101001011100011000000010000 0100000000101010001101000010100000101010101100…

Ubuntu18中的连接网络图标恢复

上图的图标不存在&#xff0c;也连不上网。 输入命令停止网络管理 service NetworkManager stop删除网络管理缓存文件 sudo rm /var/lib/NetworkManager/NetworkManager.state重启网络管理 service NetworkManager start修改网络管理文件 将‘managedfalse’修改为‘man…

性能测试-JMeter分布式测试及其详细步骤

性能测试概要 性能测试是软件测试中的一种&#xff0c;它可以衡量系统的稳定性、扩展性、可靠性、速度和资源使用。它可以发现性能瓶颈&#xff0c;确保能满足业务需求。很多系统都需要做性能测试&#xff0c;如Web应用、数据库和操作系统等。 性能测试种类非常多&#xff0c…

[常用组件]文本省略 + Tooltip提示

[常用组件]文本省略 Tooltip提示 很常用就对了 单行省略 .text {width: 100px;text-overflow: ellipsis;overflow: hidden;word-break: break-all;white-space: nowrap; }多行省略 .text{width: 100px;display: -webkit-box;overflow: hidden;text-overflow: ellipsis;-we…

一文读懂PostgreSQL中的索引

前言 索引是加速搜索引擎检索数据的一种特殊表查询。简单地说&#xff0c;索引是一个指向表中数据的指针。一个数据库中的索引与一本书的索引目录是非常相似的。 拿汉语字典的目录页&#xff08;索引&#xff09;打比方&#xff0c;我们可以按拼音、笔画、偏旁部首等排序的目录…

官媒代运营:如何将内容营销做到深入人心

生活中&#xff0c;信息传递和有效的沟通是我们与世界互动的重要方式&#xff0c;而语言是这种互动的关键媒介。然而&#xff0c;在营销界&#xff0c;我们已经迈出了更深一步&#xff0c;将语言与内容相结合&#xff0c;以创造内容营销这一强大的战略工具。内容&#xff0c;作…

小程序入门及案例展示

目录 一、小程序简介 1.1 为什么要使用小程序 1.2 小程序可以干什么 二、前期准备 2.1 申请账号 2.2 开发工具下载与安装 三、电商案例演示 四、入门案例 4.1 项目结构解析 4.2 基础操作及语法 4.3 模拟器 4.4 案例演示 4.4.1 新建页面 4.4.2 头部样式设置 4.4.…

Oracle 控制文件的作用与控制文件创建

1、控制文件存储的数据信息 1) 数据库名称和数据库唯一标识符 (DBID)&#xff0c;通过 select name,dbid from v$database; 查 询 DBID 和数据库名称 2) 创建数据库的时间戳 3) 有关数据文件、联机重做日志文件、归档重做日志文件的信息 4) 表空间信息 5) 检查点信息 6) 日志序…

linux 防火墙介绍以及iptables的使用

背景介绍 在前几天&#xff0c;于工发现我们内部的150服务器7554端口被外网访问了。该应用提供着内部的摄像头资源。为了避免被入侵&#xff0c;于是我添加了一些iptables规则&#xff0c;防止外网的访问。 解决方式 解决方式有两种&#xff1a; 关闭公司公网路由器对150服务…

论文阅读-多目标强化学习-envelope MOQ-learning

introduction 一种多目标强化学习算法&#xff0c;来自2019 Nips《A Generalized Algorithm for Multi-Objective Reinforcement Learning and Policy Adaptation》 总体思想 待补充 算法 虽然论文中用的是Q-learning的架构&#xff0c;但是在提供的代码中&#xff0c;采用…

神经网络量化----为了部署而特别设计

引言&#xff1a;一般神经网络量化有两个目的&#xff1a; 为了加速&#xff0c;在某些平台上浮点数计算比较耗费时间&#xff0c;替换为整形可以加快运算为了部署&#xff0c;某些平台上只支持整形运算&#xff0c;比如在芯片中 如果是第1个目的&#xff0c;则使用常规的量化手…

算法通关村第二关|青铜|链表反转

1.建立虚拟头结点辅助反转 1.1 反转链表&#xff1a;使用虚拟头结点辅助反转。 public ListNode reverseList(ListNode head) {ListNode ans new ListNode(0);ListNode cur head;while (cur ! null) {ListNode next cur.next;cur.next ans.next;ans.next cur;cur next;…

笙默考试管理系统-MyExamTest----codemirror(34)

笙默考试管理系统-MyExamTest----codemirror&#xff08;34&#xff09; 目录 一、 笙默考试管理系统-MyExamTest 二、 笙默考试管理系统-MyExamTest 三、 笙默考试管理系统-MyExamTest 四、 笙默考试管理系统-MyExamTest 五、 笙默考试管理系统-MyExamTest 笙默考试…