Matlab NN входы и выход манипуляции - PullRequest
1 голос
/ 19 декабря 2011

Предположим, у меня есть эта матрица, 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 Ответ

2 голосов
/ 19 декабря 2011

Поскольку вы не привели ни одного примера того, что вы пробовали, и какие ошибки вы получаете от своих попыток, мне придется дать вам довольно общий ответ.

Взгляните на файл справки newgrnn .

net = newgrnn (P, T, распространение) занимает три входа,

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)])

Я думаю, вам также следует прочитать справочный файл Matlab для индексирования массивов и матриц .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...