gpt4 book ai didi

python-3.x - 减少深度学习模型的输入维度

转载 作者:行者123 更新时间:2023-11-30 08:34:01 25 4
gpt4 key购买 nike

我正在学习深度学习类(class),并且我有一个用 keras 构建的模型。经过数据预处理和分类数据编码后,我得到一个形状为 (12500,) 的数组作为模型的输入。此输入使模型训练过程变慢且滞后。有没有一种方法可以最小化输入的维度?

输入被分类为地理坐标、天气信息、时间、距离,我正在尝试预测两个地理坐标之间的旅行时间。

原始数据集有 8 个特征,其中 5 个是分类特征。我使用onehot编码对上述分类数据进行编码。地理坐标有6000个类别,天气有15个类别,时间有96个类别。同样,在使用 onehot 编码进行编码后,我得到了一个形状为 (12500,) 的数组作为模型的输入。

最佳答案

当类别数量很大时,one-hot 编码的效率就变得太低了。一个极端的例子是自然语言句子的处理:在这个任务中,词汇表通常有 100k 甚至更多的单词。显然,将 10 个单词的句子翻译成几乎全部为零的 [10, 100000] 矩阵会浪费内存。

研究使用的是嵌入层,它学习分类特征的密集表示。对于单词,它称为“单词嵌入”,例如word2vec 。这种表示要小得多,大约是 100 维,并且使网络的其余部分能够有效地处理 100 维输入向量,而不是 100000 维向量。

在keras中,它是由Embedding实现的层,我认为它非常适合您的 geotime 功能,而其他功能可能可以很好地使用 one-hot 编码。这意味着您的模型不再是顺序的,而是具有多个输入,其中一些输入通过嵌入层。主模型将串联学习到的表示并进行回归推理。

关于python-3.x - 减少深度学习模型的输入维度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49837960/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com