项目介绍:基于EP与EM-EP算法的MATLAB图像识别系统
本项目是一个利用统计推断理论实现图像二分类的数学模型系统。其核心在于结合了期望传播(Expectation Propagation, EP)算法与期望极大值(Expectation Maximization, EM)框架,旨在解决高维图像数据中的贝叶斯逻辑回归(Probit回归)问题。通过近似处理复杂的非高斯似然函数,该系统能够在保证计算效率的同时,实现高度精确的类别概率预测与模型参数自动优化。
功能特性
- 双层协同优化架构:内层利用EP算法进行隐变量的后验概率推断,外层通过EM算法迭代更新先验分布的超参数。
- 鲁棒的概率图预测:不同于简单的确定性分类,系统输出的是目标属于某一类别的后验概率,能够有效量化识别的不确定性。
- 高效的矩阵运算逻辑:算法实现了Rank-1(一阶)矩阵更新公式,避免了在迭代过程中频繁进行大规模矩阵求逆,极大地提升了处理高维图像特征的速度。
- 自适应超参数训练:系统具备自动估算先验精度参数alpha的能力,能够根据训练数据自动调整模型的泛化性能。
- 全流程可视化分析:动态展示超参数收敛轨迹、测试集概率分布直方图以及典型样本的识别置信度。
系统要求
- 运行环境:MATLAB R2016b 或更高版本。
- 必备工具箱:基础MATLAB组件(无需额外部署深度学习或计算机视觉工具箱,算法均为纯底层数学逻辑实现)。
功能描述与模块实现逻辑
程序通过以下几个核心阶段完成从原始图像到识别结果的处理:
1. 模拟图像合成与预处理
程序内置了合成图像生成模块,用于产生两类具有明显空间特征的图像:横线模式(类别+1)和竖线模式(类别-1)。
- 生成16x16像素的二值图像并添加高斯噪声,模拟真实的复杂成像环境。
- 数据向量化处理,将二维图像展平为256维特征向量。
- 自动添加偏置项(Bias Term),构建增强特征空间,并按照比例划分训练集与测试集。
2. EM-EP 混合推断算法
这是系统的核心数学引擎,负责从标记数据中学习分类器权重:
- EP 推断过程:针对Probit似然函数(累积分布函数),程序通过矩匹配(Moment Matching)方法,不断将真实的非高斯后验分布向高斯分布逼近。它计算“去指定站点分布”(Cavity Distribution),更新站点参数(精度项和均值项),确保近似分布与真实分布在前二阶矩上保持一致。
- EM 参数更新:在EP过程稳定后,系统利用当前的权重均值和协方差矩阵,通过最大化边缘似然函数的近似值来更新先验精度alpha。这一步确保了模型能自动平衡拟合度与平滑度。
- 内存优化:采用了增量式的协方差矩阵更新技巧,利用矩阵引理减少了计算开销。
3. 后验概率预测
在识别阶段,程序不再仅仅提供单一的分类标签,而是计算预测分布的积分:
- 利用训练得到的均值向量和协方差矩阵,结合测试样本特征,通过标准正态累积分布函数(normcdf)映射出样本属于正类的概率值。
- 根据0.5的阈值判定最终类别,同时保留精确的概率度量。
4. 统计评估与结果呈现
算法执行完成后,系统会自动生成综合评估界面:
- 样本透视:直观展示测试集前几个样本的原始图像及其对应的正类预测概率。
- 分布分析:通过直方图对比展示两类样本在概率空间上的分离程度,直观反映分类器的判别力。
- 收敛监控:绘制先验精度alpha随迭代次数的变化曲线,验证学习过程的稳定性。
- 性能总结:实时计算并显示测试集识别准确率。
核心算法细节说明
- 似然函数:采用 Probit 模型,即 $P(y|w,x) = Phi(y cdot w^T x)$,其中 $Phi$ 是标准正态分布的累积函数。
- 矩匹配:在EP迭代中,程序通过计算 $Z$ 值的 PDF 与 CDF 之比(即修正项),来调整权重分布的均值向量和协方差矩阵。
- 矩阵更新:使用 $Sigma - (delta_tau / (1 + delta_tau * v_i)) * (Sigma * xi * xi' * Sigma)$ 进行秩-1更新,保证了处理数百维特征时的响应速度。
- 偏置处理:通过在特征矩阵末尾补1,使模型能够处理不穿过原点的分类超平面。