权值与阈值可以在开始训练网络前给其赋值,赋值的结果一定会影响神经网络最终的预测性能。我们追求的目标是使神经网络最终的预测性能最佳,也就是说找到最佳的权值与阈值。当然不能用枚举法寻找最佳权值和阈值,所以采用智能优化算法进行搜索,其中之一就是遗传算法。
本次练习不涉及遗传算法,仅对数据进行BP神经网络建立。
本次我们要训练9个15维的输入数据,输出数据为9个3维矩阵,测试输入数据为3个15维数据,测试输出数据为3个3维数据。训练数据和测试数据如下。训练输入数据为P,训练输出数据为T,测试输入数据P_test,测试输出数据为T_test(PS:注意列数代表数据个数,行数代表维数)。
权值和阈值随机生成区间为(-0.5,0.5),详细代码如下:
clear
clc
% Examples
% Here is how to format a matrix so that the minimum and maximum values of each row are mapped to default interval [-1,+1].
% x1 = [1 2 4; 1 1 1; 3 2 2; 0 0 0]
% [y1,PS] = mapminmax(x1)
% Next, apply the same processing settings to new values.
% x2 = [5 2<