亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

多類別情況下最后一個密集輸出層的單位

多類別情況下最后一個密集輸出層的單位

天涯盡頭無女友 2023-02-12 19:01:44
我目前正在研究這個colab。任務是將句子分類到某個類別中。所以我們有一個多類別問題,而不是二元問題,比如根據某些評論句子預測評論的情緒(正面/負面)。在多個類別的情況下,我認為最后一層中的單元/神經元數量必須與我想要預測的類別數量相匹配。所以當我有一個二元問題時,我使用一個神經元,表示 0 或 1。當我有 5 個類時,我需要 5 個單元。我也這么想。但是,在 colab 的代碼中有以下內容:model = tf.keras.Sequential([    tf.keras.layers.Embedding(vocab_size, embedding_dim, input_length=max_length),    tf.keras.layers.GlobalAveragePooling1D(),    tf.keras.layers.Dense(24, activation='relu'),    tf.keras.layers.Dense(6, activation='softmax')])model.compile(loss='sparse_categorical_crossentropy',optimizer='adam',metrics=['accuracy'])model.summary()當我在此 colab 中運行 model.fit 代碼部分時,它確實有效。但我不明白。當我檢查print(label_tokenizer.word_index)print(label_tokenizer.word_docs)print(label_tokenizer.word_counts)這給{'sport': 1, 'business': 2, 'politics': 3, 'tech': 4, 'entertainment': 5}defaultdict(<class 'int'>, {'tech': 401, 'business': 510, 'sport': 511, 'entertainment': 386, 'politics': 417})OrderedDict([('tech', 401), ('business', 510), ('sport', 511), ('entertainment', 386), ('politics', 417)])很明顯是5個班級。但是,當我將模型調整為tf.keras.layers.Dense(5, activation='softmax')并運行 model.fit 命令時,它不起作用。準確度始終為 0。為什么這里正確的是 6 而不是 5?
查看完整描述

1 回答

?
BIG陽

TA貢獻1859條經驗 獲得超6個贊

是 6,因為編碼目標在 [1,5] 中,但 keras sparse_cat 從 0 創建單熱標簽,因此它創建了另一個無用標簽 (0)。


使用Dense(5, activation='softmax')你可以簡單地做 y-1 以獲得 [0,4] 中的標簽并讓它們從 0 開始


在 colab 鏈接之后,您可以更改:


model = tf.keras.Sequential([

    tf.keras.layers.Embedding(vocab_size, embedding_dim, input_length=max_length),

    tf.keras.layers.GlobalAveragePooling1D(),

    tf.keras.layers.Dense(24, activation='relu'),

    tf.keras.layers.Dense(5, activation='softmax')

])


model.compile(loss='sparse_categorical_crossentropy',optimizer='adam',metrics=['accuracy'])


history = model.fit(train_padded, training_label_seq-1, epochs=num_epochs, validation_data=(validation_padded, validation_label_seq-1), verbose=2)



查看完整回答
反對 回復 2023-02-12
  • 1 回答
  • 0 關注
  • 104 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號