為什麼模型 訓練集的正負比例越接近測試集的比例越好?

時間 2022-01-13 07:44:23

1樓:帶帶小師弟

如果使用交叉熵作為loss函式,則模型在訓練的過程中會盡量保證盡可能多的樣本被正確分類。當正負樣本不平衡時,很容易出現幾乎全都判別為樣本多的那一類別的情況,陷入區域性最優。這是損失函式決定的。

所以在這種情況下,需要使用降取樣或者過取樣對正負樣本進行均衡。或者在交叉熵損失函式中設定權重引數,加大模型將較少類樣本誤判為多類樣本帶來的損失。

訓練集的正負比例越接近於測試集的比例,只能保證模型在測試集上有較高的準確率,但是測試集正負樣本比例如果不均衡,幾乎不可能使用準確率作為評價指標,因為完全沒有意義。基本上會使用AUC或者F1 score等。這時候如果在訓練的時候不對正負樣本的比例進行均衡,訓練出來的模型很可能在以上指標上表現很差。

或者使用其他的損失函式,比如focal loss,或者在語義分割領域常用的dice loss,這樣就減少了正負樣本比例的不良影響了。

所以還是建議在訓練過程中對正負樣本比例進行均衡,而不是盡量接近測試集的比例。

2樓:小李

這裡要看使用的模型是什麼樣子的模型。

如果是貝葉斯之類的模型,那麼先驗概率會有很大的影響。

但是你試試看現在的深度學習,主要是從已有的很多的資料中統計學習到所謂的特徵,這裡是對訓練集的多樣性(當然,也有要求必須要出現測試集中會出現的case型別)以及正負樣本的均衡性提出了要求。

同乙個訓練集 模型和引數,每次訓練的結果都不一樣,最大相差3 ,所以請問實驗訓練的結果怎樣才算最好?

漁舟唱晚 如果網路結構相同,使用下面的設定可以固定隨機種子,方便對比結果。但如果網路結構有變化,哪怕多乙個變數,乙個類成員值,隨機值會隨著模型整體發生變化。下面使得每次的結果是固定的 init seed 34 torch.manual seed init seed torch.cuda.manual...

為何相同的資料集,相同的超參設定,模型訓練結果準確率相差很大?

今天周一天氣晴 問題補充,請大家幫忙看一下 1.資料集是提前整理好的,提前劃分好了訓練集和驗證集放在了不同的檔案裡面 2.該實驗是用乙個resnet18模型 學生模型 和少量資料,使用知識蒸餾損失,去逼近用大量資料訓練的另乙個resnet18模型 教師模型 兩個模型都能對100個類的樣本進行分類,教...

機器學習為什麼需要訓練,訓練出來的模型具體又是什麼?

南方的雨 其實和人學習乙個東西是一樣的 比如,乙個沒打過羽毛球也沒啥運動天賦但是力氣特別大的人,想學會怎麼接打高遠球,第一次,教練幫他丟了個球,他啥也不知道對著球使勁一揮,球往上飛老高,但是沒過網,教練告訴他,別往上打,注意角度 第二次,他調整了擊球方向,還是用力一揮,球衝著對面飛過去了,結果太大力...