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

网站建设技术咨询协议做外贸需要网站

网站建设技术咨询协议,做外贸需要网站,智慧园区管理系统,欧美网站风格1、增加数据集 2、正则化(Regularization) 正则化:得到一个更加简单的模型的方法。 以一个多项式为例: 随着最高次的增加,会得到一个更加复杂模型,模型越复杂就会更好的拟合输入数据的模型(图-1)&#…

1、增加数据集

2、正则化(Regularization)

正则化:得到一个更加简单的模型的方法。

以一个多项式为例:

随着最高次的增加,会得到一个更加复杂模型,模型越复杂就会更好的拟合输入数据的模型(图-1),拟合的程度越大,表现在参数上的现象就是高次的系数趋近于0,如果直接将趋近于0的高次去掉,就可以得到一个更加简单的模型,这种方法称为正则化

图-1

 直观的看,经过正则化的模型更加平滑(图-2).

图-2

 正则化的方法:

(1)L1-正则化:在原来的模型基础上加上一个 1-范数(这里使用二分类模型作为示例):

 (2)L2-正则化:在原来的模型基础上加上一个 2-范数(这里使用二分类模型作为示例):

 代码示例:

# L2-正则化
device = torch.device('cuda:0')
net = MLP.to(device)
optimizer = optim.SGD(net.parameters,lr = learning_rate,weight_decay=0.01) #weight_decay=0.01就代表进行L2-正则化
criteoon = nn.CrossEntropyLoss().to(device)
# L1-正则化
# 对于L1-正则化,pytorch并没有提供直接的方法,就只能使用人工去做了
regularization_loss = 0
for param in model.parameters():                # 相求1-范数的总和regularization_loss += torch.sum(torch.abs(param))classify_loss = criteon(logits,target)
loss = classify_loss + 0.01*regularization_loss     # 再将得到的正则损失加入模型损失,其中0.01是1-范数总和前面的系数optimizer.zero_grad()
loss.backward()
optimizer.step()

3、加入动量(momentum)

动量即惯性——本次向哪移动,还需要考虑上一次移动的方向。

正常更新梯度的公式(公式-1):

公式-1

加入动量之后的公式(公式-2):

公式-2

将z(k+1)带入梯度更新公式,即公式-1减去,其中Z(k)相当于上一次的梯度,系数\alpha和β的大小决定了是当前梯度对方向的决定性大,还是上一梯度对方向的决定性大。

当动量为0时的梯度更新情况(图-3):

图-3

 动量不为0时的梯度更新情况(图-4):

图-4

将图-3和图-4对比,可以得出动量不为0,即考虑上一梯度,梯度更新更加稳定,不会出现巨大的跳跃情况,并且不加动量的没有找到最小点,一直在局部最小值点徘徊,如果加入动量,考虑到上一梯度,可以在一定程度上解决这种情况(图-4是加入动量之后最好的情况)。

代码演示,直接在优化器部分使用momentum属性就可以了,但是如果使用Adam优化器,就不需要添加,因为在Adam优化器内部定义的有momentum属性:

4、学习率(Learning Rate ) 

不同学习率梯度更新情况(图-5):

图-5

当学习率太小的时候,梯度更新比较慢,需要较多次的更新。

当学习率太大的时候,梯度更新比较激烈,找到的极值点Loss太大。

如何找到正确的的学习率?

在训练之初,可以先设置一个较大的学习率加快更新的速度,然后逐步减小学习率,即设置一个动态学习率。

图-6

 从图-6,可以看到有一个突然下降的点,这个点就是学习率训练一些数据之后,学习率突然变小导致的结果。在此之前可以看到Loss趋于不变,可以合理的猜测是因为学习率太大了,出现了来回摇摆不定的情况(图-7):

图-7

 当学习率突然减小,梯度更新变慢,易找到极小点(图-8):

图-8

 代码演示:

 5、dropout

dropout:减少神经元之间的连接,减少模型的学习量。标准的神经网络是全连接的,相比经过dropout的神经网络减少了一些连接(图-9)。

图-9

代码演示,可以使用Dropout方法断开连接,0.5代表断开两层之间的50% :

 这种方法被用在模型训练中,但当模型测试过程中,为了提高test的表现,要结束这个操作,将所有的连接都使用上,可以使用net_dropped.eval()方法结束这个操作,代码演示如下:

6、随机梯度下降 (Strochastic Gradient Descent )

这里的随机并不是指任意,这里面是有一套规则的,是一套映射的关系,即将原来的数据x送入f(x)得到一种分布。经过随机从原数据中得到一组小数据,使用这一小组数据训练模型。

 学习:课时60 Early stopping, dropout等_哔哩哔哩_bilibili

http://www.yayakq.cn/news/466880/

相关文章:

  • 哪里的赣州网站建设网站ico
  • 国家企业信用网查询系统东莞seo 公司
  • 如何在网站上做免费代理运动服饰网站建设目的
  • 建设阿里巴巴网站themes for wordpress
  • 企业免费网站建设个人网站备案名称填写
  • 广东网站建设哪家好网站推广营销服务
  • 域名访问不了织梦网站天津建设公司网站
  • 网站流量如何做网站被百度降权
  • 网页与网站设计工作内容用wampserver搭建网站
  • 查看网站是由什么开源做的wordpress 使用 相对路径
  • 人人做网站珠宝wordpress主题
  • 网页设计教程期末教程网站性能优化的方法有哪些
  • 学校网站开发报价表有了域名如何建设网站
  • 网站 错位网站建设推广技术
  • photoshop制作网站海报网站开发需求分析编写目的
  • 怎样修改网站的主页内容seo课程
  • 做网站360好还是百度好建立网站要花多少钱
  • 建站优化公司爱站网排名
  • 静态网站规范常德政务网站
  • 邮件表头图片网站南京做网站牛
  • 做电商网站的流程天津做公司网站
  • 红河公司 网站建设计算机论文
  • 做标准件生意上什么网站中远建设集团有限公司网站
  • 手机网站建设的影响男生最喜欢的浏览器推荐
  • 福田做棋牌网站建设多少钱东营网站seo服务
  • 手机触屏版网站开发网站可以做话筒台标吗
  • dreamware做网站网站制作工作室24小时接单
  • 计算机专业吃香吗成都seo外包
  • 怎么根据网站前端做网站后台瀑布流网站源码下载
  • 电子商务网站建设策划书织梦网站安装播放视频插件下载