簡體   English   中英

無法提高我的多層感知器 (MLP) 模型在分類中的准確性

[英]Cannot improve the accuracy of my Multilayer Perceptron (MLP) model in classification

我正在嘗試預測用於構建性能的標簽:{1, 0}。 由於這是一個二元分類,我嘗試了使用 Xavier 初始化的 sigmoid 和身份激活函數。 但是,我無法提高模型的准確性,因為在每個 epoch 訓練后損失和准確性都保持不變。 這是一個非常不平衡的數據集,其中 90% 占多數。 所以,我認為這可能是由於最初的偏見。 你能幫我解決這個問題嗎? 您可以看到訓練過程的設置和附加的其他相關圖像。 模型 定義,超 參數,結果

以下是一些可能有幫助的建議:

  1. 每個隱藏層之后使用激活
  2. 0.1 的學習率對於 Adam 來說太高了。 嘗試更小(例如 3e-4)
  3. 您打印的損失值不正確。 目前損失值僅用於最后一次迭代。 而是計算平均歷元損失。
  4. 次要建議:由於任務是二進制分類,如果您在最后一層不使用 sigmoid,最好應用torch.nn.BCELosstorch.nn.BCEWithLogitsLoss 在這種情況下,最后一個線性層必須有 output_size=1。
  5. 您提供的代碼可能會錯過最佳模型檢查點。 這是因為您每 10 個 epoch 計算一次准確度,但是在每個不一致的 epoch 上完成accuracy > best_accuracy

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM