Keras:LSTM 的分类输入与连续输入
Keras: Categorical vs Continuous input to a LSTM
我是 Keras 和深度学习的新手,在阅读了 Whosebug 上的几个教程和答案之后,我仍然不清楚一旦输入进入网络后如何操作输入。
我正在使用keras的功能API来开发复杂的模型,所以我的第一层总是输入层。
类似于:
Input()
LSTM()
Dense()
现在假设我有 2 个训练数据集 A 和 B。每个数据集都是相同的 10,000 x 6,000 矩阵,其中有 200 个不同的值。即 10,000 行,每行代表训练示例和 6,000 个时间步长序列。两者的值都是 [[3,50,1,22,7,5,3,1,5,..], [55,32,54,21,15, ...], .... ]
A 和 B 之间的唯一区别是 A 中的值是实数(连续变量),而值 B 是离散值(分类变量)。
我有以下 3 个可能的选项,我可以使用它们来区分分类输入和连续输入,我想问问其中哪些可行,哪些比其他更好。
1- 给定 A 是实数值且 B 是绝对值,将 A 转换为 .astype(float) 并将 B 转换为 .astype(float) 并馈送到网络,网络将相应地假设。
2- 给定 B 具有分类值,将 B 转换为单热向量设置,即将 10,000 x 6,000 更改为 10,000 x 6,000 x 200。保持 A 不变。
3- 如果我们使用 B 然后在输入后添加一个嵌入层并使网络像:
Input()
Embedding()
LSTM()
Dense()
如果我们使用 A 则不要添加嵌入层。
分类输入似乎让您感到困惑。嵌入或不嵌入:
- 我们在两种情况下使用嵌入层嵌入分类输入:减少 space 的维度并捕获输入之间的任何相似性。因此,当一种语言中有数十亿个单词时,嵌入 300 维向量以使其易于管理是有意义的。但是 one-hot 总是给出最大的区别,所以在你的情况下,200 并不是一个很大的数字,one-hot 是要走的路。
- 对于连续输入,我们normalize经常用一个简单的max-min normalisation,所以max变成1,min变成0。但是有很多方法可以做到这一点取决于您的数据集的性质。
- 对于实际模型,您可以使用 2 个处理连续和分类不同的输入,并可能在上游共享层,否则创建 2 个不同的模型可能有意义。
您可以找到有关输入编码的更多信息online。
我是 Keras 和深度学习的新手,在阅读了 Whosebug 上的几个教程和答案之后,我仍然不清楚一旦输入进入网络后如何操作输入。
我正在使用keras的功能API来开发复杂的模型,所以我的第一层总是输入层。 类似于:
Input()
LSTM()
Dense()
现在假设我有 2 个训练数据集 A 和 B。每个数据集都是相同的 10,000 x 6,000 矩阵,其中有 200 个不同的值。即 10,000 行,每行代表训练示例和 6,000 个时间步长序列。两者的值都是 [[3,50,1,22,7,5,3,1,5,..], [55,32,54,21,15, ...], .... ] A 和 B 之间的唯一区别是 A 中的值是实数(连续变量),而值 B 是离散值(分类变量)。
我有以下 3 个可能的选项,我可以使用它们来区分分类输入和连续输入,我想问问其中哪些可行,哪些比其他更好。
1- 给定 A 是实数值且 B 是绝对值,将 A 转换为 .astype(float) 并将 B 转换为 .astype(float) 并馈送到网络,网络将相应地假设。
2- 给定 B 具有分类值,将 B 转换为单热向量设置,即将 10,000 x 6,000 更改为 10,000 x 6,000 x 200。保持 A 不变。
3- 如果我们使用 B 然后在输入后添加一个嵌入层并使网络像:
Input()
Embedding()
LSTM()
Dense()
如果我们使用 A 则不要添加嵌入层。
分类输入似乎让您感到困惑。嵌入或不嵌入:
- 我们在两种情况下使用嵌入层嵌入分类输入:减少 space 的维度并捕获输入之间的任何相似性。因此,当一种语言中有数十亿个单词时,嵌入 300 维向量以使其易于管理是有意义的。但是 one-hot 总是给出最大的区别,所以在你的情况下,200 并不是一个很大的数字,one-hot 是要走的路。
- 对于连续输入,我们normalize经常用一个简单的max-min normalisation,所以max变成1,min变成0。但是有很多方法可以做到这一点取决于您的数据集的性质。
- 对于实际模型,您可以使用 2 个处理连续和分类不同的输入,并可能在上游共享层,否则创建 2 个不同的模型可能有意义。
您可以找到有关输入编码的更多信息online。