predict

Класс: автоэнкодер

Восстановите входные параметры с помощью обученного автоэнкодера

Синтаксис

Описание

пример

Y = predict(autoenc,X) возвращает предсказания Y для входных данных X, использование автоэнкодера autoenc. Результат Y реконструкция X.

Входные параметры

развернуть все

Обученный автоэнкодер, возвращенный как объект Autoencoder класс.

Входные данные в виде матрицы выборок, массива ячеек данных изображения или массива одних данных изображения.

Если автоэнкодер autoenc был обучен на матрице, где каждый столбец представляет одну выборку, затем Xnew должна быть матрица, где каждый столбец представляет одну выборку.

Если автоэнкодер autoenc был обучен на массиве ячеек изображений, затем Xnew должен или быть массив ячеек данных изображения или массив одних данных изображения.

Типы данных: single | double | cell

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

развернуть все

Предсказания для входных данных Xnew, возвращенный как матрица или массив ячеек данных изображения.

  • Если Xnew матрица, затем Y также матрица, где каждый столбец соответствует одной выборке (наблюдение или пример).

  • Если Xnew массив ячеек данных изображения, затем Y также массив ячеек данных изображения, где каждая ячейка содержит данные для одного изображения.

  • Если Xnew массив одних данных изображения, затем Y также массив одних данных изображения.

Примеры

развернуть все

Загрузите обучающие данные.

X = iris_dataset;

Обучающие данные содержат измерения на четырех атрибутах ирисовых цветов: длина Чашелистика, ширина чашелистика, лепестковая длина, лепестковая ширина.

Обучите автоэнкодер на обучающих данных с помощью положительной насыщающей линейной передаточной функции в энкодере и линейной передаточной функции в декодере.

autoenc = trainAutoencoder(X,'EncoderTransferFunction',...
'satlin','DecoderTransferFunction','purelin');

Восстановите измерения с помощью обучившего сеть, autoenc.

xReconstructed = predict(autoenc,X);

Постройте предсказанные значения измерения наряду с фактическими значениями в обучающем наборе данных.

for i = 1:4
h(i) = subplot(1,4,i);
plot(X(i,:),'r.');
hold on 
plot(xReconstructed(i,:),'go');
hold off;
end
title(h(1),{'Sepal';'Length'});
title(h(2),{'Sepal';'Width'});
title(h(3),{'Petal';'Length'});
title(h(4),{'Petal';'Width'});

Figure contains 4 axes objects. Axes object 1 with title Sepal Length contains 2 objects of type line. Axes object 2 with title Sepal Width contains 2 objects of type line. Axes object 3 with title Petal Length contains 2 objects of type line. Axes object 4 with title Petal Width contains 2 objects of type line.

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

Загрузите обучающие данные.

XTrain = digitTrainCellArrayData;

Обучающие данные являются 1 5000 массивом ячеек, где каждая ячейка, содержащая 28 28 матрица, представляющая синтетическое изображение рукописной цифры.

Обучите автоэнкодер со скрытым слоем, содержащим 25 нейронов.

hiddenSize = 25;
autoenc = trainAutoencoder(XTrain,hiddenSize,...
        'L2WeightRegularization',0.004,...
        'SparsityRegularization',4,...
        'SparsityProportion',0.15);

Загрузите тестовые данные.

XTest = digitTestCellArrayData;

Тестовые данные являются 1 5000 массивом ячеек с каждой ячейкой, содержащей 28 28 матрица, представляющая синтетическое изображение рукописной цифры.

Восстановите тестовые данные изображения с помощью обученного автоэнкодера, autoenc.

xReconstructed = predict(autoenc,XTest);

Просмотрите фактические тестовые данные.

figure;
for i = 1:20
    subplot(4,5,i);
    imshow(XTest{i});
end

Просмотрите восстановленные тестовые данные.

figure;
for i = 1:20
    subplot(4,5,i);
    imshow(xReconstructed{i});
end

Смотрите также

Введенный в R2015b