Matlab NN输入和;输出操作

时间:2011-12-18 20:02:30

标签: matlab neural-network

假设我有这个矩阵,A:

A=[ 25     11   2010    10  23  75 
    30     11   2010    11  24  45 
    31     12   2010    19  24  44 
    31     12   2010    22  27  32 
    1      1    2011    14  27  27 
    2      12   2011    15  28  30 
    3      12   2011    16  24  42 ];

前5列表示某些测量参数的输入,最后一列表示相应的输出。行数是进行这些测量的次数。

我想使用Matlab神经网络GRNN和函数newgrnn(或任何其他NN函数)来训练数据到第5行并测试剩余的2行输入以评估它们的相应输出。我已经尝试了很多次这样做,但它总是给我错误,程序运行不正常。我已经查看了newgrnn帮助示例,但它仅用于一个输入,而在此示例中我有5个输入。

我的问题是我们如何将输入和输出放在newgrnn函数结构中。实际上,我有一个非常大的矩阵,有22个输入和一个输出,我的矩阵的大小是26352乘23但上面只是示例。

1 个答案:

答案 0 :(得分:2)

由于您没有提供任何您尝试过的例子以及您从尝试中获得的错误,我将不得不给您一个相当通用的答案。

查看the newgrnn help file

  

net = newgrnn(P,T,spread)需要三个输入,

P         R-by-Q matrix of Q input vectors
T         S-by-Q matrix of Q target class vectors
spread    Spread of radial basis functions (default = 1.0)

因此,如果矩阵A总是只有最后一列是输出(目标类向量),那么输出(目标类向量)为A[1:5,end],输入为A[1:5,1:(end-1)] 。这些分别是“前5行A,最后一列”和“前5行A,以及除最后一列之外的所有行”。

然后(只需按照newgrnn帮助文件中的示例,您就必须调整到您自己的特定A):

net = newgrnn( A[1:5,1:(end-1)], A[1:5,end] )
% predict new values
Y = sim(net, A[6:7,1:(end-1)])

我认为您还应该阅读indexing arrays and matrices的Matlab帮助文件。