降维是可逆的吗?
Is dimensionality reduction reversible?
我已经使用 ENCOG 实现了降维算法,它采用具有多个特征的数据集(称为 A)并将其减少为只有一个特征的数据集(B)(我需要它进行时间序列分析)。
现在我的问题是,我有一个来自 B 的值 - 由时间序列分析预测,我可以将它转换回 A 数据集中的二维吗?
不,降维一般来说是不可逆的。它丢失了信息。
降维(信息压缩)在自动编码器中是可逆的。自动编码器是中间有瓶颈层的常规神经网络。例如,第一层有 20 个输入,中间层有 10 个神经元,最后一层有 20 个神经元。当你训练这样的网络时,你强制它把信息压缩到 10 个神经元,然后再次解压缩,最小化最后一层的错误(期望的输出向量等于输入向量)。当您使用众所周知的反向传播算法训练此类网络时,它会执行 PCA - 主成分分析。 PCA returns 不相关的特征。不是很给力。
通过使用更复杂的算法来训练自动编码器,您可以使其执行非线性 ICA - 独立分量分析。 ICA returns 统计上独立的特征。该训练算法搜索具有高泛化能力的低复杂度神经网络。作为正则化的副产品,您会获得 ICA。
我已经使用 ENCOG 实现了降维算法,它采用具有多个特征的数据集(称为 A)并将其减少为只有一个特征的数据集(B)(我需要它进行时间序列分析)。
现在我的问题是,我有一个来自 B 的值 - 由时间序列分析预测,我可以将它转换回 A 数据集中的二维吗?
不,降维一般来说是不可逆的。它丢失了信息。
降维(信息压缩)在自动编码器中是可逆的。自动编码器是中间有瓶颈层的常规神经网络。例如,第一层有 20 个输入,中间层有 10 个神经元,最后一层有 20 个神经元。当你训练这样的网络时,你强制它把信息压缩到 10 个神经元,然后再次解压缩,最小化最后一层的错误(期望的输出向量等于输入向量)。当您使用众所周知的反向传播算法训练此类网络时,它会执行 PCA - 主成分分析。 PCA returns 不相关的特征。不是很给力。
通过使用更复杂的算法来训练自动编码器,您可以使其执行非线性 ICA - 独立分量分析。 ICA returns 统计上独立的特征。该训练算法搜索具有高泛化能力的低复杂度神经网络。作为正则化的副产品,您会获得 ICA。