繁体   English   中英

MATLAB中的自动编码器

[英]Autoencoder in MATLAB

我的目标是在Matlab中训练一个Autoencoder。 我正在使用深度学习工具箱。 我是自动编码器和Matlab的新手,所以如果这个问题很简单,请耐心等待。

我的输入数据集是一个包含2000个时间序列的列表,每个时间序列包含501个条目。 所以我的输入数据集存储在一个名为inputdata的数组中,该数组的大小为2000 * 501。

自动编码器应重现时间序列。 这意味着输出应该是501个组件的时间序列的2000倍。 所以,我的理解是输入节点应该是501,输出节点应该是相同的。

但是,如果我这样做:

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

为了训练隐藏层中有100个节点的自动编码器,我认为Autoencoder自动选择拥有2000个输入节点。 训练此Autoencoder的正确方法是什么?

嗨我没有尝试使用Deeplearning工具箱自己训练自动编码器,但据我所知( https://www.mathworks.com/help/deeplearning/ref/trainautoencoder.html?s_tid=doc_ta )你的输入矩阵应该将样本作为列以及行中时间序列的特征/值。 您可以通过转置输入矩阵来轻松完成此操作。 在MATLAB中,这通过以下方式完成:

inputdata = inputdata.'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM