博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
少量数据文本分类避免过拟合的方法
阅读量:5307 次
发布时间:2019-06-14

本文共 958 字,大约阅读时间需要 3 分钟。

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

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

转载于:https://www.cnblogs.com/Lee-yl/p/11275334.html

你可能感兴趣的文章
dedecms讲解-arc.listview.class.php分析,列表页展示
查看>>
Extjs6 经典版 combo下拉框数据的使用及动态传参
查看>>
【NodeJS】http-server.cmd
查看>>
研磨JavaScript系列(五):奇妙的对象
查看>>
面试题2
查看>>
selenium+java iframe定位
查看>>
P2P综述
查看>>
第五章 如何使用Burp Target
查看>>
Sprint阶段测试评分总结
查看>>
sqlite3经常使用命令&语法
查看>>
linux下编译openjdk8
查看>>
【python】--迭代器生成器装饰器
查看>>
Pow(x, n)
查看>>
安卓当中的线程和每秒刷一次
查看>>
每日一库:Modernizr.js,es5-shim.js,es5-safe.js
查看>>
ajax连接服务器框架
查看>>
wpf样式绑定 行为绑定 事件关联 路由事件实例
查看>>
利用maven管理项目之POM文件配置
查看>>
TCL:表格(xls)中写入数据
查看>>
Oracle事务
查看>>