gpt4 book ai didi

python - 4 个标签、文本分类的 Tensorflow 准确率停留在 25%

转载 作者:行者123 更新时间:2023-12-01 08:44:05 24 4
gpt4 key购买 nike

准确率一开始约为 40%,在一个周期内下降至 25%

我的模型:

self._model = keras.Sequential()
self._model.add(keras.layers.Dense(12, activation=tf.nn.sigmoid)) # hidden layer
self._model.add(keras.layers.Dense(len(VCDNN.conventions), activation=tf.nn.softmax)) # output layer
optimizer = tf.train.AdamOptimizer(0.01)
self._model.compile(optimizer, loss=tf.losses.sparse_softmax_cross_entropy, metrics=["accuracy"])

我有 4 个标签,60k 行数据,为每个标签均匀分割,因此每个标签 15k,20k 行数据用于评估

我的数据示例:

name label
abcTest label1
mete_Test label2
ROMOBO label3
test label4

输入将每个字符转换为整数,然后热编码,输出将转换为整数[0-3]

1 epoch 评估(损失、acc):

[0.7436684370040894, 0.25]

更新有关数据的更多详细信息

字符串最多 20 个字符我首先根据字母表字典(a:1、b:2、c:3)将每个字符转换为 int,如果一个单词短于 20 个字符,我将用 0 填充其余部分,现在这些值被热编码并重新整形,所以

assume max 5 characters
1. ["abc","d"]
2. [[1,2,3,0,0],[4,0,0,0,0]]
3. [[[0,1,0,0,0],[0,0,1,0,0],[0,0,0,1,0],[1,0,0,0,0],[1,0,0,0,0]],[[0,0,0,0,1],[1,0,0,0,0],[1,0,0,0,0],[1,0,0,0,0],[1,0,0,0,0]]]
4. [[0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0],[0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0]]

和标签描述了单词的拼写方式,基本上是命名约定,例如全部小写 - unicase、testBest - 驼峰命名法、TestTest - PascalCase、test_test - Snake_case

添加了 2 个额外层,LR 降低至 0.001 Pic of training

更新2

self._model = keras.Sequential()
self._model.add(
keras.layers.Embedding(VCDNN.alphabetLen, 12, input_length=VCDNN.maxFeatureLen * VCDNN.alphabetLen))
self._model.add(keras.layers.LSTM(12))
self._model.add(keras.layers.Dense(len(VCDNN.conventions), activation=tf.nn.softmax)) # output layer
self._model.compile(tf.train.AdamOptimizer(self._LR), loss="sparse_categorical_crossentropy",
metrics=self._metrics)

似乎启动并立即终止,没有错误(-1073740791)

最佳答案

0.25 acc 意味着模型无法学习任何有用的东西,因为它与随机猜测相同。这意味着网络结构可能不适合解决问题。

目前,循环神经网络(如 LSTM)更常用于序列建模。例如:

model = Sequential()
model.add(Embedding(char_size, embedding_size))
model.add(LSTM(hidden_size))
model.add(Dense(len(VCDNN.conventions), activation='softmax'))

如果标签与输入单词的字符序列信息相关,效果会更好。

关于python - 4 个标签、文本分类的 Tensorflow 准确率停留在 25%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53374114/

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