我正在做一个项目,我需要减少我的观察的维度,并且仍然对它们有一个有意义的表示。出于多种原因,强烈建议使用自动编码器,但我不太确定这是最好的方法。
我有 1400 个尺寸约为 60,000 的样本,这太高了,我正试图将它们的维度降低到原始维度的 10%。我正在使用theano 自动编码器[ Link ],似乎成本一直在 30,000 左右(非常高)。我尝试增加 epoch 数或降低学习率,但均未成功。我不是自动编码器方面的专家,所以我不确定如何从这里开始,或者何时停止尝试。
我可以运行其他测试,但在继续之前,我想听听你的意见。
您是否认为数据集太小(我可以再添加 600 个样本,总共约 2000 个)?
你认为使用堆叠的自动编码器会有所帮助吗?
我应该继续调整参数(时期和学习率)吗?
由于数据集是一组图片,我试图可视化来自自动编码器的重建结果,而我得到的只是每个样本的相同输出。这意味着在给定输入的情况下,自动编码器会尝试重建输入,但我得到的是任何输入的相同(几乎完全)图像(看起来像是数据集中所有图像的平均值)。这意味着内部表示不够好,因为自动编码器无法从中重建图像。
数据集: 1400 - 2000 张扫描书籍(包括封面)的图像,每张约 60.000 像素(转换为 60.000 个元素的特征向量)。每个特征向量都在 [0,1] 中进行了归一化,最初的值在 [0,255] 中。
问题:使用自动编码器降低它们的维度(如果可能的话)
如果您需要任何额外的信息,或者如果我错过了一些可能有助于更好地理解问题的内容,请添加评论,我很乐意帮助您帮助我 =)。
注意:我目前正在对整个数据集进行更多时期的测试,我将根据结果更新我的帖子,但这可能需要一段时间。