exponenta event banner

mapstd

Обработка матриц путем отображения средних значений каждой строки на 0 и отклонений на 1

Синтаксис

[Y,PS] = mapstd(X,ymean,ystd)
[Y,PS] = mapstd(X,FP)
Y = mapstd('apply',X,PS)
X = mapstd('reverse',Y,PS)
dx_dy = mapstd('dx_dy',X,Y,PS)

Описание

mapstd обрабатывает матрицы путем преобразования среднего и стандартного отклонения каждой строки в ymean и ystd.

[Y,PS] = mapstd(X,ymean,ystd) берет X и необязательные параметры,

X

Nоколо-Q матрица

ymean

Среднее значение для каждой строки Y (по умолчанию - 0)

ystd

Стандартное отклонение для каждой строки Y (по умолчанию - 1)

и возвращает

Y

Nоколо-Q матрица

PS

Параметры процесса, позволяющие согласованно обрабатывать значения

[Y,PS] = mapstd(X,FP) принимает параметры как структуру: FP.ymean, FP.ystd.

Y = mapstd('apply',X,PS) прибыль Y, учитывая X и настройки PS.

X = mapstd('reverse',Y,PS) прибыль X, учитывая Y и настройки PS.

dx_dy = mapstd('dx_dy',X,Y,PS) возвращает обратную производную.

Примеры

Здесь форматируется матрица таким образом, что минимальное и максимальное значения каждой строки сопоставляются среднему значению по умолчанию и STD 0 и 1.

x1 = [1 2 4; 1 1 1; 3 2 2; 0 0 0]
[y1,PS] = mapstd(x1)

Затем примените те же параметры обработки к новым значениям.

x2 = [5 2 3; 1 1 1; 6 7 3; 0 0 0]
y2 = mapstd('apply',x2,PS)

Сторнировать обработку y1 добираться x1 снова.

x1_again = mapstd('reverse',y1,PS)

Подробнее

свернуть все

Нормализация сетевых входов и целей с помощью mapstd

Другой подход к масштабированию сетевых входов и целей заключается в нормализации среднего и стандартного отклонения обучающего набора. Функция mapstd нормализует входы и цели таким образом, чтобы они имели нулевое среднее и единичное стандартное отклонение. Следующий код иллюстрирует использование mapstd.

[pn,ps] = mapstd(p);
[tn,ts] = mapstd(t);

Исходные сетевые входы и цели приведены в матрицах p и t. Нормализованные входы и цели pn и tn возвращаемые значения будут иметь нулевое значение и стандартное отклонение единицы. Структуры параметров настройки ps и ts содержат средства и стандартные отклонения исходных входных данных и исходных целей. После обучения сети эти параметры следует использовать для преобразования любых будущих входных данных, применяемых к сети. Они фактически становятся частью сети, как и веса и предубеждения сети.

Если mapstd используется для масштабирования целей, затем выход сети обучается выдавать выходы с нулевым средним и единицей среднеквадратического отклонения. Чтобы преобразовать эти выходные данные обратно в те же единицы, которые использовались для исходных целей, используйте ts. Следующий код моделирует сеть, обученную предыдущему коду, а затем преобразует вывод сети обратно в исходные единицы.

an = sim(net,pn);
a = mapstd('reverse',an,ts);

Сетевой выход an соответствует нормализованным целям tn. Ненормализованный сетевой выход a находится в тех же единицах, что и исходные цели t.

Если mapstd используется для предварительной обработки данных обучающего набора, затем всякий раз, когда обучаемая сеть используется с новыми входами, следует предварительно обрабатывать их со средствами и стандартными отклонениями, которые были вычислены для обучающего набора с помощью ps. Следующие команды применяют новый набор входов к уже обученной сети:

pnewn = mapstd('apply',pnew,ps);
anewn = sim(net,pnewn);
anew = mapstd('reverse',anewn,ts);

Для большинства сетей, в том числе feedforwardnet, эти шаги выполняются автоматически, так что вам нужно только использовать sim команда.

Алгоритмы

Предполагается, что X имеет только конечные вещественные значения, и что элементы каждой строки не все равны.

y = (x-xmean)*(ystd/xstd) + ymean;

См. также

| |

Представлен в R2006a