✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
极限学习机(ELM)是一种基于人工神经网络的机器学习算法,用于数据回归预测。它在许多领域中都有广泛的应用,包括金融、医疗和工业等。ELM的独特之处在于其快速训练速度和良好的泛化能力。
ELM的训练过程非常简单,它只需要两个步骤即可完成。首先,随机生成输入层和隐藏层之间的连接权重。然后,通过最小二乘法将训练数据映射到隐藏层,并计算输出层的权重。由于ELM的隐藏层权重是随机生成的,因此它的训练速度非常快。
ELM的优点之一是其强大的泛化能力。它能够在训练数据之外的未知数据上进行准确的预测。这使得ELM成为许多实际问题中的首选算法。
然而,ELM也有一些限制。由于隐藏层权重是随机生成的,因此它对初始权重的选择非常敏感。不同的初始权重可能会导致不同的预测结果。此外,ELM对于噪声数据也比较敏感,可能会导致预测结果的不准确。
总的来说,ELM是一种强大的数据回归预测算法,具有快速训练速度和良好的泛化能力。然而,我们在使用ELM时需要注意初始权重的选择和噪声数据的处理,以确保预测结果的准确性。希望这篇文章对你了解ELM算法有所帮助。
⛄ 部分代码
function [IW, B, LW, TF, TYPE] = elmtrain(p_train, t_train, N, TF, TYPE)% P - Input Matrix of Training Set (R * Q)% T - Output Matrix of Training Set (S * Q)% N - Number of Hidden Neurons (default = Q)% TF - Transfer Function:% 'sig' for Sigmoidal function (default)% 'hardlim' for Hardlim function% TYPE - Regression (0, default) or Classification (1)% Output% IW - Input Weight Matrix (N * R)% B - Bias Matrix (N * 1)% LW - Layer Weight Matrix (N * S)if size(p_train, 2) ~= size(t_train, 2) error('ELM:Arguments', 'The columns of P and T must be same.');end%% 转入分类模式if TYPE == 1 t_train = ind2vec(t_train);end%% 初始化权重R = size(p_train, 1);Q = size(t_train, 2);IW = rand(N, R) * 2 - 1;B = rand(N, 1);BiasMatrix = repmat(B, 1, Q);%% 计算输出tempH = IW * p_train + BiasMatrix;%% 选择激活函数switch TF case 'sig' H = 1 ./ (1 + exp(-tempH)); case 'hardlim' H = hardlim(tempH);end%% 伪逆计算权重LW = pinv(H') * t_train';
⛄ 运行结果
⛄ 参考文献
[1] 张建军,张天成,隋宇婷,等.基于极限学习机(ELM)岭回归的DNA微阵列数据填补[J].小型微型计算机系统, 2014, 35(10):6.DOI:10.3969/j.issn.1000-1220.2014.10.030.
[2] 陈恒志,杨建平,卢新春,等.基于极限学习机(ELM)的连铸坯质量预测[J].工程科学学报, 2018.DOI:CNKI:SUN:BJKD.0.2018-07-007.
⛳️ 代码获取关注我