Класс: автоэнкодер
Восстановите входные параметры с помощью обученного автоэнкодера
Y = predict(autoenc,X)
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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.