Renyi散度:Renyi divergence

有关Renyi散度的基本介绍挺多博客已经写了。本文章主要介绍最基础的概念,以及近些年论文中为啥老喜欢引用这个概念。

一.基础概念

Renyi散度主要是描述两个分布之间的关系。对一个离散的概率分布X,其定义域记作Supp(X),其实就是概率不为零的点的集合。形式化的定义如下:

Let X(E) denote the probability that event E occurs under distribution χ. We let Supp(X)=\lbrace x:X(x)\neq0\rbrace

对于两个离散的概率分布P和Q,假定Supp(P)\subset Supp(Q)(其实就是Q的取值更多),2阶Renyi散度定义如下:

RD_2(P||Q)=\sum_{x\in Supp(P)}\frac{P(x)^2}{Q(x)}

二. 论文常用的Renyi散度结论

性质1:对分布进行确定的函数变换,只会降低Renyi散度。

对于两个离散的概率分布P和Q,假定Supp(P)\subset Supp(Q),对任意给定的函数f,都有:

RD_2(f(P)||f(Q))\leq RD_2(P||Q)

性质2:可忽略性质的传递(计算复杂性理论)

对于两个离散的概率分布P和Q,假定Supp(P)\subset Supp(Q),从分布Q中取子事件E\subset Supp(Q),都有:

Q(E)\geq P(E)^2/RD_2(P||Q)

这个性质其实在密码学中很有用,为啥这么讲呢。如果可以证明RD_2(P||Q)的上界为多项式。那么当事件E在分布Q中发生的概率Q(E)可忽略,就可以推出事件E在分布P中发生的概率也可忽略。

性质3:Renyi散度与离散的高斯分布(格密码中的概念)

接触过格密码(参考我之前介绍过格密码)的人可能见过一个符号D_{Z_q,\sigma}^m,这个符号啥意思呢?D代表离散的高斯分布,Z_q代表该高斯分布的取值全为整数模q,\sigma代表离散高斯分布的标准差,m代表维度,也就是:

D_{Z_q,\sigma}^m:关于原点对称的m维离散高斯分布

给一个不太大的数e,那么:

(e+D_{Z_q,\sigma})^m:中心点略微偏移原点的m维离散高斯分布。

好了,现在可以解释第三个性质了。

固定三个整数m,q,\lambda\in Z,有一个上限值\beta_{Renyi},离散高斯分布的标准差满足\beta_{Renyi}\leq\sigma\leq q。令e\in Z,且满足|e|\leq \beta_{Renyi},那么有:
RD_2((e+D_{Z_q,\sigma})^m||D_{Z_q,\sigma}^m)\leq exp(2\pi m(\beta_{Renyi/\sigma})^2)

这个性质看起来有点长,其实是想解释把离散高斯分布平移一点点后,该分布与原始的离散高斯分布的Renyi散度是有上界的。密码学非常关注多项式,指数,次指数等复杂度,利用该定理,比如令离散高斯分布的标准差\sigma=\Omega(\beta_{Renyi}\sqrt{m/log\lambda})时,可得RD_2((e+D_{Z_q,\sigma})^m||D_{Z_q,\sigma}^m)=poly(\lambda)。这其中的数学计算就暂时省掉了,密码学总是有许多的数学计算。。。。。

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

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

相关文章

React脚手架搭建

React脚手架 脚手架:可以快速构建项目的基本架构。 脚手架安装命令 可全局安装脚手架 创建项目 来到当前目录下 create-react-app 项目名(不要大写字母) 运行项目 进到项目里,在项目目录下,执行 npm start &#xff…

Harmonyos系统列表组件和video组件的使用

列表组件和video组件 List组件和Grid组件的使用简介List组件的使用List组件简介使用ForEach渲染列表设置列表项分割线List列表滚动事件监听设置List排列方向 Grid组件的使用Grid组件简介使用ForEach渲染网格布局 video组件使用Video组件的接口表达形式为 List组件和Grid组件的使…

Python3 字符串 ----20231216

Python3 字符串 字符串是 Python 中最常用的数据类型。我们可以使用引号( 或 " )来创建字符串。 创建字符串很简单,只要为变量分配一个值即可。例如: var1 = Hello World! var2 = "Runoob"Python 访问字符串中的值 Python 不支持单字符类型,单字符在 Pyth…

C语言-Makefile

Makefile 什么是make? make 是个命令,是个可执行程序,用来解析 Makefile 文件的命令这个命令存放在 /usr/bin/ 什么是 makefile? makefile 是个文件,这个文件中描述了我们程序的编译规则咱们执行 make 命令的时候, m…

华为数通——路由冗余和备份

注:当一条路由的出接口down时,该路由会自动失效。 要求:数据优先走千兆链路。 R1 [ ]ip route-static 172.16.1.0 24 12.1.1.2 目的地址 掩码 下一条 [ ]ip route-static 172.16.1.0 24 21.1.1.2 preference 50 目的地址 …

OxLint 发布了,Eslint 何去何从?

由于最近的rust在前端领域的崛起,基于rust的前端生态链遭到rust底层重构,最近又爆出OxLint,是一款基于Rust的linter工具Oxlint在国外前端圈引起热烈讨论,很多大佬给出了高度评价;你或许不知道OxLint,相比ES…

MySQL 8.x temp空间不足问题

目录 一、系统环境 二、问题报错 三、问题回顾 四、解决问题 一、系统环境 系统Ubuntu20.04 数据库版本MySQL 8.0.21 二、问题报错 在MySQL上执行一个大的SQL查询报错Error writing file /tmp/MYfd142 (OS errno 28 - No space left on device) Exception in thread …

【深度学习】强化学习(六)基于值函数的学习方法

文章目录 一、强化学习问题1、交互的对象2、强化学习的基本要素3、策略(Policy)4、马尔可夫决策过程5、强化学习的目标函数6、值函数7、深度强化学习 二、基于值函数的学习方法 一、强化学习问题 强化学习的基本任务是通过智能体与环境的交互学习一个策略…

el-date-picker 选择一个或多个日期

el-date-picker可选择多个日期 type“dates” 加个s即可 <div><span>el-date-picker选择多个日期</span><el-date-pickertype"dates"v-model"dateList"placeholder"选择一个或多个日期"></el-date-picker></di…

js-正则表达式

一、基本规则 1.字面量表示法&#xff1a;正则表达式可以使用字面量形式创建&#xff0c;例如 /pattern/&#xff0c;其中 pattern 是要匹配的模式。 //直接匹配xxx字符 var reg /abc/ 2.构造函数表示法&#xff1a;你也可以使用 RegExp 构造函数来创建一个正则表达式&…

php链接oracle乱码,尝试把一个php的项目转成java,

​ 最近有个新需求&#xff0c;OA上的考勤信息确认&#xff0c;开始的时候搞了个php的版本&#xff0c;莫名其妙的数据库会乱码&#xff08;oracle&#xff09;(等有时间再写一篇php链接oracle数据库&#xff09;折腾了将近一个周&#xff0c;乱码莫名其妙的出现&#xff0c;代…

MyBatis环境的搭建

1.创建 Maven 工程 打开idea新建一个项目File → Project Structure → Project&#xff0c;build system中选择maven &#xff08;1&#xff09;由于 IDEA 中集成了 Maven&#xff0c;所以我们就不需要下载了&#xff0c;直接使用 IDEA 默认的 Maven 进行项目构建。 &#…

【NSX-T】10. 搭建NSX-T环境 —— 使用 BGP 配置 Tier-0 网关

目录 10.1 创建上行链路网段10.2 创建 Tier-0 网关&#xff08;1&#xff09;设置 Interface 信息&#xff08;2&#xff09;设置 BGP添加 BGP 邻居 &#xff08;3&#xff09;设置 BGP 路由重分发设置路由重新分发 10.3 连接 Tier-0 和 Tier-1 网关10.4 使用网络拓扑验证 Tier…

VLAN间的通讯---三层交换

一.三层交换 1.概念 使用三层交换技术实现VLAN间通信 三层交换二层交换 三层转发 2.基于CEF的MLS CEF是一种基于拓补转发的模型 转发信息库&#xff08;FIB&#xff09;临接关系表 转发信息库&#xff08;FIB&#xff09;可以理解为路由表 邻接关系表可以理解为MAC地址表…

Facebook广告系统结构

Facebook广告系统是一个复杂的大型系统&#xff0c;由多个组件和子系统相互配合工作&#xff0c;实现了广告的投放、拍卖、个性化推荐和效果评估等功能。下面小编讲讲Facebook广告系统的结构。 1、广告管理界面 广告管理界面是广告主与Facebook进行交互的入口&#xff0c;广告…

猿人学19题(原比赛平台)

这道题给我搞得有点懵了&#xff0c;我现在还没发现他到底要考察什么&#xff0c;这边我直接协商我的sessionid请求是直接就成功的。&#x1f602; 依旧是分析请求方式&#xff0c;抓包到返回数据的位置 现在可以知道这些数据是ajax返回的&#xff0c;请求的参数是page&#x…

企业AI助理:数字助理嵌入更多应用场景

随着科技的快速发展&#xff0c;人工智能&#xff08;AI&#xff09;已经成为现代企业不可或缺的一部分。数字助理作为AI的一种形式&#xff0c;正在越来越多地嵌入到企业的各个应用场景中&#xff0c;为企业提供更加智能化、高效化的服务。本文将探讨企业AI助理的发展趋势、应…

Spark RDD、DataFrame、DataSet比较

在Spark的学习当中&#xff0c;RDD、DataFrame、DataSet可以说都是需要着重理解的专业名词概念。尤其是在涉及到数据结构的部分&#xff0c;理解清楚这三者的共性与区别&#xff0c;非常有必要。 RDD&#xff0c;作为Spark的核心数据抽象&#xff0c;是Spark当中不可或缺的存在…

MacOS下C,C++编译器路径与源码位置(附 bits/stdc++.h)

categories: [C_C] tags: C 写在前面 在下面的位置中写入(先mkdir bits) stdc.h文件内容: 参考 gcc 源码 gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/precompiled/stdc%2B%2B.h; // C includes used for precompiling -*- C -*-// Copyright (C) 2003-2023 Free …

Linux(操作系统)面经——part2

1、请你说说进程和线程的区别 1.进程是操作系统资源分配和调度的最小单位&#xff0c;实现操作系统内部的并发&#xff1b;线程是进程的子任务&#xff0c;cpu可以识别、执行的最小单位&#xff0c;实现程序内部的并发。 2.一个进程最少有一个线程或有多个&#xff0c;一个线程…