exponenta event banner

mapminmax

Обработка матриц путем сопоставления минимального и максимального значений строк с [-1 1]

Описание

пример

Совет

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

[Y,PS] = mapminmax(X,YMIN,YMAX) принимает Nоколо-Q матрица, X и необязательно минимальное и максимальное значения для каждой строки Y, YMIN и YMAXи возвращает Nоколо-Q матрица, Yи параметры процесса, которые позволяют согласованную обработку значений, PS.

mapminmax обрабатывает матрицы путем нормализации минимального и максимального значений каждой строки до [YMIN, YMAX].

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

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

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

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

Примеры

свернуть все

В этом примере показано, как форматировать матрицу таким образом, чтобы минимальное и максимальное значения каждой строки сопоставлялись интервалу по умолчанию [-1,+1].

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

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

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

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

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

Входные аргументы

свернуть все

Матрица, которую требуется обработать, указанная как Nоколо-Q матрица.

Минимальное значение для каждой строки выходной матрицы Y, указывается как скаляр.

Максимальное значение для каждой строки выходной матрицы Y, указывается как скаляр.

Выходные аргументы

свернуть все

Обработанная матрица, возвращенная как Nоколо-Q матрица.

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

Подробнее

свернуть все

Нормализация вводов и целей с помощью mapminmax

Перед обучением часто полезно масштабировать вводимые данные и целевые показатели таким образом, чтобы они всегда попадали в определенный диапазон. Функция mapminmax масштабирует входы и цели таким образом, чтобы они попадали в диапазон [-1,1]. Следующий код иллюстрирует использование этой функции.

[pn,ps] = mapminmax(p);
[tn,ts] = mapminmax(t);
net = train(net,pn,tn);

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

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

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

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

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

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

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

Алгоритмы

Предполагается, что X имеет только конечные вещественные значения, и что элементы каждой строки не все равны. (если xmax=xmin или, если xmax или xmin не являются конечными, то y=x и никаких изменений не происходит.)

y = (ymax-ymin)*(x-xmin)/(xmax-xmin) + ymin;

См. также

| |

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