mapminmax

Матрицы процесса путем отображения строки минимальные и максимальные значения с [-1 1]

Описание

пример

Совет

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

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

mapminmax матрицы процессов путем нормализации минимальных и максимальных значений каждой строки к [YMINymax ].

[Y,PS] = mapminmax(X,FP) берет параметры в качестве struct: 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