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

浦东建设网站张家界建设企业网站

浦东建设网站,张家界建设企业网站,海淀公司网站建设方案,鞍山市城市建设管理局网站基本概念 什么是过拟合#xff1f; 过拟合#xff08;Overfitting#xff09;是机器学习和深度学习中常见的问题之一#xff0c;它指的是模型在训练数据上表现得很好#xff0c;但在未见过的新数据上表现较差的现象。 当一个模型过度地学习了训练数据的细节和噪声#…基本概念 什么是过拟合 过拟合Overfitting是机器学习和深度学习中常见的问题之一它指的是模型在训练数据上表现得很好但在未见过的新数据上表现较差的现象。 当一个模型过度地学习了训练数据的细节和噪声而忽略了数据中的一般规律和模式时就会发生过拟合。过拟合是由于模型过于复杂或者训练数据过少导致模型记住了训练数据中的每个细节从而无法泛化到新数据。 解决方法 1.增加训练数据量通过增加更多的训练数据使得模型能够更好地学习数据的一般规律而不是过多地依赖于少量的数据样本。 2.简化模型减少模型的复杂度如减少网络的层数、减少节点数、减少参数量等从而降低过拟合的风险。 3.使用正则化技术如L1正则化、L2正则化等通过在损失函数中添加正则化项惩罚过大的权重防止模型过度拟合训练数据。 4.使用Dropout在训练过程中随机丢弃部分神经元减少模型的复杂性有助于防止过拟合。 5.交叉验证使用交叉验证来评估模型的性能通过不同子集的训练集和测试集来评估模型的泛化能力。 Dropout Dropout是一种用于减少过拟合问题的正则化技术常用于深度神经网络训练中。是一种随机丢弃drop神经元的方法。 在正常的神经网络中每个神经元都会对输入进行权重计算和传递这样每个神经元都可能贡献过多导致网络过拟合训练数据。Dropout通过在训练过程中随机丢弃一部分神经元即在前向传播过程中以一定的概率将某些神经元的输出置为0这样可以强制神经网络学习到更加鲁棒的特征。 对比加Dropout层和不加Dropout层 import torch import matplotlib.pyplot as plt# 用于复现 # torch.manual_seed(1) # reproducible# 20个数据点 N_SAMPLES 20 # 隐藏层的个数为300 N_HIDDEN 300# training data # 在-1到1之间等差取N_SAMPLES个点然后再加维度最终的数据变为N_SAMPLES行、1列的向量 x torch.unsqueeze(torch.linspace(-1, 1, N_SAMPLES), 1) # 在均值为0、标准差为1的正态分布中采样N_SAMPLES个点的值然后乘0.3加上x最后得到x对应的y值 y x 0.3*torch.normal(torch.zeros(N_SAMPLES, 1), torch.ones(N_SAMPLES, 1))# test data test_x torch.unsqueeze(torch.linspace(-1, 1, N_SAMPLES), 1) test_y test_x 0.3*torch.normal(torch.zeros(N_SAMPLES, 1), torch.ones(N_SAMPLES, 1))# show data plt.scatter(x.data.numpy(), y.data.numpy(), cmagenta, s50, alpha0.5, labeltrain) plt.scatter(test_x.data.numpy(), test_y.data.numpy(), ccyan, s50, alpha0.5, labeltest) plt.legend(locupper left) plt.ylim((-2.5, 2.5)) plt.show()# 快速搭建神经网络不加dropout层 net_overfitting torch.nn.Sequential(torch.nn.Linear(1, N_HIDDEN),torch.nn.ReLU(),torch.nn.Linear(N_HIDDEN, N_HIDDEN),torch.nn.ReLU(),torch.nn.Linear(N_HIDDEN, 1), )# 加了dropout层的 net_dropped torch.nn.Sequential(torch.nn.Linear(1, N_HIDDEN),torch.nn.Dropout(0.5), # drop 50% of the neurontorch.nn.ReLU(),torch.nn.Linear(N_HIDDEN, N_HIDDEN),torch.nn.Dropout(0.5), # drop 50% of the neurontorch.nn.ReLU(),torch.nn.Linear(N_HIDDEN, 1), )print(net_overfitting) # net architecture print(net_dropped)# 使用Adam优化神经网络的参数 optimizer_ofit torch.optim.Adam(net_overfitting.parameters(), lr0.01) optimizer_drop torch.optim.Adam(net_dropped.parameters(), lr0.01) # 误差函数使用MSELoss loss_func torch.nn.MSELoss()# 开启交互式绘图 plt.ion() # something about plotting# 训练五百步 for t in range(500):# 将x输入到不加dropout层的神经网络中得预测值pred_ofit net_overfitting(x)# 将x输入到加了dropout层的神经网络中得预测值pred_drop net_dropped(x)# 计算lossloss_ofit loss_func(pred_ofit, y)# 计算lossloss_drop loss_func(pred_drop, y)# 梯度清零optimizer_ofit.zero_grad()optimizer_drop.zero_grad()# 误差反向传播loss_ofit.backward()loss_drop.backward()# 优化器逐步优化optimizer_ofit.step()optimizer_drop.step()# 每10步进行更新if t % 10 0:net_overfitting.eval()和net_dropped.eval()是将两个神经网络模型切换到评估模式用于在测试数据上进行稳定的前向传播得到准确的预测结果。# change to eval mode in order to fix drop out effectnet_overfitting.eval()net_dropped.eval() # parameters for dropout differ from train mode# plottingplt.cla()test_pred_ofit net_overfitting(test_x)test_pred_drop net_dropped(test_x)plt.scatter(x.data.numpy(), y.data.numpy(), cmagenta, s50, alpha0.3, labeltrain)plt.scatter(test_x.data.numpy(), test_y.data.numpy(), ccyan, s50, alpha0.3, labeltest)plt.plot(test_x.data.numpy(), test_pred_ofit.data.numpy(), r-, lw3, labeloverfitting)plt.plot(test_x.data.numpy(), test_pred_drop.data.numpy(), b--, lw3, labeldropout(50%))plt.text(0, -1.2, overfitting loss%.4f % loss_func(test_pred_ofit, test_y).data.numpy(), fontdict{size: 20, color: red})plt.text(0, -1.5, dropout loss%.4f % loss_func(test_pred_drop, test_y).data.numpy(), fontdict{size: 20, color: blue})plt.legend(locupper left)plt.ylim((-2.5, 2.5))plt.pause(0.1)# change back to train mode在训练模式下神经网络中的Dropout层将会生效即在前向传播过程中会随机丢弃一部分神经元。这是为了在训练阶段增加模型的鲁棒性避免过拟合。net_overfitting.train()net_dropped.train()# 关闭交互模式 plt.ioff() plt.show()运行效果
http://www.zqtcl.cn/news/574918/

相关文章:

  • 长春网页网站制作做网站时搜索的代码是什么
  • 排名好的移动网站建设陕西恒业建设集团网站
  • 怎么用ps做简单网站个人商城网站建设
  • mvc做门户网站自适应网站制作费用
  • 建设工程协会网站查询系统成品网站源码在线观看
  • 宝塔做两个网站安卓版wordpress
  • 即墨网站建设招聘企业类网站有哪些
  • 汕头网站建设开发软件开发属于哪个专业
  • 企业网站建设规划书阿里云虚拟机怎么做多个网站
  • 营销平台网站建设做视频怎么做
  • 吉林房地产网站开发icp网站授权函
  • 深圳公司网站建设哪家好郑州短视频培训机构
  • 网络培训班答案百度seo收录软件
  • 中核工建设集团有限公司网站网站建设管理中se是什么意思
  • 网站如何做关键词引流网站怎么快速做收录
  • 网站建设文案网站设计要学哪些
  • 品牌网站建设gs平台搭建工具
  • 怎么把自己做的网站弄到域名上柳州游戏网站建设
  • 做衣服类网站策划书高端建设网站企业
  • 珠海网站建设公司有哪些代替做网站推广
  • 泰安的网站建设公司旅游网站建设规划报告怎么写
  • 如何建设淘宝客网站什么是网络营销常用的网络营销方法有哪些
  • 大连华南网站建设深圳网站建设公司的外文名是
  • 做招投标网站云南昆明网站建设价格
  • 越秀区网站建设公司微网站菜单
  • vs2017网站开发广州网站建设易得
  • 长沙企业网站建设价格陕西省门户网站建设政策
  • 龙华营销型网站制作wordpress最近评论
  • 嘉兴微信网站做一个招聘信息的网站_用什么做网站的软件
  • 各种购物网站大全上海市建设工程检测网