предсказать

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

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

Синтаксис

Y = predict(autoenc,X)

Описание

пример

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'});

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

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

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