写一个RBF神经网络的MATLAB程序
时间: 2023-10-23 08:10:57 浏览: 119
Matlab的RBF神经网络程序.docx
以下是一个简单的RBF神经网络的MATLAB程序:
```matlab
% 载入数据
load iris_dataset
inputs = irisInputs;
targets = irisTargets;
% 初始化参数
hidden_layer_size = 10;
spread = 1.0;
% 训练RBF神经网络
net = newrb(inputs, targets, 0, spread, hidden_layer_size);
outputs = sim(net, inputs);
% 绘制分类结果
plotconfusion(targets, outputs);
```
其中,`iris_dataset` 是一个内置的鸢尾花数据集,包含了150个样本,每个样本有4个特征和1个类别标签。`inputs` 是一个150 x 4 的矩阵,每行表示一个样本的4个特征;`targets` 是一个150 x 3 的矩阵,每行是一个样本的类别标签,用one-hot编码表示。
`hidden_layer_size` 是RBF神经网络的隐层神经元数量,`spread` 是径向基函数的扩散参数。`newrb` 函数用来训练RBF神经网络,它的输入参数包括输入数据、输出数据、误差容限、径向基函数的扩散参数和隐层神经元数量,返回一个训练好的神经网络。`sim` 函数用来对输入数据进行分类,返回一个150 x 3 的矩阵,每行是一个样本的分类结果,用one-hot编码表示。
最后,用 `plotconfusion` 函数画出分类结果的混淆矩阵。
阅读全文