【发布时间】:2019-10-08 21:43:07
【问题描述】:
我是深度学习领域的新手,尤其是 Keras。这里有一个简单的分类问题,不知道怎么解决。我不明白的是分类的一般过程如何,比如将输入数据转换为张量、标签等。
假设我们有三个类,1, 2, 3。
有一系列类需要归类为这些类中的一个。数据集例如
- 序列
1, 1, 1, 2标记为2 - 序列
2, 1, 3, 3标记为1 - 序列
3, 1, 2, 1标记为3
等等。
这意味着输入数据集将是
[[1, 1, 1, 2],
[2, 1, 3, 3],
[3, 1, 2, 1]]
标签将是
[[2],
[1],
[3]]
现在我明白的一件事是对类进行一次热编码。因为我们有三个类,每个1 都将转换为[1, 0, 0],2 将转换为[0, 1, 0],3 将转换为[0, 0, 1]。转换上面的例子会得到一个 3 x 4 x 3 的数据集和一个 3 x 1 x 3 的标签。
我理解的另一件事是最后一层应该是 softmax 层。这样,如果像(例如[1, 2, 3, 4])这样的测试数据出来,它将被softmaxed并计算该序列属于1类或2类或3类的概率。
我说的对吗?如果是这样,你能给我一个解释/例子来说明这些序列的分类过程吗?
提前谢谢你。
【问题讨论】:
-
你的问题看起来很奇怪,好像你几乎知道输入谁和输出的表示。同时,您不想了解任何架构的工作原理。
-
@AshwinGeetD'Sa 对不起,让我编辑问题。也许你是对的,我几乎知道如何输入输入,但我想我也需要一个代码示例。实际上,我确实在 Keras 中尝试了一些示例,但到目前为止,我遇到了各种错误,例如张量大小不匹配等。因为理论上我实际上知道 LSTM 的工作原理,并且我看到了 LSTM 或图像分类的工作示例例如 CNN,但不是这种问题。
-
@AshwinGeetD'Sa 很好,我的意思是我不需要深入解释模型的工作原理,但如果有人愿意解释以帮助解决问题,我我当然很感激
-
您能否也发布您尝试过的代码以及您遇到的错误?以便您得到正确的解决方案。
-
@AshwinGeetD'Sa 很好,因为我编写的代码使用了一个非常具体的库,这就是为什么我没有将示例放在这里的原因,我也想知道一般的想法,而不是我的具体代码也有效
标签: keras deep-learning classification multilabel-classification transformer