信息熵为凹函数-推导

凹函数和凸函数,是凹凸是相对于x轴来说的,对于熵来说,它是凹函数。因为它是-log函数,函数曲线相对于x轴来说是凸的。

Jensen不等式推导

以下是证明熵是凹函数。

引理:

①Jensen不等式,条件:对于实数域上的凸函数f,如果x是一个随机变量,则不等式可以表述为: f ( E [ x ] ) ≤ E [ f ( x ) ] f(E[x])\leq E[f(x)] f(E[x])E[f(x)],意为自变量均值的函数值(曲线上的值)≤自变量函数值的均值(直线上的值)。

②利用Jensen不等式判定函数为凹或凸。

凸:如果对于所有的x,y和所有t ∈ [ 0 , 1 ] \in[0,1] [0,1],满足: f ( t ⋅ x + ( 1 − t ) ⋅ x ) ≤ t ⋅ f ( x ) + ( 1 − t ) ⋅ f ( x ) f(t \cdot x\ +\ (1-t)\cdot x)\leq t\cdot f(x) \ +\ (1-t)\cdot f(x) f(tx + (1t)x)tf(x) + (1t)f(x),则为凸函数——直线上的点y值要比曲线上的点y值大。

凹:则相反。

因为-log函数是凸函数。所以, − log ⁡ ( t ⋅ x + ( 1 − t ) ⋅ x ) ≥ t ⋅ ( − log ⁡ ( x ) ) + ( 1 − t ) ⋅ ( − log ⁡ ( x ) ) -\log(t\cdot x+ (1-t)\cdot x)\geq t\cdot (-\log(x)) + (1-t)\cdot (-\log(x)) log(tx+(1t)x)t(log(x))+(1t)(log(x))

H ( λ p + ( 1 − λ ) q ) ) = ∑ i = 1 n − ( λ p i + ( 1 − λ ) q i ) ⋅ log ⁡ ( λ p i + ( 1 − λ ) q i ) = ∑ i = 1 n ( λ p i + ( 1 − λ ) q i ) ⋅ − log ⁡ ( λ p i + ( 1 − λ ) q i ) ≥ ∑ i = 1 n ( λ p i + ( 1 − λ ) q i ) ( λ ⋅ − log ⁡ p i + ( 1 − λ ) ( − log ⁡ q i ) ) = ∑ i = 1 n ( λ p i ⋅ − log ⁡ p i + λ p i ⋅ ( 1 − λ ) ( − log ⁡ q i ) ) + ( 1 − λ ) q i ⋅ − log ⁡ p i + ( 1 − λ ) q i ⋅ ( 1 − λ ) ( − log ⁡ q i ) ) = ∑ i = 1 n ( λ p i ⋅ − log ⁡ p i + ( 1 − λ ) q i ⋅ ( 1 − λ ) ( − log ⁡ q i ) ) + ∑ i = 1 n ( λ p i ⋅ ( 1 − λ ) ( − log ⁡ q i ) ) + ( 1 − λ ) q i ⋅ − log ⁡ p i ) ≥ ∑ i = 1 n ( λ p i ⋅ − log ⁡ p i + ( 1 − λ ) q i ⋅ ( 1 − λ ) ( − log ⁡ q i ) ) = λ 2 H ( p ) + ( 1 − λ ) 2 H ( q ) = λ H ( p ) + ( 1 − λ ) H ( q ) H(\lambda p + (1- \lambda) q))=\sum_{i=1}^n-(\lambda p_i+(1-\lambda ) q_i)\cdot \log(\lambda p_i+(1-\lambda )q_i)\\ =\sum_{i=1}^n(\lambda p_i+(1-\lambda ) q_i)\cdot -\log(\lambda p_i+(1-\lambda )q_i)\\ \geq \sum_{i=1}^n (\lambda p_i+(1-\lambda)q_i) (\lambda \cdot -\log p_i+(1-\lambda) (-\log q_i))\\=\sum_{i=1}^n(\lambda p_i\cdot -\log p_i + \lambda p_i \cdot (1-\lambda) (-\log q_i)) + (1-\lambda)q_i \cdot -\log p_i+ (1-\lambda)q_i \cdot (1-\lambda) (-\log q_i))\\=\sum_{i=1}^n(\lambda p_i\cdot -\log p_i + (1-\lambda)q_i \cdot (1-\lambda) (-\log q_i))+\sum_{i=1}^n(\lambda p_i \cdot (1-\lambda) (-\log q_i)) + (1-\lambda)q_i \cdot -\log p_i)\\\geq\sum_{i=1}^n(\lambda p_i\cdot -\log p_i + (1-\lambda)q_i \cdot (1-\lambda) (-\log q_i))\\ =\lambda^2 H(p)+(1-\lambda)^2H(q)\\=\lambda H(p)+(1-\lambda)H(q) H(λp+(1λ)q))=i=1n(λpi+(1λ)qi)log(λpi+(1λ)qi)=i=1n(λpi+(1λ)qi)log(λpi+(1λ)qi)i=1n(λpi+(1λ)qi)(λlogpi+(1λ)(logqi))=i=1n(λpilogpi+λpi(1λ)(logqi))+(1λ)qilogpi+(1λ)qi(1λ)(logqi))=i=1n(λpilogpi+(1λ)qi(1λ)(logqi))+i=1n(λpi(1λ)(logqi))+(1λ)qilogpi)i=1n(λpilogpi+(1λ)qi(1λ)(logqi))=λ2H(p)+(1λ)2H(q)=λH(p)+(1λ)H(q)
因为 q i q_i qi p i p_i pi都是0-1的概率,所以一长串要大于单独的剩下两项。同时,尽管最后有 λ 2 \lambda^2 λ2 ( 1 − λ ) 2 (1-\lambda)^2 (1λ)2,因为关注的是线性组合,这都是常数,可以改写成另一种常数,(这里我不确定是否合理,希望小伙伴多多指正)所以这是最后的化简结果。

最后得到 H ( λ p + ( 1 − λ ) q ) ≥ λ H ( p ) + ( 1 − λ ) H ( q ) H(\lambda p+(1-\lambda)q)\geq\lambda H(p)+(1-\lambda)H(q) H(λp+(1λ)q)λH(p)+(1λ)H(q),即熵是凹函数。

这是利用了Jensen不等式来辅助证明的。

下面知乎博客的证明式子更直接简单易于理解。直接看图。

image-20240508114904820

GPT推导

GPT给的回答是这样,但现在理解不了。

好的,让我们重新审视熵是凹函数这一性质,并结合之前的讨论。

我们知道熵$ ( H(X) ) $的定义为:

[ H ( X ) = − ∑ x P ( x ) log ⁡ P ( x ) ] [ H(X) = - \sum_{x} P(x) \log P(x) ] [H(X)=xP(x)logP(x)]

我们需要证明熵的二阶导数是负的,即$ ( \frac{{d2H}}{{dx2}} < 0 )$。

首先,我们计算一阶导数:

[ d H d x = − ∑ x ( d P ( x ) d x log ⁡ P ( x ) + P ( x ) d ( log ⁡ P ( x ) ) d x ) ] [ \frac{{dH}}{{dx}} = - \sum_{x} \left( \frac{{dP(x)}}{{dx}} \log P(x) + P(x) \frac{{d(\log P(x))}}{{dx}} \right) ] [dxdH=x(dxdP(x)logP(x)+P(x)dxd(logP(x)))]

接着,计算二阶导数:

[ d 2 H d x 2 = − ∑ x ( d 2 P ( x ) d x 2 log ⁡ P ( x ) + 2 d P ( x ) d x d ( log ⁡ P ( x ) ) d x + P ( x ) d 2 ( log ⁡ P ( x ) ) d x 2 ) ] [ \frac{{d^2H}}{{dx^2}} = - \sum_{x} \left( \frac{{d^2P(x)}}{{dx^2}} \log P(x) + 2 \frac{{dP(x)}}{{dx}} \frac{{d(\log P(x))}}{{dx}} + P(x) \frac{{d^2(\log P(x))}}{{dx^2}} \right) ] [dx2d2H=x(dx2d2P(x)logP(x)+2dxdP(x)dxd(logP(x))+P(x)dx2d2(logP(x)))]

现在,让我们考虑概率分布$ ( P(x) ) $的条件:

  1. 所有的概率值都必须是非负的: ( P ( x ) ≥ 0 ) ( P(x) \geq 0 ) (P(x)0),对于所有的$ ( x )$。
  2. 所有概率值的总和必须为1: ( ∑ x P ( x ) = 1 ) ( \sum_{x} P(x) = 1 ) (xP(x)=1)

根据上述讨论,我们知道 ( P ( x ) ) ( P(x) ) (P(x))是非负的,因此 ( d P ( x ) d x ) ( \frac{{dP(x)}}{{dx}} ) (dxdP(x))也是非负的。对数函数的二阶导数是负的。因此,我们可以得出结论:

  1. ( d 2 P ( x ) d x 2 ) ( \frac{{d^2P(x)}}{{dx^2}} ) (dx2d2P(x))是非负的。
  2. ( d 2 ( log ⁡ P ( x ) ) d x 2 ) ( \frac{{d^2(\log P(x))}}{{dx^2}} ) (dx2d2(logP(x)))是负的。

由于所有的概率值 ( P ( x ) ) (P(x)) (P(x)) 的总和为1,因此其一阶导数 ( f r a c d P ( x ) d x ) ( frac{{dP(x)}}{{dx}} ) (fracdP(x)dx)的积分为0。这意味着对数函数的一阶导数 ( d ( log ⁡ P ( x ) ) d x ) ( \frac{{d(\log P(x))}}{{dx}} ) (dxd(logP(x)))的积分也为0。

综合以上结果,我们可以得出结论:熵 ( H ( X ) ) ( H(X) ) (H(X))的二阶导数是负的,即 ( H ( X ) ) ( H(X) ) (H(X))是凹函数。

这个证明表明,无论概率分布 ( P ( x ) ) ( P(x) ) (P(x))是如何变化的,其熵的凹性质始终成立,这是信息论中一个重要的性质。

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

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

相关文章

accelerator入门

一、目录 1 定义 2. DP、DPP的区别 3 实现 4. 测试比较 二、实现 定义 accelerator 是由大名鼎鼎的huggingface发布的&#xff0c;专门适用于Pytorch的分布式训练框架,是torchrun 的封装。 GitHub: https://github.com/huggingface/accelerate 官网教程&#xff1a;https://…

trie树

字典树&#xff1a; 普通字典树用于维护字符串相关信息。 Edu 159 E. Collapsing Strings c函数实质上就是求a和b的长度之和减去a的最长后缀与b的最长前缀的长度乘2. 那么我们可以把所有的字符先放入trie树&#xff0c;然后在查询的时候进行反转即可。 对于查询有两种办法&…

kaggle叶子分类比赛(易理解)

说实话网上很多关于叶子分类比赛的代码能取得的成绩都很好,但对于我这个业余人员太专业了&#xff0c;而且很多文章都有自己的想法&#xff0c;这让我这个仿写沐神代码的小菜鸡甚是头痛。 但好在我还是完成了&#xff0c;虽然结果并不是很好&#xff0c;但是如果跟着沐神走的同…

为什么跑腿越来越受到年轻人的青睐

跑腿服务越来越受到年轻人的青睐&#xff0c;主要源于以下几个方面的原因&#xff1a; 1. 便捷快速&#xff1a;在快节奏的现代生活中&#xff0c;年轻人追求的是效率和速度。跑腿服务提供了一种即时、便捷的解决方案&#xff0c;使他们能够在繁忙的生活和工作中节省时间和精力…

VS Code中PlatformIO IDE的安装并开发Arduino

VS Code中PlatformIO IDE的安装并开发Arduino VS Code的安装 略 PlatformIO IDE的安装 PlatformIO IDE是是什么 PlatformIO IDE 是一个基于开源的跨平台集成开发环境&#xff08;IDE&#xff09;&#xff0c;专门用于嵌入式系统和物联网&#xff08;IoT&#xff09;开发。…

C语言 函数概述

好 接下来 我们来讲函数 构建C程序的最佳方式 就是模块化程序设计 C语言中 最基本的程序模块被称为 函数 所以 这个知识点的重要性不言而喻 这里 我们讲个故事 诸葛亮六出祁山时 为了逼司马懿出战 派人送给力司马懿一件女人衣服 司马懿只是为使者 诸葛亮的饮食起居 使者感叹…

适合小白使用的编译器(c语言和Java编译器专属篇)

本节课主要讲如何安装适合编程小白的编译器 废话不多说&#xff0c;我们现在开始 c/c篇 首先&#xff0c;进入edge浏览器&#xff0c;在搜索框输入visual studio &#xff0c;找到带我画圈的图标&#xff0c;点击downloads 找到community版&#xff08;社区版&#xff09;的下…

简易录制视频做3D高斯

系统环境 ubuntu20 &#xff0c;cuda11.8&#xff0c;anaconda配置好了3D高斯的环境。 具体参考3D高斯环境配置&#xff1a;https://blog.csdn.net/Son_of_the_Bronx/article/details/138527329?spm1001.2014.3001.5501 colmap安装&#xff1a;https://blog.csdn.net/Son_of…

最后一块石头的重量 II ,目标和,一和0

最后一块石头的重量 II&#xff08;0-1背包问题 将石头尽可能分为两堆重量一样的&#xff0c;进行相撞则为0 class Solution {public int lastStoneWeightII(int[] stones) {int sum0;for(int x:stones){sumx;}int targetsum/2;int[] dpnew int[target1];//dp[j]表示最大石堆的…

分享5款对工作学习有帮助的效率软件

​ 今天再来推荐5个超级好用的效率软件&#xff0c;无论是对你的学习还是办公都能有所帮助&#xff0c;每个都堪称神器中的神器&#xff0c;用完后觉得不好用你找我。 1.文件复制——ClipClip ​ ClipClip是一款功能强大、操作简便的文件复制与管理软件。它改变了传统的复制粘…

Python根据预设txt生成“你画我猜”题目PPT(素拓活动小工具)

Python根据预设txt生成“你画我猜”题目PPT&#xff08;素拓活动小工具&#xff09; 场景来源 去年单位内部的一次素拓活动&#xff0c;分工负责策划设置其中的“你画我猜”环节&#xff0c;网络上搜集到题目文字后&#xff0c;想着如何快速做成对应一页一页的PPT。第一时间想…

java入门详细教程——day01

目录 1. Java入门 1.1 Java是什么&#xff1f; 1.2 Java语言的历史 1.3 Java语言的分类 1.4 Java语言的特点 1.4.1 先编译再解释运行 1.4.2 跨平台 1.5 JRE和JDK&#xff08;记忆&#xff09; 1.6 JDK的下载和安装&#xff08;应用&#xff09; 1.6.1 下载 1.6.2 安…

SAP 【MM】移动类型的科目确定<转载>

原文链接&#xff1a;https://blog.csdn.net/zhongguomao/article/details/134387102 移动类型的科目确定 SAP中支持控制不同移动类型所确定的总分类帐科目和账户分配&#xff0c;同时也支持控制用户能否改变总分类帐科目和账户分配默认值。 1、控制能否手动输入总分类帐科目…

Golang | Leetcode Golang题解之第74题搜索二维矩阵

题目&#xff1a; 题解&#xff1a; func searchMatrix(matrix [][]int, target int) bool {m, n : len(matrix), len(matrix[0])i : sort.Search(m*n, func(i int) bool { return matrix[i/n][i%n] > target })return i < m*n && matrix[i/n][i%n] target }

一起刷C语言菜鸟教程100题(15-26含解析)

五一过的好快&#xff0c;五天假期说没就没&#xff0c;因为一些事情耽搁到现在&#xff0c;不过还是要继续学习的&#xff0c;之后就照常更新&#xff0c;先说一下&#xff0c;这个100题是菜鸟教程里面的&#xff0c;但是有一些题&#xff0c;我加入了自己的理解&#xff0c;甚…

责任链模式和观察者模式

1、责任链模式 1.1 概述 在现实生活中&#xff0c;常常会出现这样的事例&#xff1a;一个请求有多个对象可以处理&#xff0c;但每个对象的处理条件或权限不同。例如&#xff0c;公司员工请假&#xff0c;可批假的领导有部门负责人、副总经理、总经理等&#xff0c;但每个领导…

第80天:WAF 攻防-漏洞利用HPP 污染分块传输垃圾数据

案例一&#xff1a;安全狗-SQL 注入-知识点 正常访问会被拦截 like绕过 对比成功&#xff0c;正常返回 对比失败&#xff0c;不返回 post绕过 这里需要支持post注入。这里是我自己改的REQUEST 这里其实安全狗可以开启post验证&#xff0c;看别人知不知道能开启了 过滤了 模拟…

贪心算法应用例题

最优装载问题 #include <stdio.h> #include <algorithm>//排序int main() {int data[] { 8,20,5,80,3,420,14,330,70 };//物体重量int max 500;//船容最大总重量int count sizeof(data) / sizeof(data[0]);//物体数量std::sort(data, data count);//排序,排完数…

荟敏堂·中医优势专科建设新质生产力发展论坛在京召开

原题&#xff1a;《荟敏堂中医优势专科建设新质生产力发展论坛在京召开——周超凡中医治则学思想传承研讨会成功举办》 会议现场照片 仟江水商业电讯&#xff08;5月8日 北京 委托发布&#xff09;日前&#xff0c;周超凡中医治则学思想传承研讨会暨中医优势专科建设新质生产力…

QT实现Home框架的两种方式

在触摸屏开发QT界面一般都是一个Home页面&#xff0c;然后button触发进入子页面显示&#xff0c;下面介绍这个home框架实现的两种方式&#xff1a; 1.方式一&#xff1a;用stackedWidget实现 &#xff08;1&#xff09;StackedWidget控件在Qt框架中是一个用于管理多个子窗口或…