少量數據文本分類避免過擬合的方法


1 概述

  雖說現在深度學習在文本分類上取得了很大的進步,但是很多時候在工業界沒有與之匹配的數據量,在少量數據的情況下,使用深度學習很容易出現過擬合,而此時使用傳統的TF-IDF加機器學習又無法取得良好的效果。針對這種情況,我們來看看在使用深度學習時有哪些方法也盡量地避免過擬合。

 

2 過擬合的處理方法

1)L1和L2正則化

  對模型中的權重系數加上L1或L2正則處理,將無關的權重系數懲罰到一個很小的值,甚至為0。

2)Dropout 正則化

  Dropout正則化一般使用在全連接層中。 

3)提早停止

  當發現在繼續迭代時,驗證集上的損失開始上升時,即使此時訓練集上的損失在下降,也應該停止迭代。

4)數據增強

  在圖像中我們知道可以通過對圖片進行翻轉,裁剪,縮放,調整對比度等來進行數據增強,那么在文本中又該如何增強數據呢?

  a)同義詞替換

  在有些論文中提出了同義詞替換,但在使用word2vec詞嵌入時,同義詞之間的向量是非常相似的,也就是說你輸入到模型中的數據實際上沒有什么變化,此時的效果並不會很好。

  b)反向翻譯

  利用機器翻譯的技術將原始的句子翻譯成一種目標語言,然后又將這種目標語言重新翻譯回來,例如英文文本分類時,先將英文翻譯成西班牙語,然后又反向翻譯為英文,利用這種方法可以得到兩個不同的句子。有時候能取得不錯的效果。

  c)文檔裁剪

  如果此時是長文本分類時,有時候一篇長文本中的主要思想會重復好幾次,此時我們只要把這含有中心思想的幾處給裁剪出來,就可以將一個長文本裁剪成多個文本。

  d)生成對抗網絡

  生成對抗網絡已經被用在圖像中的數據增強中,也可以嘗試用在文本中。

5)遷移學習

  a)預訓練詞向量

  例如常用的word2vec,glove等

  b)句子向量

  直接將文檔用句子向量表示,例如facebook和谷歌的句編碼器,或者skip-thought等。

  c)預訓練的語言模型

  例如ULMFiT,BERT等。

  d)多任務學習

  可以構建多個任務協同學習

6)特征工程

  人工從文本中抽取特征工程,然后利用較小的模型來建模。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM