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

ssh框架做音乐网站网站标题写什么作用是什么意思

ssh框架做音乐网站,网站标题写什么作用是什么意思,想在网上做外卖 上什么网站好,模板设计建站在维基百科的词条中#xff0c;正则化就是让答案变得更简单的#xff0c;目的是防止过拟合。在分类上可以分为显式正则化#xff08;对目标函数添加先验、惩罚、约束、成本#xff09;和隐式正则化#xff08;所有其他形式的正则化如提前停止、集成学习、Dropout 等#… 在维基百科的词条中正则化就是让答案变得更简单的目的是防止过拟合。在分类上可以分为显式正则化对目标函数添加先验、惩罚、约束、成本和隐式正则化所有其他形式的正则化如提前停止、集成学习、Dropout 等。 在深度学习中最为常用的是 Dropout 方法。 提高模型泛化性能的各种方法这里我们主要介绍数据增强和正则化的方法。 首先是数据增强使用 imgaug 库对图片进行数据增强的方法可以看我的这篇博客更为简便的是直接在 PyTorch 使用 torchvision 中的 transforms 模块详细用法可以看说明文档和各种变换的效果展示。下面的代码展示了如何用 transforms 的 Compose 组合需要进行的各种变换然后输入到 datasets 最后再送入 DataLoader 中。 training_transforms torchvision.transforms.Compose([torchvision.transforms.Resize(size(32, 32)),torchvision.transforms.RandomCrop(size(28, 28)),torchvision.transforms.RandomRotation(degrees30, interpolationPIL.Image.BILINEAR),torchvision.transforms.ToTensor(),torchvision.transforms.Normalize(mean(0.5,), std(0.5,)),# normalize does (x_i - mean) / std# if images are [0, 1], they will be [-1, 1] afterwards ])test_transforms torchvision.transforms.Compose([torchvision.transforms.ToTensor(),torchvision.transforms.Resize(size(32, 32)),torchvision.transforms.CenterCrop(size(28, 28)),torchvision.transforms.Normalize(mean(0.5,), std(0.5,)), ])train_dataset datasets.MNIST(rootdata, trainTrue, transformtraining_transforms,downloadTrue)test_dataset datasets.MNIST(rootdata, trainFalse, transformtest_transforms)train_loader DataLoader(datasettrain_dataset, batch_sizeBATCH_SIZE, shuffleTrue)test_loader DataLoader(datasettest_dataset, batch_sizeBATCH_SIZE, shuffleFalse)然后是提前停止思路很简单将数据集划分为训练集、验证集和测试集使用验证集来进行模型选择在这里就相当于是训练轮数 Epochs 的超参数调整选择模型在验证集上的性能顶点作为最优的训练轮数。但是这个方法不常用因为有论文指出模型的损失存在双重下降的现象即先下降后上升然后又一次下降对于大模型而言这种现象更为明显如下面的两张图所示 使用 L1 / L2 范数的正则化常用于线性回归L1 正则化对应的是 LASSO 回归L2 正则化对应的是岭回归。 Logistic Regression 中的 L2 正则化损失函数 L 就是二元交叉熵则目标函数就是损失函数 L2 正则化项L2 正则化项就是对参数 w 求平方和前面再乘以一个超参数 λ越大正则化程度越高。 在几何上理解 L2 正则化如图所示两条轴是两个参数特征的值其中椭圆等高线红色代表线性回归的损失函数MSE它的优化目标就是下降到红色点圆形紫色代表正则化惩罚项它的优化目标就是下降到紫色点。这两者加起来就是带 L2 正则化的线性回归两者折衷的目标就是下降到绿色点。 L2 正则化应用到神经网络中就是给损失函数加上对于每层参数求取的平方和。 在梯度下降中也就只是加上正则化项的偏导数利用 PyTorch 自己实现 L2 正则化的方法就是写两行公式如果用 SGD 直接提供超参数 λ 即可。 最后是 Dropout 方法实际上就是随机地丢弃隐藏层中的神经元默认概率为 0.5 丢弃的实现方法就是对于每一层中的各个神经元假设有 5 个神经元则进行 5 次的伯努利抽样得到的值都是 0 到 1然后抽样值小于 p 的就变为 0大于 p 的就变为 1再用它乘上神经元对应的输出激活值即可。 Dropout 只在训练时使用在测试推理时不使用因为不想得到随机的测试结果。还有就是 Dropout 随机丢弃某一层的神经元则后面的神经元的输入会偏小例如 2而在测试时是没有 Dropout 的此时后面神经元的输入会变大例如 4所以应该在测试时给神经元的输出激活值乘上一个系数 1 - p让后面神经元的输入范围相同。 对 Dropout 的一种解释就是它可以让模型不依赖于某些特定的神经元使得更多的神经元可以被利用到。Dropout 的超参数只有一个就是概率在不同层进行 Dropout 可以取不同的概率。 另一种解释Dropout 相当于一种集成学习的方法假设有 h 个隐藏层的节点则每个节点是否丢弃就有 2 种可能即共有 2h{2^h}2h 个模型但这些模型是受到约束的前一个模型更新后的权重会传给下一个模型。在测试推理时如果使用所有这些模型的预测平均值就可以得到很好的结果但是代价很大。 因为预测输出大多为概率所以取的是几何平均数即相乘再开方。而 Dropout 中使用最后一个模型并且缩放 1 - p 的做法就是对这个几何平均数的一种近似。 目前在大多数深度学习框架中实现的是 Inverted Dropout实际上就只是把在推理阶段乘以系数 1 - p 的过程变为在训练阶段乘以系数 11−p{1 \over {1 - p}}1−p1​这样做是因为推理的次数远多于训练要减少推理过程的计算消耗。 PyTorch 实现 Dropout 的代码实际上就是在激活函数后加上 torch.nn.Dropout对于 ReLU 这个激活函数来说在它之前或者之后用 Dropout 都是一样的因为它输入 0 时输出也为 0但是对于 Sigmoid 这样的激活函数如果在它之前用 Dropout即使输入变为 0其输出也是 0.5 不等于 0 必须养成习惯明确模型是处于 train 模式还是 eval 模式Dropout 只在训练模式下生效。 如果模型没有过拟合就不需要使用 Dropout反而应该提高模型的复杂度使其过拟合之后再使用 Dropout这样的效果会优于直接使用一个没有过拟合的简单模型。 DropConnect 是 Dropout 的泛化方法也就是随机丢弃权重但是实际效果不如 Dropout
http://www.huolong8.cn/news/117252/

相关文章:

  • 广东省住房和建设网站张家港安监站网址
  • 做互联网交易网站的条件互联网营销行业前景
  • 直流分公司四川建设部网站站长工具中文
  • h5页面 个人网站大学生50个创新产品设计
  • 微商城网站建设哪家好精品网游
  • 网站运营招聘要求动漫网站建设的目的
  • server 2008 网站部署WordPress开发微信支付
  • 遵义市住房和城乡建设局官方网站it行业公司排名
  • 基于j2ee的网站开发设计开题报告外贸模板网站深圳
  • 泉州做网站公司网站建设整改落实情况
  • 网站建设 服务内容免费动图制作app
  • 潼南集团网站建设seo优化方案策划书
  • 南通建设招聘信息网站一个公司的网站怎么做
  • asp网站开发人员招聘特效型网站
  • 网站营销推广如何做12306网站为什么做不好
  • 企业宣传片制作公司哪家好百度网站的优化方案
  • 2017网站开发前景网站怎样做平面设计图
  • 信息公司网站建设方案+游戏建设部网站被黑
  • 免费外链代发网站后端性能优化措施
  • 上传到网站去的文档乱码手机电脑网站 建站程序
  • 为切实加强 网站建设兵团建设环保局网站
  • 网站建设推广方法在线免费crm黑白配
  • 网站权重查看乡村网站建设
  • 哈尔滨做网站哪家好强注册网站域名用什么好处
  • 怎样建立自己网站视频网站百度权重查询网站
  • 网站程序更换注册城乡规划师有什么用
  • 免费装修效果图网站安防网站源码
  • 没网站怎么做app十大ps培训机构
  • dw做的网站如何发布百度浏览器打开
  • 平面设计师的网站办办网上海