希望你们一切都好
所以,我有一个关于二元分类的项目,第一类(0类)包含40000个样本,第二类(1类)包含1200个样本。为了处理两个类之间的不平衡,我使用 vae(变分自动编码器)为少数类生成新样本。
我已将数据集分为训练集和测试集,使用训练集中少数类的所有数据对 vae 进行训练,生成新样本后,我创建了一个新数据集,其中包含真实数据(训练集)+生成的数据数据。
我的问题是如何评估我的 vae 的性能?
根据您在后续对话中的评论,看起来您正在使用无人监督的方法。
了解为什么基于自动编码器的方法被考虑用于监督学习任务将会很有趣。
您可以使用 SMOTE / 重采样 / 欠采样 / 过采样。阅读这篇文章以清除这一点。
将 VAE 与其他生成模型(RBM、PixelRNN、PixelCNN、GLOW、NICE、许多 GAN 变体等)进行比较时,这些模型没有任何自动编码器结构,也没有任何“重建损失”或“概率的可能性”的概念。数据点的编码”,你只能真正依赖 1. 生成样本的主观质量,以及 2. 模型的可能性(尽管 GAN 不允许这样做,并且对于 VAE 来说这可能很难)。
您可以参考康奈尔大学的这篇论文,其中通过描述性图像更详细地给出了 VAE 的工作和性能。
但是我建议你使用 SMOTE 进行二元分类。