中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

深度學習中不均衡數(shù)據(jù)集的處理

2018-12-21    來源:raincent

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用

在深度學習中,數(shù)據(jù)是非常重要的。但是我們拿到的數(shù)據(jù)往往可能由大部分無關數(shù)據(jù)和少部分我們所關心的數(shù)據(jù)組成。那么,如何對這些數(shù)據(jù)集進行處理,才能得到我們所需要結(jié)果呢?工程師 George Seif 認為,可以通過權(quán)重平衡法和采樣法來解決這個問題。下面是他的觀點,雷鋒網(wǎng) AI 科技評論整理。

 

 

像薩諾斯一樣給你的數(shù)據(jù)集帶來平衡

并非所有的數(shù)據(jù)都是完美的。事實上,如果你得到一個完全平衡的真實世界的數(shù)據(jù)集,你將是非常幸運的。在大多數(shù)情況下,您的數(shù)據(jù)將具有一定程度的類不平衡,即每個類具有不同數(shù)量的樣本。

為什么我們希望我們的數(shù)據(jù)集是平衡數(shù)據(jù)集?

在深度學習項目中,在投入時間到任何可能需要花費很長時間的任務之前,很重要的一點是要理解我們?yōu)槭裁磻撨@么做,以確保它是一項有價值的研究。當我們真正關心少數(shù)種類數(shù)據(jù)時,類平衡技術才是真正必要的。

例如,假設我們試圖根據(jù)市場現(xiàn)狀、房子屬性和我們的預算來預測我們是否應該買房。在這種情況下,我們做出正確的購買決定是非常重要的,因為它是一項如此巨大的投資。同時,在我們本該買的時候,模型告訴我們不要買,這并不是什么大事。如果我們錯過一棟房子,總會有其他房子可以買,但是在如此巨大的資產(chǎn)上做出錯誤的投資是非常糟糕的。

在這個例子中,我們絕對需要產(chǎn)生購買行為的少數(shù)類的數(shù)據(jù)非常精確,而那些不產(chǎn)生購買行為的類的數(shù)據(jù),就沒什么大不了的。然而在當我們觀察實際數(shù)據(jù)的時候,「購買」類數(shù)據(jù)比「不購買」類數(shù)據(jù)少得多,我們的模型傾向于將「不購買」類數(shù)據(jù)學習的非常好,因為它擁有最多的數(shù)據(jù),但在對「購買」類數(shù)據(jù)的學習上表現(xiàn)不佳。這就需要平衡我們的數(shù)據(jù),以便我們能夠?qū)Α纲徺I」的預測更加重視。

那么如果我們真的不關心少數(shù)類數(shù)據(jù)呢?例如,假設我們正在進行圖像分類,并且您的類分布類似于:

 

 

乍一看,似乎平衡我們的數(shù)據(jù)是有幫助的。但是我們可能對那些少數(shù)類并不感興趣。也許我們的主要目標是獲得盡可能高的準確率。在這種情況下,做任何平衡都沒有意義,因為我們的大部分準確率都來自于具有更多訓練示例的類。其次,即使數(shù)據(jù)集不平衡,當目標達到最高百分比準確率時,分類交叉熵損失也往往表現(xiàn)得很好?傊,我們的少數(shù)類對我們的目標影響不大,因此平衡不是必須的。

在所有這些情況下,當我們遇到一個我們想要平衡數(shù)據(jù)的案例時,有兩種技術可以用來幫助我們。

(1)權(quán)重平衡法

權(quán)重平衡法通過改變每個訓練樣本在計算損失時的權(quán)重來平衡我們的數(shù)據(jù)。通常,我們的損失函數(shù)中的每個樣本和類具有相同的權(quán)重,即 1.0。但是有時候,我們可能希望某些更重要的特定類別或特定訓練實例擁有更大的權(quán)重。再次參照我們買房的例子,既然「購買」類的準確率對我們來說是最重要的,那么該類中的訓練示例應該對損失函數(shù)有顯著的影響。

我們可以簡單地通過將每個示例的損失乘以取決于它們的類的某個因子來給類賦權(quán)。在 Keras,我們可以做這樣的事情:

 

 

我們創(chuàng)建了一本字典,基本上說我們的「購買」類應該占了損失函數(shù)重量的 75%,因為更重要的是「不購買」類,我們相應地設置為 25%。當然,這些值可以很容易地進行調(diào)整,以找到應用場景中的最佳設置。如果其中一個類的樣本明顯多于另一個類,我們也可以使用這種方法進行平衡。我們可以嘗試使用權(quán)重平衡法來使所有的類都對我們的損失函數(shù)產(chǎn)生一樣大的影響,而不必花費時間和資源去收集更多的少數(shù)類實例。

另一個我們可以用來平衡訓練實例權(quán)重的方法是如下所示的焦距損失法。它的主要思想是:在我們的數(shù)據(jù)集中,總會有一些比其他示例更容易分類的訓練示例。在訓練期間,這些例子將被有 99% 的分類準確率,而其它更具挑戰(zhàn)性的示例可能表現(xiàn)不佳。問題在于,那些容易分類的訓練示例仍會引起損失。當存在其他更具挑戰(zhàn)性的數(shù)據(jù)點時,如果正確分類,那么這些數(shù)據(jù)點能夠?qū)ξ覀兊目傮w準確性做出更大的貢獻,為什么我們?nèi)匀唤o予它們相同的權(quán)重?

 

 

這正是焦距損失法可以解決的問題!焦距損失不是對所有訓練實例賦予同等的權(quán)重,而是對分類良好的實例進行降權(quán)。這樣做的直接效果是將更多的訓練重點放在那些難以分類的數(shù)據(jù)上!在存在數(shù)據(jù)不平衡的實際環(huán)境中,大多數(shù)類將很快被很好地分類,因為我們有更多的訓練樣本數(shù)據(jù)。因此,為了保證我們對少數(shù)類的訓練也達到較高的準確度,我們可以利用焦距損失在訓練中給那些少數(shù)類更大的相對權(quán)重。焦距損失在 Keras 中可以很容易地實現(xiàn)為自定義損失函數(shù):

 

 

(2)過采樣和欠采樣

選擇合適的類權(quán)重有時是很復雜的事情。做簡單的反向頻率處理并不總是有用的。焦距損失法是有用的,但是即便這樣,也還是會減少相同程度地減少每個類里面分類良好的示例的權(quán)重。因此,另一種平衡數(shù)據(jù)的方法是直接通過采樣來實現(xiàn)。下圖就是一個例子。

 

 

在上面的圖像的左側(cè)和右側(cè),我們的藍色類比橙色類有更多的樣本。在這種情況下,我們有兩個預處理選項,它們可以幫助訓練我們的機器學習模型。

欠采樣意味著我們將只從多數(shù)類中選擇其中一些數(shù)據(jù),而使用少數(shù)類所具有的示例數(shù)據(jù)。這個選擇可以用來保持類的概率分布。這是很容易的!我們僅僅靠減少示例樣本就平衡了我們的數(shù)據(jù)!

過采樣意味著我們將給少數(shù)類創(chuàng)建數(shù)個副本,以便少數(shù)類和多數(shù)類相同的示例數(shù)量。副本的數(shù)量要達到使少數(shù)類對準確率的影響可以一直維持。我們只是在沒有獲得更多數(shù)據(jù)的情況下整理了我們的數(shù)據(jù)集!如果發(fā)現(xiàn)很難有效地設置類權(quán)重,那么抽樣可以替代類平衡。

via:George Seif's blog

標簽:

版權(quán)申明:本站文章部分自網(wǎng)絡,如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:2018年十大數(shù)據(jù)泄露事件盤點:8700萬Facebook用戶數(shù)據(jù)泄露

下一篇:通過調(diào)研開源基準測試集,解讀大數(shù)據(jù)的應用現(xiàn)狀和開源未來