關於機器學習演算法中的smote處理不平衡問題,是針對於整個資料集處理還是僅針對訓練集來處理?

時間 2021-06-01 20:18:06

1樓:facetothefate

嘛,這個問題顯然可以翻譯成:對於交叉驗證,到底應該在哪做over-sampling?

顯然有這麼幾種做法:

1,對整個開發集做over-sampling,然後再交叉驗證

2,先劃分,對訓練集做 over-sampling,用測試集測試

首先第一點要銘記於心的是,我們進行交叉驗證,是為了使用有限的資料對模型的泛化能力進行正確的評估,正確率高並不代表泛化能力高,而可能是產生了over-fiting導致了false-postive。

第一種做法肯定是不行的。

為什麼呢,舉個例子,比如我採用留一驗證的模式,也就是,每次只留乙個資料做測試,其他的當訓練集,這樣一共訓練出N個模型,然後評估準確率,那麼想想看,不管你採用哪種手段over-sampling,留下的那個資料總是跟訓練的資料是有關係的,因為你對整個訓練集做了over-sampling,舉個極端的例子,如果我用最基本的over-sampling手段,也就是copy 少數類的資料,那麼留下的那個一定包含在了我的訓練集裡,這樣我一定會有乙個特別好的正確率,然而這都是泡沫,放到真正的資料上一跑便知,這就是所謂的false-positive,看上去很美罷了。即使採用了smote,那麼只不過留下的那個當測試集的資料變成了跟訓練集裡的某些資料部分相關了,你一樣還是會有很好的正確率,這一樣還是泡沫。

剩下的那個資料已經被包含在了訓練集裡

我們希望這樣,剩下的那個資料跟訓練集裡的資料沒關係

那麼第二種就是最常見的一般性做法了。也就是只對訓練集做處理,這樣才能保證,剩下的測試集跟訓練集沒有關係,是原始的資料,做交叉驗證才能反映你的模型真正的泛化能力。

2樓:梁賦航

顯然是訓練集啊

測試集插值,你一沒標籤,二你測試集合成新資料來進行擴充套件有什麼意義嗎|ω`) 又不能提高模型,新資料合成出來也沒用阿

機器學習的梯度下降演算法中尋找最合適學習率「阿爾法」的意義是什麼?

洋洋 目標函式的變數還是theta,可以把alpha視為乙個可以改變的常量,我們的目的就是為了更快地更準確地收斂到最小值。就好比要從a點到b點,ab 100公尺,我們的目的是達到b點 目標函式收斂 我們 變數 可以選擇不同的交通工具 alpha 到達b點,乘飛機 alpha較大 還沒起飛就到b點了,...

機器學習中的邏輯回歸演算法很常見,但是邏輯回歸中的邏輯二字如何理解?

華子 原回答 我也是最近才知道這個歷史,因為最開始的時候這個東西是乙個英中國人研究父母身高 X 和子女身高 Y 關係的時候,搞出來的。他發現A家庭父母都是一公尺九,B家庭父母都是一公尺六,結果A家庭子女一公尺八五,B 家庭子女一公尺七,兩個家庭的子代身高 回歸 到乙個中間值。以上資料只是我瞎編的例子...

機器學習(包括但不限於深度學習)和優化演算法中有哪些 fundamental trade off?

Ning Lee 最基本的兩個 exploration exploitation trade off 探索與守成 計算複雜度 vs 模型效能 舉例來說 增強學習中的典型問題,是探索新領域還是在舊的領域裡面取最好的 多臂賭博機問題 LSTM中sample word的數量,顯然考慮更多的word能提公升...