当前位置: 首页 > news >正文

东莞网站建设技术支持wordpress分享插件国内

东莞网站建设技术支持,wordpress分享插件国内,淘客推广怎么做,陕西咸阳建设银行网站循环神经网络实战#xff1a;GRU 对比 LSTM 的中文情感分析#xff08;三#xff09; 文章目录循环神经网络实战#xff1a;GRU 对比 LSTM 的中文情感分析#xff08;三#xff09;前言数据准备#xff08;与 LSTM 相同#xff09;模型搭建#xff08;GRU#xff09;…循环神经网络实战GRU 对比 LSTM 的中文情感分析三 文章目录循环神经网络实战GRU 对比 LSTM 的中文情感分析三前言数据准备与 LSTM 相同模型搭建GRU训练与测试可视化 Loss 曲线测试与预测GRU vs LSTM 对比总结前言 在前两篇文章中我们已经学习了 RNN/LSTM/GRU 的理论基础并完成了一个基于 LSTM 的中文情感分析实战项目。 那么问题来了GRU 和 LSTM 到底哪个更好 本篇我们将使用同样的任务中文情感分析用 GRU 模型替换 LSTM并进行训练和测试最后对比两者的 速度和效果。 数据准备与 LSTM 相同 这里我们依然使用示例的 中文评论数据完整项目请使用 ChnSentiCorp 数据集。 import jieba from torchtext.vocab import build_vocab_from_iterator from torch.nn.utils.rnn import pad_sequence import torchtexts [这部电影真的很好看, 剧情太差劲了浪费时间, 演员表演很自然值得推荐] labels [1, 0, 1]tokenized_texts [list(jieba.cut(t)) for t in texts]def yield_tokens(data):for tokens in data:yield tokensvocab build_vocab_from_iterator(yield_tokens(tokenized_texts), specials[pad]) vocab.set_default_index(vocab[pad])text_ids [torch.tensor(vocab(t)) for t in tokenized_texts] padded pad_sequence(text_ids, batch_firstTrue, padding_valuevocab[pad])模型搭建GRU 在 LSTM 中我们有输入门、遗忘门和输出门而 GRU 更加简洁只保留了 更新门update gate和重置门reset gate没有单独的细胞状态。 因此GRU 参数更少训练更快。 PyTorch 代码如下 import torch.nn as nnclass SentimentGRU(nn.Module):def __init__(self, vocab_size, embed_dim, hidden_dim, num_layers, num_classes1):super(SentimentGRU, self).__init__()self.embedding nn.Embedding(vocab_size, embed_dim, padding_idx0)self.gru nn.GRU(embed_dim, hidden_dim, num_layers, batch_firstTrue)self.fc nn.Linear(hidden_dim, num_classes)self.sigmoid nn.Sigmoid()def forward(self, x):embedded self.embedding(x)out, _ self.gru(embedded)out self.fc(out[:, -1, :]) # 取最后时刻的隐藏状态return self.sigmoid(out)训练与测试 定义损失函数和优化器 import torch.optim as optimmodel SentimentGRU(vocab_sizelen(vocab), embed_dim128, hidden_dim256, num_layers2) criterion nn.BCELoss() optimizer optim.Adam(model.parameters(), lr0.001)labels_tensor torch.tensor(labels, dtypetorch.float) losses []训练循环记录 loss for epoch in range(10):optimizer.zero_grad()outputs model(padded).squeeze()loss criterion(outputs, labels_tensor)loss.backward()optimizer.step()losses.append(loss.item())print(fEpoch {epoch1}, Loss: {loss.item():.4f})可视化 Loss 曲线 import matplotlib.pyplot as pltplt.plot(losses, labelTraining Loss (GRU)) plt.xlabel(Epoch) plt.ylabel(Loss) plt.legend() plt.show()测试与预测 和 LSTM 一样直接输入新评论 def predict(text):tokens list(jieba.cut(text))ids torch.tensor(vocab(tokens)).unsqueeze(0)output model(ids)return 积极 if output.item() 0.5 else 消极print(predict(故事很精彩)) print(predict(导演水平太差))GRU vs LSTM 对比 我们来对比两个模型 模型参数量训练速度效果准确率适用场景LSTM较多较慢稳定适合长期依赖NLP 长文本、机器翻译GRU较少较快接近甚至优于 LSTM短文本分类、时间序列预测 实验结论 在小数据集短文本下GRU 的表现通常和 LSTM 不相上下但训练更快。在大规模数据集上LSTM 更稳定尤其在长依赖问题上优势明显。如果你追求 效率 → GRU 更好 如果你追求 精度和长期记忆能力 → LSTM 更稳妥。 总结 本文在 中文情感分析任务 中使用了 GRU 模型并与 LSTM 进行了对比。 实验表明GRU 训练速度更快效果接近 LSTM在短文本任务中性价比更高。 实际应用中可以根据 任务规模与需求 来选择 小数据集/短文本 → GRU长文本/复杂依赖 → LSTM追求最强性能 → Transformer (BERT, GPT 等)
http://www.zqtcl.cn/news/885948/

相关文章:

  • 普宁17网站一起做淘宝网站建设 丽水
  • 网站注册需要多少钱wordpress缓存失败
  • 西安h5响应式网站施工企业安全生产管理规范最新版
  • 电商平台网站建设如何安装网站模版
  • wordpress攻击跳转seo营销软件
  • 广东中山市做网站python做的网站如何部署
  • VPS做镜像网站wordpress 安装七牛
  • 雄安做网站优化的公司小程序开发公司哪里强
  • 做的网站没有注册国家建设部网站倪虹
  • 中英文网站怎么实现做网站有名的公司
  • 先网站开发后软件开发显示网站运行时间代码
  • 品牌网站制作流程图百度网页版入口页
  • 哪些人需要做网站网站开发工程师 招聘
  • 东莞网站建设多长时间如何将网址提交到一些权重比较高的网站
  • 阳江网站seo公司wordpress建站博客
  • 我想做京东网站淘宝怎么做的wordpress淘宝联盟转链
  • 虚拟钱包对接网站开发视频教程营销型网站建设要懂代码吗
  • 莱州教育网站一站式网站搭建
  • 开发网站开票名称是什么捕鱼游戏网站开发商
  • 我国中小企业网站建设怎样办自己的网站
  • 如何推广自己网站链接通化北京网站建设
  • 小型的游戏网站怎么做WordPress设置作者信息
  • 网站建设师要求关键词优化排名易下拉排名
  • 网站建设步骤及推广方法做网站的公司叫什么
  • 怎么建立自己网站 asp网站做视频流量赚钱
  • 全屏网站宽度域名服务器怎么设置
  • 网站图片切换js代码金融公司网站方案
  • 企业网站开发步骤开源软件开发
  • 建设项目环境影响登记表备案系统网站签署网站建设协议新闻
  • 有的网站在浏览器打不开怎么办最近中国新闻热点大事件