Автоэнкодер в MATLAB - PullRequest
       29

Автоэнкодер в MATLAB

0 голосов
/ 03 апреля 2019

Моя цель - обучить автоэнкодеру в Matlab.Я использую Инструментарий глубокого обучения.Я новичок как в автоэнкодерах, так и в Matlab, поэтому, пожалуйста, имейте в виду, если вопрос тривиален.

Мои входные наборы данных представляют собой список из 2000 временных рядов, каждый из которых содержит 501 запись для каждого временного компонента.Поэтому мой входной набор данных хранится в массиве с именем inputdata, который имеет размеры 2000 * 501.

Автоэнкодер должен воспроизводить временные ряды.Это означает, что выходной сигнал должен быть в 2000 раз больше временного ряда из 501 компонента.Итак, я понимаю, что входные узлы должны быть 501, и то же самое должно быть верно для выходных узлов.

Однако, если я сделаю:

hiddenSize = 100;   
autoenc = trainAutoencoder(y_sorted,hiddenSize);

, чтобы обучить автоэнкодер с 100узлы в скрытом слое, я думаю, что автоматический кодер автоматически выбирает 2000 входных узлов.Как правильно тренировать этот автоэнкодер?

1 Ответ

0 голосов
/ 03 апреля 2019

Привет! Я не пытался самостоятельно обучить автокодеру с помощью набора инструментов Deeplearning, но, насколько я могу прочитать здесь (https://www.mathworks.com/help/deeplearning/ref/trainautoencoder.html?s_tid=doc_ta), в вашей входной матрице должны быть примеры в виде столбцов и особенности / значения вашеговременные ряды в строках. Вы можете сделать это легко путем транспонирования вашей входной матрицы. В MATLAB это делается с помощью:

inputdata = inputdata.'
...