基于高斯模型的威斯康星州乳腺癌数据贝叶斯模式识别系统
项目介绍
本项目通过贝叶斯决策理论,针对威斯康星州乳腺癌诊断(WDBC)数据集构建了一个自动化分类系统。系统通过学习乳腺肿瘤特征的统计分布规律,能够精准地在良性与恶性肿瘤之间做出判别。该项目通过概率建模的方式替代了传统的硬判别逻辑,体现了贝叶斯分类在处理具有统计不确定性医疗数据中的科学性。
功能特性
- 数据模拟与加载:系统内置数据生成模块,可模拟产生符合WDBC特征分布的30维临床特征数据,涵盖细胞核的形态学指标。
- 自动化预处理:集成数据随机化打乱、训练集/测试集按比例切分(70%用于训练,30%用于测试)以及基于Z-score的特征标准化处理。
- 参数估计与建模:利用最大似然估计(MLE)方法自动获取恶性与良性两类样本的多维高斯分布参数(均值向量与协方差矩阵)。
- 贝叶斯统计决策:基于极大后验概率准则(MAP)构建判别函数,并在对数空间内进行概率计算,有效避免数值下溢。
- 多维度评估体系:自动输出诊断准确率,并生成包含混淆矩阵、ROC曲线、AUC值、PCA特征降维图以及特征重要性分析在内的全方位报告。
系统要求
- 运行环境:MATLAB R2018b 或更高版本。
- 必备工具箱:Statistics and Machine Learning Toolbox(用于PCA降维、散点图绘制及数据统计分析)。
实现逻辑与功能细节说明
该程序遵循标准的模式识别流程,具体实现逻辑如下:
- 数据采样与初始化:
程序首先生成569个样本、30个特征的模拟数据集,其中恶性样本约占37%。数据随后被随机打乱,以保证训练集和测试集的分布一致性。
- 特征工程:
为消除不同量纲(如面积与平滑度)对模型的影响,程序以训练集的均值和标准差为基准,对全量数据执行标准化处理。
- 生成式模型构建:
程序将训练集划分为两类,分别计算每一类在30维空间中的先验概率。通过最大似然估计获取各类的中心点(均值)和散度(协方差)。为了确保计算稳定性,在协方差矩阵中引入了正则化因子(加上微小的单位矩阵),防止因特征相关性过强导致的矩阵奇异问题。
- 贝叶斯判别推理:
对于每一个测试样本,程序分别计算其属于良性与恶性分布的高斯似然函数。通过结合先验概率,在对数域构建判别函数。如果恶性类别的对数后验概率高于良性类别,则判定为恶性。
- 性能度量与可视化:
程序通过遍历不同判别阈值计算真阳性率(TPR)和假阳性率(FPR),从而绘制出体现系统灵敏度与特异度平衡的ROC曲线。
关键算法分析
- 正则化高斯判别:在处理30维高维特征时,协方差矩阵可能出现不可逆的情况。代码中手动干扰了协方差对角线元素,保证了数值计算的健壮性。
- 对数化概率计算:在计算高斯分布概率密度时,使用了对数形式进行加法运算,替代了直接的乘法运算。这不仅简化了计算,还解决了高维高斯函数值极小导致的精度丢失问题。
- PCA降维投影:为了直观展示分类效果,程序利用主成分分析法(PCA)将30维特征投影到二维平面上,使开发者能够视觉化观察到两类样本在特征空间中的聚类与重叠程度。
- 特征判别力评估:通过分析良性与恶性样本在标准化后的均值差异,系统直观地展示了各指标(如半径、周长等)对模型分类贡献的强弱。
使用方法
- 启动MATLAB:打开MATLAB软件环境。
- 设置路径:将包含脚本的文件夹设置为当前工作路径。
- 执行程序:在命令行窗口输入 main 并回车,或直接运行 main.m 文件。
- 查看输出:程序运行结束后,命令行窗口会显示系统诊断准确率,同时会弹出两个可视化窗口,分别展示分类性能指标和特征空间分析结果。