NLP-Beginner:自然语言处理入门练习-任务一

NLP-Beginner:自然语言处理入门练习

任务一:基于机器学习的文本分类

  1. 深度学习项目,在训练之前,一般均会对数据集做shuffle,打乱数据之间的顺序,让数据随机化,这样可以避免过拟合。
  2. Batch:批处理,顾名思义就是对某对象进行批量的处理。训练神经网络时,在数据集很大的情况下,不能一次性载入全部的数据进行训练,电脑会支撑不住,其次全样本训练对于非凸损失函数会出现局部最优,所以要将大的数据集分割进行分批处理。batch_size就是每批处理的样本的个数。
  3. 过大的batch_size会降低梯度下降的随机性,以至于更稳定,训练更容易收敛,但因此更容易陷入局部最优点。较小的批次内存利用率极低,还会带来幅度和随机性较大的权重更新,比较容易震荡导致不稳定,但也因此能够跳出局部最小。
  4. 梯度下降法是最常见的优化算法,在最小化损失函数时,通过梯度下降法一步步的迭代求解,得到最小化的损失函数和模型参数值。
  5. CountVectorizer: 只考虑词汇在文本中出现的频率。
  6. DataLoader本质上就是一个iterable(跟python的内置类型list等一样),并利用多进程来加速batch data的处理,使用yield来使用有限的内存。DataLoader是一个高效,简洁,直观的网络输入数据结构,便于使用和扩展。
  7. optimizer.step()通常用在每个mini-batch之中,只有用了optimizer.step(),模型才会更新。
  8. optimizer.zero_grad()把梯度置零,也就是把loss关于weight的导数变成0,如果不清零,那么使用的这个grad就得同上一个mini-batch有关。
  9. torch.max():返回一个tensor中的最大值,Tensor.view():把tensor 进行reshape的操作.第一个参数1将第一个维度的大小设定成1,后一个-1就是说第二个维度的大小=元素总数目/第一个维度的大小。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值