人工智慧 – 處理不平衡數據

什麼是不均衡數據:

                                                                        圖 1 數據不平衡

    不均衡數據的形式很簡單,這裡有蘋果和梨,當你發現你手中的數據對你說,幾乎全世界的人都只吃梨,如果隨便抓一個路人甲,讓你猜他吃蘋果還是梨,正常人都會猜測梨。

                                                                                       圖2 數據表

    不均衡的數據預測起來很簡單,永遠都猜多的那一方面準沒錯,特別是藍色多的那一方佔了90%。只需要每一次預測的時候都猜藍色,預測準確率就已經達到了相當高的90%了。沒錯,機器也懂這個小伎倆,所以機器學到最後,每次都預測多數派,解決的方法有幾種。

方法1:獲取更多數據:

                                                                                          圖3 獲取更多數據



    首先,還能不能獲取到更多的數據,有時候只是因為前段時期的數據多半呈現的是一種趨勢,等到後半時期趨勢又不一樣了。如果沒有獲取後半時期的數據,整體的預測可能就沒有那麼準確了。

方法2:更換判斷方式


                                               圖4 更換判斷方式

       通常,我們會用到準確率accuracy,或者誤差cost來判斷機器學習的成果。 可是這些判斷方法在不均衡數據面前,高的準確率和低的誤差變得沒那麼重要。所以我們得換一種方式判斷,通過confusion matrix 來計算precision 和recall,然後通過precision 和recall 再計算f1 分數。這種方式能成功地區分不均衡數據,給出更好的評判分數,因為時間關係,具體的計算不過程就不會在這裡提及。

方法3: 重組數據:

                                                     圖5 重組數據
第三種方法是最簡單粗暴的方法之一,重新組合不均衡數據,使之均衡。方式一: 複製或者合成少數部分的樣本,使之和多數部分差不多數量。方式二: 砍掉一些多數部分,使兩者數量差不多。

方法4: 使用其他機器學習方式
     如果使用的機器學習方法像神經網絡等,在面對不均衡數據時,通常是束手無策。不過有些機器學習方法,像決策樹、decision trees 就不會受到不均很數據的影響。

方法5: 修改算法:
     如果用的是Sigmoid 的激勵函數、activation function,他會有一個預測門檻,一般如果輸出結果落在門檻的這一段,預測結果為梨,如果落在那一段預測結果為蘋果,不過因為現在的梨是多數派。我們得調整一下門檻的位置,使得門檻偏向蘋果這邊,只有很自信的時候,模型才會預測這是蘋果。讓機器學習,學習到更好的效果。
   
解決數據不平衡問題的方法有很多,上面只是一些最常用的方法,而最常用的方法也有這麼多種,嘗試不同的技術和模型來評估哪些方法最有效。

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論