使用表示学习进行特征提取

Feature Extraction Using Representation Learning

我是机器学习的新手,我接到了一项任务,要求我使用表示学习(例如堆叠自动编码器)从具有连续数据的数据集中提取特征。

然后我将这些提取的特征与数据集的原始特征结合起来,然后使用特征选择技术来确定我的最终特征集,这些特征将进入我的预测模型。

任何人都可以为我提供一些资源、演示或示例代码,告诉我如何开始使用它吗?我很困惑从哪里开始,希望得到一些建议!

好的,假设您有(1000 个实例和 30 个特征)的输入。根据你告诉我们的,我会做的是:

训练一个自动编码器,一个压缩输入然后解压缩的神经网络,它以您的原始输入为目标。压缩表示位于潜在 space 中,并封装了人类无法直接访问的有关输入的信息。现在你可能会在 tensorflow 或 pytorch 中找到这样的网络。 Tensorflow 更简单、更直接,因此它可能更适合您。我将为变分自动编码器提供此 link (https://keras.io/examples/generative/vae/),它可以为您完成这项工作。它具有 Conv2D 层,因此它对图像数据的表现非常好,但您可以尝试使用该架构。我不能告诉你更多,因为你没有为你的数据集提供更多信息。然而,重要的是:

在你的自动编码器被正确训练并且你需要确定它之后,(它充分重建输入)然后你需要提取上述潜在输入(你会在 link 中找到更多)。现在,假设是 16 个数字,但您可以玩它。这 16 个数字用于保存有关您输入的信息。你说你想将这些数字与你的输入结合起来,所以不妨这样做并最终得到 46 个输入特征。现在,特征 selection 部分与 selecting 对您的模型更有用的输入特征有关。这不是很有趣,您可能会找到更多信息 (https://towardsdatascience.com/feature-selection-techniques-in-machine-learning-with-python-f24e7da3f36e),获得 select 特征的一种方法是训练许多具有不同特征子集的模型。请记住,PCA 等技术用于特征提取,而不是 selection。我不能提供任何演示来完成整个事情,但有一些资源可以提供帮助。请记住,您的自动编码器应该为每个训练示例 return 16 个数字。您的自动编码器仅在您的训练数据上进行训练,并以您的训练数据为目标。