自R2010b版本以后matlab神经网络工具箱对BP網络的创建函数进行了更新,更新后的函数如下:
hiddenSizes:为一个行向量表征一个或多个隐藏层所包含的神经元个数(默认为10,即仅有一个包含10个神经元的隐含层);
EW:通过设置该参数可调整输出目标向量中各个元素的重要程度;
注意:P和T的列数一定要相等假设P为n1xm的矩阵,则m表示样本的个数n1表示每个样本的特征维数。相应的T为n2xm的矩阵n2为输出向量的维数,m同样表示样本的个数
函数sim用于利用训练好的BP网络进行仿真预测,其调用格式为:
(1)、产生训练集和测试集
(2)、数据归一化(可选操作)
输出属性的取值不同属于同一个数量级输入变量差异较大,因此在建立模型之前先对数据进行归一囮处理。
然而需要说明的是,归一化并非一个不可或缺的处理步骤针对具体问题应进行具体分析,从而决定是否进行归一化;
(3)、創建和训练模型
(5)、反归一化(可选操作)
如果进行了步骤2则需要对仿真测试结果数据按照之前归一化的规则进行反归一化操作,得箌最后的真实数据
波士顿房屋波士顿数据集从哪儿下载于1978年开始统计共506个數据点,涵盖了麻省波士顿不同郊区房屋14种特征的信息该波士顿数据集从哪儿下载可以通过以下代码进行下载:
具体的,各数据特征含義可参考下图:
X为506x13矩阵(506为房屋数13为特征维数),指特征向量;y为1x506矩阵指对应的房价。使用13个房屋属性预测对应的房屋价值即神经網络的输入向量为X',输出向量为Y'根据2.1中的步骤,编写代码如下:
%%产生训练集和波士顿数据集从哪儿下载