Kullback-Leibler散度计算与分布比较项目
项目介绍
本项目专注于计算两个概率分布之间的Kullback-Leibler (KL) 散度,用于评估分布间的相对熵差异。项目提供离散概率分布与连续概率密度函数的KL散度计算能力,支持散度结果的可视化分析与对称化处理(Jensen-Shannon散度),旨在为概率分布比较提供一套完整的分析工具。
功能特性
- KL散度计算:支持离散概率向量和连续概率密度函数的KL散度计算
- 对称化处理:实现Jensen-Shannon散度计算(KL散度的对称化版本)
- 可视化分析:提供分布对比图(直方图/曲线重叠)直观展示分布差异
- 灵活输入:离散分布输入为概率向量,连续分布输入为函数句柄与积分区间
使用方法
- 离散分布计算:输入两个等长的概率向量,如
[0.2,0.3,0.5]和[0.3,0.3,0.4] - 连续分布计算:提供概率密度函数句柄和积分区间,如
@(x)normpdf(x,0,1),区间[-3,3] - 结果获取:程序返回KL散度标量值和分布对比可视化图表
系统要求
- MATLAB R2018a或更高版本
- 需要Statistics and Machine Learning Toolbox
- 建议8GB以上内存以确保大矩阵运算性能
文件说明
主程序文件实现了核心计算引擎与用户接口,包含概率分布验证、离散与连续分布的KL散度计算、数值积分处理、分布可视化生成以及对称化散度转换等功能模块,通过统一的调用接口为用户提供完整的分布比较分析能力。