CNN用于句子分类时的超参数分析

本文是“A Sensitivity Analysis of (and Practitioners’ Guide to) Convolutional Neural Networks for Sentence Classification”这篇paper的阅读笔记。这篇paper的主要工作是对“Convolutional Naural Networks for Sentence Classification”这篇论文的模型进行了各种各样的对比试验,进而得到了一些关于超参数的设置经验。其实论文前面几章对实验内容和结果进行了详细介绍,但是我们可以直接在第五章中获得我们想要得到的超参数设置经验。接下来就记录一下:

  1. 对于预训练的词向量(glove, word2vec)而言,二者对不同分类任务各有优劣,但效果都比one-hot编码要强(虽然one-hot编码方式在文本分类任务中取得了比较好的效果)。
  2. 卷积核的窗口大小对实验结果有着比较重要的影响。首先,ws在1-10之间取值较好,且如果训练集中的句子长度较大(100+)时,我们可以考虑使用较大的ws以获取上下文关系。其次,对不同尺寸ws的窗口进行结合会对结果产生影响。当把与最优ws相近的ws结合时会提升效果,但是如果将距离最优ws较远的ws相结合时会损害分类性能。一般取为3-5~~
  3. 卷积核数量num_filters也对实验结果比较重要。最好不要超过600,超过600可能会导致过拟合。一般设为100-200~~
  4. pooling方式就使用1-max就可以。mean或者k-max pooling效果都不太好
  5. l2正则化效益很小,相比而言,dropout在神经网络中有着广泛的使用和很好的效果,dropout一般设为0.5
  6. 激活函数的话,目前广泛应用的是ReLU、tanh函数。
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CNN是一种卷积神经网络,可以用于图像识别和分类任务。在Matlab,有很多成熟的工具箱和函数可以用于实现CNN模型。 要进行CNN识别分类,在Matlab首先需要了解并安装适当的工具箱,例如Neural Network Toolbox和Deep Learning Toolbox。这些工具箱提供了各种函数和算法,可以用于训练和测试CNN模型。 接下来需要准备数据集,包含输入图像和相应的标签。Matlab提供了数据预处理工具,可以进行图像增强、标准化等操作,使数据集更适合用于训练。 然后需要选择CNN的架构。在Matlab,可以使用现有的预训练模型(如VGGNet、ResNet等),也可以自定义CNN的结构。使用预训练模型可以加快训练速度,并且在处理小数据集尤为有效。 接着需要将数据集分为训练集、验证集和测试集。训练集用于训练CNN模型,验证集用于调整模型的超参数和监控性能,测试集用于评估最终模型的准确性。 在训练过程,可以使用Matlab提供的训练算法,如随机梯度下降(SGD)或Adam优化器,并根据验证集的性能调整超参数,如学习率、批大小等。 训练完成后,可以使用测试集来评估模型的性能。Matlab提供了多种评估指标,如准确率、召回率、精确率等,可以帮助分析模型的表现。 最后,可以使用训练好的模型对新的图像进行分类。在Matlab,可以使用经过训练的模型对图像进行预测,并输出分类结果。 总之,借助Matlab的各种工具箱和函数,可以很方便地实现CNN的识别分类任务,并且进行模型训练、验证和测试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值