少量数据文本分类避免过拟合的方法

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)特征工程

  人工从文本中抽取特征工程,然后利用较小的模型来建模。

posted @ 2019-01-04 14:34  微笑sun  阅读(3712)  评论(0编辑  收藏  举报