【问题标题】:Compressing data with encoder part of an auto-encoder is giving inconstant classification results使用自动编码器的编码器部分压缩数据会产生不稳定的分类结果
【发布时间】:2021-08-28 12:34:28
【问题描述】:

我有一个包含 11 个类的数据集,我正在使用自动编码器的编码器部分执行降维,从 115 个特征到 15 个特征,我已经在完整数据集上训练了自动编码器,然后将编码器保存为 h5 文件,之后,我将编码器导入另一个项目,我应该压缩数据集,但我没有足够的内存来做这件事(csv文件太大),所以我压缩了属于每个类的数据拥有压缩数据集并将其保存到 csv 文件,所以我最终得到了 11 个 csv 文件,每个文件代表属于一个类的压缩数据,之后我将压缩的 csv 文件导入我的项目并将它们连接到一个数据帧中,然后我将它们打乱并使用 MLP 进行分类,我得到了非常好的结果,过了一段时间我设法获得了更多的内存,所以我重新进行了降维部分,这次我打乱了整个数据集,然后用编码器压缩它并做了分类公司ain,这次结果很糟糕,我什至试图让编码器不可训练(因为我认为它的参数可能正在改变),但我仍然得到了同样糟糕的结果。

我的问题是:当我自己压缩每个攻击然后将压缩数据连接到一个数据帧中时,我得到了很好的结果,但是当我一次压缩包含所有类的完整数据集时,我得到了使用相同的编码器会产生不好的结果。

【问题讨论】:

    标签: deep-learning autoencoder multiclass-classification transfer-learning dimensionality-reduction


    【解决方案1】:

    RAM 具有一定数量的内核并且可以并行工作。但是,由于您使用它来存储大量数据,因此它会失去容量并倾向于尽可能减少延迟,因此它会减少如果 ram 空闲则宁愿使用的 Ops。因此性能下降。

    【讨论】:

    • 那会影响分类的准确性吗?
    • 我有相同的编码器,如果我自己传递每类数据,我会得到很好的分类结果,但如果我通过编码器传递整个数据集(单个 numpy 数组),我会得到不好的分类结果,结果不应该一样吗?它是同一个编码器,我什至尝试将其层设置为不可训练!
    • 编码器的结果是一样的,但是你的 MLP 模型不适合。
    • 我尝试使用适合 RAM 的较小数据集进行分类,但结果仍然存在同样的问题
    猜你喜欢
    • 2019-06-29
    • 1970-01-01
    • 2018-05-11
    • 2021-04-28
    • 1970-01-01
    • 2020-11-17
    • 1970-01-01
    • 2021-12-19
    • 2020-12-06
    相关资源
    最近更新 更多