二维高斯分布贝叶斯分类器系统
项目介绍
本项目是一个基于贝叶斯决策理论的模式识别演示系统。它通过模拟生成具有不同均值向量和协方差矩阵的二维高斯分布数据,利用最大似然估计法(MLE)学习样本分布参数,并构建基于最小错误率准则的贝叶斯分类器。系统旨在直观展示统计模式识别在处理线性不可分或重叠分布数据时的决策机制、分类边界以及概率分布形态。
功能特性
- 合成数据生成:支持多类二维正态分布样本的自动生成。
- 参数自动化估计:通过训练样本自动计算各类的均值向量和协方差矩阵。
- 自定义先验分布:允许用户设置不同的类先验概率,模拟不同先验知识下的决策变化。
- 多维度评估:提供分类准确率计算及混淆矩阵输出,量化分类性能。
- 双模态可视化:同步展示二维空间下的决策边界和三维空间下的加权后验概率密度曲面。
实现逻辑
系统的执行逻辑严格遵循统计学习的标准流程:
- 环境初始化与数据准备:
设置随机数种子以保证实验可重复性。定义两类具有显著差异的统计参数:第一类均值偏向正值区间且具有正相关协方差;第二类均值偏向负值区间且具有负相关协方差。随后生成指定规模的训练集和测试集数据。
- 模型训练(参数估计):
使用最大似然估计法,根据训练样本计算每一类的样本均值和样本协方差。将估计得到的参数与用户定义的先验概率共同封装入模型结构体中,作为分类器的决策基准。
- 分类预测:
系统遍历测试样本,计算每个样本相对于各类的对数判别函数值。该函数由马氏距离项、协方差行列式偏项以及先验概率项组成。样本最终被划归为判别函数值最大的一类。
- 性能度量:
通过比对测试集的预测标签与真实标签,计算系统分类的准确率。同时生成混淆矩阵,详细记录各类别之间误判的具体情况。
- 结果可视化:
在二维平面绘制样本散点图及分类决策边界(即判别函数相等处);在三维空间通过数值模拟绘制各类的概率密度函数受先验概率加权后的分布曲面,展示概率空间中的重叠与分离状态。
核心算法与函数实现分析
1. 贝叶斯判别函数预测逻辑
系统实现的判别函数基于对数似然形式。对于每个特征向量,通过计算其与类均值的距离,并结合协方差矩阵带来的扩张或压缩效应(逆矩阵运算),得出二次判别形式。该算法不仅考虑了欧氏距离,还充分利用了特征间的相关性,实现了平方损失下的最优决策。
2. 统计可视化实现
可视化模块通过在特征空间内构建密集的网格点采样,对每个采样点执行预测操作。利用等高线绘制算法锁定不同类别预测值的跃变线,从而精确描绘出非线性的决策边界。
3. 多元高斯概率密度计算
系统内部手动实现了多元正态分布的概率密度函数计算公式。逻辑中包含了标准化常数的计算、协方差矩阵行列式的开方处理,以及指数项中马氏距离的计算。这确保了分类器能够独立于外部工具箱完成核心判别任务。
4. 自动参数估计函数
通过矩阵运算快速提取训练数据的统计特征。均值反映了类中心在特征空间的位置,协方差矩阵则刻画了样本分布的形状(椭圆的长短轴方向及尺度)。
使用方法
- 启动计算环境并进入程序所在目录。
- 运行主处理函数,系统将自动执行数据生成、模型训练及测试流程。
- 命令行窗口将即时输出分类准确率和混淆矩阵结果。
- 系统会自动弹出图形化窗口。左侧子图展示样本分布与决策边界,右侧子图展示加权后的概率密度三维分布曲线。
- 如需测试不同实验方案,可手动修改初始化代码中的均值、协方差或先验概率参数。
系统要求
- 软件环境:MATLAB R2016b 或更高版本。
- 依赖工具箱:统计与机器学习工具箱(用于执行混淆矩阵生成及多元随机分布生成)。
- 硬件要求:标准桌面计算机环境,建议配备支持 OpenGL 的显卡以获得流畅的三维图形渲染体验。