天天看点

RBF神经网络——案例二

设计一个RBF神经网络,实现如图所示的两类模式的分类。

RBF神经网络——案例二

解:

(1)将三角形规定为第1类模式,圆形规定为第2类模式,以 ( x , y ) (x,y) (x,y)代表各模式样本的位置,形成相应的输入向量,注意,在矩阵中 ( x , y ) (x,y) (x,y)成列分布,例如 [ x 1 x 2 x 3 y 1 y 2 y 3 ] \begin{bmatrix} x_1&x_2&x_3\\ y_1&y_2&y_3\end{bmatrix} [x1​y1​​x2​y2​​x3​y3​​]

(2)创建、训练、存储、仿真RBF神经网络。

clear all;
clc;
p = [0 0 0 1 1 1 -1 -1 -1; 0 1 -1 0 1 -1 0 1 -1];  % 输入向量
tc = [1 1 2 2 1 1 1 2 1];
t = ind2vec(tc);  % 目标向量
net = newpnn(p,t,0.7);  % 设计径向基函数
save net62 net;  % 存储训练后的网络
%%
% RBF神经网络仿真
load net62 net;  % 加载训练后的网络
i = [0 0 0 1 1 1 -1 -1 -1; 0 1 -1 0 1 -1 0 1 -1];  % 测试样本
r = sim(net,i);
rc = vec2ind(r)  % 仿真结果
           

(3)结果输出

  • r c = 1 1 2 2 1 1 1 2 1 rc=\begin{matrix} 1&1&2&2&1&1&1&2&1\end{matrix} rc=1​1​2​2​1​1​1​2​1​

从仿真结果可以看出,RBF神经网络可以很好地完成模式分类。

继续阅读