matlab 2019 三层BP神经网络实例代码
时间: 2023-09-28 07:11:56 浏览: 84
以下是 MATLAB 2019 中三层 BP 神经网络的示例代码:
```
% 导入数据
data = load('data.txt');
X = data(:, 1:2);
y = data(:, 3);
% 设置神经网络的参数
input_layer_size = 2; % 输入层的节点数
hidden_layer_size = 5; % 隐藏层的节点数
num_labels = 1; % 输出层的节点数
% 随机初始化权重
initial_Theta1 = rand(hidden_layer_size, input_layer_size + 1) * 0.01;
initial_Theta2 = rand(num_labels, hidden_layer_size + 1) * 0.01;
initial_nn_params = [initial_Theta1(:) ; initial_Theta2(:)];
% 训练神经网络
options = optimset('MaxIter', 500);
lambda = 0.1;
costFunction = @(p) nnCostFunction(p, input_layer_size, hidden_layer_size, num_labels, X, y, lambda);
[nn_params, cost] = fmincg(costFunction, initial_nn_params, options);
% 预测
pred = predict(nn_params, input_layer_size, hidden_layer_size, num_labels, X);
% 显示准确率
fprintf('Train Accuracy: %f\n', mean(double(pred == y)) * 100);
```
其中,`data.txt` 是训练数据,包含两个特征和一个标签。`nnCostFunction` 是计算神经网络代价函数的函数,`fmincg` 是优化器,用来训练神经网络。`predict` 函数用于预测输出结果,`mean` 和 `double` 函数用来计算准确率。
阅读全文