Neural network 具有少量特征的自动编码器中隐藏节点的数量

Neural network 具有少量特征的自动编码器中隐藏节点的数量,neural-network,deep-learning,feature-extraction,feature-selection,autoencoder,Neural Network,Deep Learning,Feature Extraction,Feature Selection,Autoencoder,我有一个数据集,有2个特征和10000个样本。我想将这两个特性转换(集成)为一个特性,以便进一步分析。所以我想用特征提取的方法。由于两个特征之间的关系不是线性的,我想使用传统PCA以外的方法 因为样本的数量远远大于特征的数量,我认为自动编码器是一种很好的特征提取方法。但是输入特征只有2,那么自动编码器的形状将只有2-1-2,这是一个线性提取 是否可以设置比输入数量更多的隐藏节点,并制作堆叠式自动编码器,例如2-16-8-1-8-16-2节点 另外,使用自动编码器进行这种数据集成是一个不错的选择?

我有一个数据集,有2个特征和10000个样本。我想将这两个特性转换(集成)为一个特性,以便进一步分析。所以我想用特征提取的方法。由于两个特征之间的关系不是线性的,我想使用传统PCA以外的方法

因为样本的数量远远大于特征的数量,我认为自动编码器是一种很好的特征提取方法。但是输入特征只有2,那么自动编码器的形状将只有2-1-2,这是一个线性提取

是否可以设置比输入数量更多的隐藏节点,并制作堆叠式自动编码器,例如2-16-8-1-8-16-2节点


另外,使用自动编码器进行这种数据集成是一个不错的选择?如果没有,还有更好的解决方案吗?

为什么这是线性提取?如果在隐藏层和输出层中使用任何非规则性,则它们之间将存在非线性关系。您的编码基本上是乙状结肠(Ax+b)


如果你真的想让你的网络更复杂,我建议在单神经元层之前使用多个2神经元层。像这样的2-2-2-1-2-2-2节点。我看不出有任何理由需要把它放大

关于设计和训练神经网络的指导问题与堆栈溢出无关,除非在解决实现细节时,情况似乎并非如此。还要注意,询问示例代码也不是一个好问题。如果您需要有关自动编码器的理论背景的帮助,请参阅。如果您在使用TensorFlow实现模型时遇到了一个具体问题,那么写一篇文章对我们理解这个问题很重要。谢谢您的评论。我同意这是交叉验证的适当问题,因为自动编码器的设计是主要问题。我将把这个移到交叉验证,但我认为如果两个输入节点之间存在关系,使用单个隐藏层和单个节点将产生类似于线性PCA的结果。此外,我认为简单地添加隐藏层(如2-2-1-2-2)不会改变结果,因为较深的隐藏层可能会为每个输入选择相同的权重(0.5和0.5)。但通过使用非线性作为激活函数,您将不会得到线性关系,而是非线性关系。如果你想有一个更复杂的函数,可以使用多个S形函数。我看不到先放大信息然后再缩小的好处。如果您担心不需要使用深度网络,请使用跳过连接。谢谢您的回答。那么,除了自动编码器,你认为还有其他更好的选择吗?事实上,我以前尝试过使用内核的t-SNE和PCA,但是自动编码器的性能要好得多。降维本身就是一个分支。我使用度量学习成功地学习了基于数据标签的表示。对于回归问题,这自然不起作用。你可以尝试其他方法,但我不认为它们会产生更好的结果。无论如何,这种技术的评估工作称为:多维数据可视化投影方法的基于感知的评估。也许还有一种方法适用于您的用例。谢谢您的建议。我可以再问一个问题吗?我的最终目标是将两个数据集“集成”(或合并)为一个数据集,以便进行进一步的分析,例如皮尔逊相关等单变量特征选择。你认为降维技术适合这项工作吗?