python计算矩阵的散度_python 3计算KL散度(KL Divergence)
KL Divergence
KL( Kullback–Leibler) Divergence中文译作KL散度,从信息论角度来讲,这个指标就是信息增益(Information Gain)或相对熵(Relative Entropy),用于衡量一个分布相对于另一个分布的差异性,注意,这个指标不能用作距离衡量,因为该指标不具有对称性,即两个分布PP和QQ,DKL(P|Q)DKL(P|Q)与DKL(Q|P)DKL(Q|P)计算的值一般不相等,若用作距离度量,一般需要对公式加以修改,后文讲到。
KL Divergence的计算公式为
对于离散分布
DKL(P|Q)=∑iP(i)logP(i)Q(i)
DKL(P|Q)=∑iP(i)logP(i)Q(i)
对于连续分布
DKL(P|Q)=∫∞−∞p(x)logp(x)q(x)dx
DKL(P|Q)=∫−∞∞p(x)logp(x)q(x)dx
程序
利用python 3计算
import numpy as np
import scipy.stats
# 随机生成两个离散型分布
x = [np.random.randint(1, 11) for i in range(10)]
print(x)
print(np.sum(x))
px = x / np.sum(x)
print(px)
y = [np.random.randint(1, 11) for i in range(10)]
print(y)
print(np.sum(y))
py = y / np.sum(y)
print(py)
# 利用scipy API进行计算
# scipy计算函数可以处理非归一化情况,因此这里使用
# scipy.stats.entropy(x, y)或scipy.stats.entropy(px, py)均可
KL = scipy.stats.entropy(x, y)
print(KL)
# 编程实现
KL = 0.0
for i in range(10):
KL += px[i] * np.log(px[i] / py[i])
# print(str(px[i]) + ' ' + str(py[i]) + ' ' + str(px[i] * np.log(px[i] / py[i])))
print(KL)
---------------------
作者:hfut_jf
来源:CSDN
原文:https://blog.csdn.net/hfut_jf/article/details/71403741
版权声明:本文为博主原创文章,转载请附上博文链接!
python计算矩阵的散度_python 3计算KL散度(KL Divergence)相关推荐
- python计算矩阵对角线之和_Python练习题 028:求3*3矩阵对角线数字之和
[Python练习题 028] 求一个3*3矩阵对角线元素之和 ----------------------------------------------------- 这题解倒是解出来了,但总觉得 ...
- python科学计算是什么意思_Python科学计算和数据分析(NumPy详细介绍)
本文介绍的科学计算.数据分析必备基础知识. 本文全文约2600字,阅读时间约15分钟,请你耐心观看. 本文使用的开发环境是Python3.8,Numpy版本是1.19,本文的例子全部经过验证,你可以直 ...
- python矩阵sin计算器_Python科学计算工具
Python科学计算工具-Numpy入门 2017.07.02 20:29:14字数 1,404阅读 2,509 一:前言 学了中国大学mooc的Python数据分析与展示课程感觉挺不错的,记录下来以 ...
- python计算矩阵对角线之和_Python练习实例38 | 求3*3矩阵主对角线元素之和
刚拿到这道题,可能还有不少的小伙伴们不知道3*3主对角元素是哪几个. 其实很简答,就是3*3矩阵当中的第1个.第5个以及第9个的元素之和. 矩阵.jpg 接下来,show code! # 求3*3矩阵 ...
- python的科学计算库有哪些_Python科学计算库-Numpy
NumPy 是 Python 语言的一个扩充程序库.支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库,也是学习 python 必学的一个库. 1. 读取文件 numpy.gen ...
- python科学计算模块有什么_Python科学计算—numpy模块总结(1)
作为一个本科学数学专业,目前研究非线性物理领域的研究僧.用什么软件进行纯科学计算好,Fortran永远是第一位的:matlab虽然很强大,可以很容易的处理大量的大矩阵,但是求解我们的模型(有时可能是几 ...
- python中符号计算输出数学_Python科学计算与数据处理—符号运算库.doc
Python 科学计算与数据处理 - 符号运算库 符号运算库目录从示例开始欧拉恒等式球体体积数学表达 式符号数值运算符和函数符号运算表达式转换和简化方程目录微分 方程积分其他函数符号运算库. 它的目标 ...
- python时间差转换成天数_Python实现计算两个时间之间相差天数的方法
本文实例讲述了Python实现计算两个时间之间相差天数的方法.分享给大家供大家参考,具体如下: #-*- encoding:UTF-8 -*- from datetime import date im ...
- python判断正负的函数_Python |在计算操作的函数内将负数转换为正数?
我一直在寻找将负数转换为正数,我发现了一些东西,但没有成功.. 这是一个来自在线Python页面的练习,我正在学习Python. 我希望你明白这一点. 这是去洛杉矶旅行,我用功能计算钱,但现在有一个问 ...
最新文章
- 中国血统关系称谓大全
- Redis淘汰删除策略
- 美团面试题:缓存一致性,我是这么回答的!
- STM32 利用空闲中断接收数据
- php viewmodel,PHP日记——Lavarel常用语句之View篇
- jQuery实现影院选座订座效果
- cte公用表表达式_SQL Server公用表表达式(CTE)
- 基于XMLHttpRequest封装Ajax请求
- 关于python 输出中文
- pp助手苹果版本_pp 助手停止服务/共享 ID 结束,旧版应用还能这样下载
- Android 配置 junit 单元测试
- origin三图合一_利用Origin将多组拟合图放在一张表中的方法
- ps5手柄连接android,PS5游戏手柄甚至可以兼容安卓设备?这一次有的玩了
- mac电脑usb连接android手机,【已解决】安卓手机小米9如何连接到Mac电脑中去拷贝手机中图片...
- 东莞 小学计算机编程大赛,小学生编程大赛【小学生大赛自我介绍】
- 安卓手机 WiFi已连接,无法访问互联网
- 如何为BLE 设备添加OTA DFU 空中升级服务(下)?
- 你是否了解APP耗电问题?深入探索 Android 电量优化,flutter插件推荐
- matlab第一次学习成果
- 如何实现电脑远程操控西门子触摸屏画面
热门文章
- signature=e100a77f9e5994135d27edcec0fb2455,Signatures from Trapdoor Commitments with Strong Openings
- C语言贪吃蛇详解4,c语言贪吃蛇详解4.食物的投放与蛇的变长
- 停止Excel自动将分数转化为日期
- mac查看端口被哪个进程占用并杀死
- DBCO-PEG-Casein/Ovalbumin/Lectins点击化学DBCO偶联络蛋白/卵清蛋白/凝集素
- 我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。 百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
- 常用的java随机数生成办法
- python2.0 迁移_Python ADAL 到 MSAL 的迁移指南 - Microsoft identity platform | Azure Docs
- 百度API--通过ip地址定位
- CMMI3标准文档模板大全