一、前言(代码获取:底部公众号或私信获取)
之前发布了BP神经网络多数入单输出预测,那个代码不能直接用于多输出。今天搞一下BP的多输入多输出预测,即同时预测多个输出Y,随意设置多少个输出Y都行。
在多输入多输出回归预测中,输出向量可以有多个分量,每个分量都对应一个需要预测的变量。同时,输出向量的维度需要与训练数据中的输出向量维度相同。
本文代码获取:点击跳转CSDN社区
二、结果展示
(1)根据经验公式,通过输入输出节点数量,求得最佳隐含层节点数量:
根据hiddennum=sqrt(m+n)+a,m为输入层节点数,n为输出层节点数,a取值[1,10]之间的整数,以此计算隐含层的节点数范围,再依次带入到BP中,计算每个隐含层神经元节点所对应的均方误差MSE,最终得出最佳隐含层节点。
(2)预测结果及误差,本例设置了3个Y:
(3)回归拟合图:
(4)误差直方图:
通过具有20个bin的误差直方图可以快速了解误差值的分布情况。如果一个bin的高度很高,表示该区间内的误差值出现的频率很高,说明模型在该区间内的表现不够好;反之,如果一个bin的高度很低,那么该区间内的误差值出现的频率很低,说明模型在该区间内的表现较好。
此外,如果整个直方图呈现出正态分布的形状,说明模型的误差分布情况比较均匀,误差值的集中程度也比较高。如果直方图呈现出偏态分布的形状,说明模型的误差分布情况比较不均匀,可能需要对模型进行进一步的优化。
(5)各项误差指标:
(6)其他: