极限学习机性能对比分析系统 (ELM, ELM_2, EELM, YELM)
项目介绍
本项目是一款专为极限学习机(Extreme Learning Machine)研究而设计的性能评估与对比系统。通过在同一实验框架下集成多种ELM变体算法,系统能够科学、全面地评估不同改进策略在处理多分类任务时的效能表现。该项目模拟了经典的笔迹识别数据集(pendigits)特征环境,通过多轮独立重复实验,消灭随机初始化带来的偶然性差异,为神经网络优化和模型选型提供数据支撑。
功能特性
- 多算法集成:集成了包括基础ELM、基于正交初始化的EELM以及引入正则化机制的YELM在内的四种主流算法。
- 自动化实验流程:支持自动化的数据模拟、One-hot编码转换、多维特征归一化以及训练集/测试集的动态划分。
- 统计学评估:内置多轮交叉比对机制,自动计算测试准确率的平均值、标准差以及训练耗时。
- 深度可视化方案:系统自动生成准确率柱状图、执行效率波动曲线以及多维度泛化能力评估图(雷达图模式)。
系统要求
- 软件环境:MATLAB R2016a 或更高版本。
- 必备工具箱:神经网络工具箱(用于数据预处理函数 mapminmax)。
- 硬件要求:标准PC环境即可,算法计算效率极高,无需专用GPU。
运行指南
用户只需在MATLAB命令行窗口运行主入口函数,系统将自动执行以下操作:
- 初始化16维特征、10类标签的模拟数据集。
- 按照70%训练、30%测试的比例划分数据。
- 循环执行预设轮数的模型训练与验证。
- 在控制台输出各算法的量化报表。
- 弹出多维度性能分析图表。
实现逻辑说明
系统采用模块化结构,核心逻辑分为五个阶段:
- 数据预处理阶段:
系统首先模拟生成符合pendigits规范的数据集,对分类标签进行One-hot编码处理。为了保证神经元激活函数的敏感度,系统对所有特征数据执行了[0, 1]区间的线性归一化。
- 实验循环控制:
为了获取稳定的统计结果,系统构建了多轮实验循环。在每一轮中,系统依次调用四个不同的子算法函数,并利用计时函数记录各自的训练响应时间。
- 模型学习阶段:
针对每一个算法变体,系统在同一训练集上进行隐含层映射。所有算法共用相同的隐含层节点数配置,以确保对比的公平性。
- 统计分析阶段:
对多轮实验产生的准确率矩阵和耗时矩阵进行聚合计算,得出反映模型稳定性的标准差(Std)和反映模型上限的平均准确率(Mean)。
- 报告分发阶段:
通过格式化字符串输出表格化的比对报告,并利用MATLAB绘图引擎将复杂的数据关系转化为直观的可视化图表。
核心算法分析
实现最原始的单隐层前馈神经网络。输入层权重与偏置随机产生,通过Moore-Penrose广义逆矩阵(pinv)一次性求解输出权值,无需迭代更新。
在基础ELM逻辑之上,将Sigmoid激活函数替换为正弦函数(Sin),用于观察不同激活机制对非线性特征映射能力的影响。
该模块在权值初始化阶段引入了QR分解技术。通过对随机产生的输入权重进行正交化处理,旨在使神经元生成的空间映射更加独立,减少信息冗余,从而提升学习效率。
该模块引入了岭回归(Tikhonov Regularization)理论。通过加入正则化参数C,对隐含层输出矩阵的逆运算进行修正。该方法在求解输出权重时能有效处理矩阵奇异性问题,通过平衡结构风险与经验风险,显著增强了模型的鲁棒性和泛化能力。