Класс: автоэнкодер
Восстановите входные параметры с помощью обученного автоэнкодера
autoenc
— Обученный автоэнкодерAutoencoder
объектОбученный автоэнкодер, возвращенный как объект Autoencoder
класс.
Xnew
— Входные данныеВходные данные в виде матрицы выборок, массива ячеек данных изображения или массива одних данных изображения.
Если автоэнкодер autoenc
был обучен на матрице, где каждый столбец представляет одну выборку, затем Xnew
должна быть матрица, где каждый столбец представляет одну выборку.
Если автоэнкодер autoenc
был обучен на массиве ячеек изображений, затем Xnew
должен или быть массив ячеек данных изображения или массив одних данных изображения.
Типы данных: single
| double
| cell
Y
— Предсказания для входных данных Xnew
Предсказания для входных данных 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
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.