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

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

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

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

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

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

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


person johnhenry    schedule 03.04.2019    source источник


Ответы (1)


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

inputdata = inputdata.'
person ga97dil    schedule 03.04.2019
comment
' не транспонируется. .' это - person Luis Mendo; 03.04.2019
comment
Верно, но пока вы не работаете с комплексными числами, они оба делают одно и то же, верно? - person ga97dil; 03.04.2019
comment
Да, но если вы к этому привыкнете, однажды это может дать вам отпор. См., например, здесь - person Luis Mendo; 03.04.2019
comment
Хорошо, спасибо. Никогда раньше не замечал разницы. Я начну использовать .' - person ga97dil; 03.04.2019
comment
Это делает меня счастливым :-) Буквально. (путаница ' и .' меня больше всего раздражает) - person Luis Mendo; 03.04.2019