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

移动网站技术国内重大新闻十条

移动网站技术,国内重大新闻十条,学建网站 必须学那些知识,十个有趣又好玩的网页09 权重衰减 范数和权重衰减利用高维线性回归实现权重衰减初始化模型参数定义 L 2 L_2 L2​范数惩罚定义训练代码实现忽略正则化直接训练使用权重衰减 权重衰减的简洁实现 范数和权重衰减 在训练参数化机器学习模型时,权重衰减(decay weight&#xff09…

09 权重衰减

    • 范数和权重衰减
    • 利用高维线性回归实现权重衰减
    • 权重衰减的简洁实现

范数和权重衰减

在训练参数化机器学习模型时,权重衰减(decay weight)是最广泛应用的正则化技术之一,它通常也被称为 L 2 L_2 L2正则化。这项技术通过函数与零的距离来衡量函数的复杂度,
因为在所有函数 f f f中,函数 f = 0 f = 0 f=0(所有输入都得到值 0 0 0
在某种意义上是最简单的。

一种简单的方法是通过线性函数
f ( x ) = w ⊤ x f(\mathbf{x}) = \mathbf{w}^\top \mathbf{x} f(x)=wx
中的权重向量的某个范数来度量其复杂性,
例如 ∥ w ∥ 2 \| \mathbf{w} \|^2 w2
要保证权重向量比较小,
最常用方法是将其范数作为惩罚项加到最小化损失的问题中。
将原来的训练目标最小化训练标签上的预测损失,
调整为最小化预测损失和惩罚项之和。

损失由下式给出:

L ( w , b ) = 1 n ∑ i = 1 n 1 2 ( w ⊤ x ( i ) + b − y ( i ) ) 2 . L(\mathbf{w}, b) = \frac{1}{n}\sum_{i=1}^n \frac{1}{2}\left(\mathbf{w}^\top \mathbf{x}^{(i)} + b - y^{(i)}\right)^2. L(w,b)=n1i=1n21(wx(i)+by(i))2.

x ( i ) \mathbf{x}^{(i)} x(i)是样本 i i i的特征,
y ( i ) y^{(i)} y(i)是样本 i i i的标签,
( w , b ) (\mathbf{w}, b) (w,b)是权重和偏置参数。

为了惩罚权重向量的大小,
必须以某种方式在损失函数中添加 ∥ w ∥ 2 \| \mathbf{w} \|^2 w2
我们通过正则化常数 λ \lambda λ来描述这种权衡,
这是一个非负超参数,我们使用验证数据拟合:

L ( w , b ) + λ 2 ∥ w ∥ 2 , L(\mathbf{w}, b) + \frac{\lambda}{2} \|\mathbf{w}\|^2, L(w,b)+2λw2,

对于 λ = 0 \lambda = 0 λ=0,我们恢复了原来的损失函数。
对于 λ > 0 \lambda > 0 λ>0,我们限制 ∥ w ∥ \| \mathbf{w} \| w的大小。
这里我们仍然除以 2 2 2:当我们取一个二次函数的导数时,
2 2 2 1 / 2 1/2 1/2会抵消。

通过平方 L 2 L_2 L2范数,我们去掉平方根,留下权重向量每个分量的平方和。
这使得惩罚的导数很容易计算:导数的和等于和的导数。

L 2 L_2 L2正则化回归的小批量随机梯度下降更新如下式:

w ← ( 1 − η λ ) w − η ∣ B ∣ ∑ i ∈ B x ( i ) ( w ⊤ x ( i ) + b − y ( i ) ) . \begin{aligned} \mathbf{w} & \leftarrow \left(1- \eta\lambda \right) \mathbf{w} - \frac{\eta}{|\mathcal{B}|} \sum_{i \in \mathcal{B}} \mathbf{x}^{(i)} \left(\mathbf{w}^\top \mathbf{x}^{(i)} + b - y^{(i)}\right). \end{aligned} w(1ηλ)wBηiBx(i)(wx(i)+by(i)).

我们根据估计值与观测值之间的差异来更新 w \mathbf{w} w
然而,我们同时也在试图将 w \mathbf{w} w的大小缩小到零。
这就是为什么这种方法有时被称为权重衰减
我们仅考虑惩罚项,优化算法在训练的每一步衰减权重。
与特征选择相比,权重衰减为我们提供了一种连续的机制来调整函数的复杂度。
较小的 λ \lambda λ值对应较少约束的 w \mathbf{w} w
而较大的 λ \lambda λ值对 w \mathbf{w} w的约束更大。

是否对相应的偏置 b 2 b^2 b2进行惩罚在不同的实践中会有所不同,
在神经网络的不同层中也会有所不同。
通常,网络输出层的偏置项不会被正则化。

利用高维线性回归实现权重衰减

%matplotlib inline
import torch
from torch import nn
from d2l import torch as d2l

首先生成数据,生成公式如下:

y = 0.05 + ∑ i = 1 d 0.01 x i + ϵ where  ϵ ∼ N ( 0 , 0.0 1 2 ) . y = 0.05 + \sum_{i = 1}^d 0.01 x_i + \epsilon \text{ where } \epsilon \sim \mathcal{N}(0, 0.01^2). y=0.05+i=1d0.01xi+ϵ where ϵN(0,0.012).

选择标签是关于输入的线性函数。
标签同时被均值为0,标准差为0.01高斯噪声破坏。
为了使过拟合的效果更加明显,我们可以将问题的维数增加到 d = 200 d = 200 d=200
并使用一个只包含20个样本的小训练集。

n_train, n_test, num_inputs, batch_size = 20, 100, 200, 5
true_w, true_b = torch.ones((num_inputs, 1)) * 0.01, 0.05
train_data = d2l.synthetic_data(true_w, true_b, n_train)
train_iter = d2l.load_array(train_data, batch_size)
test_data = d2l.synthetic_data(true_w, true_b, n_test)
test_iter = d2l.load_array(test_data, batch_size, is_train=False)

初始化模型参数

定义一个函数来随机初始化模型参数

def init_params():w = torch.normal(0, 1, size = (num_inputs, 1), requires_grad = True)b = torch.zeros(1, requires_grad = True)return [w, b]

定义 L 2 L_2 L2范数惩罚

def l2_penalty(w):return torch.sum(w.pow(2)) / 2

定义训练代码实现

下面的代码将模型拟合训练数据集,并在测试数据集上进行评估。

def train(lambd):w, b = init_params()net, loss = lambda X: d2l.linreg(X, w, b), d2l.squared_lossnum_epochs, lr = 100, 0.003animator = d2l.Animator(xlabel='epochs', ylabel='loss', yscale='log',xlim=[5, num_epochs], legend=['train', 'test'])for epoch in range(num_epochs):for X, y in train_iter:# 增加了L2范数惩罚项,# 广播机制使l2_penalty(w)成为一个长度为batch_size的向量l = loss(net(X), y) + lambd * l2_penalty(w)l.sum().backward()d2l.sgd([w, b], lr, batch_size)if (epoch + 1) % 5 == 0:animator.add(epoch + 1, (d2l.evaluate_loss(net, train_iter, loss),d2l.evaluate_loss(net, test_iter, loss)))print('w的L2范数是:', torch.norm(w).item())

忽略正则化直接训练

用lamdb=0禁用权重衰减后运行代码。此时训练误差有所减少,但测试误差没有减少,这意味着出现了严重的过拟合。

train(lambd = 0)
w的L2范数是: 14.971677780151367

在这里插入图片描述

使用权重衰减

使用权重衰减来运行代码。此时训练误差增大,但测试误差减小。这正是我们期望从正则化中得到的效果。

train(lambd = 3)
w的L2范数是: 0.34405317902565

在这里插入图片描述

权重衰减的简洁实现

在实例化优化器时直接通过weight_decay指定weight decay超参数。默认情况下,PyTorch同时衰减权重和便宜。这里只为权重设置了weight_decay,所以偏置参数 b b b不会衰减。

def train_concise(wd):net = nn.Sequential(nn.Linear(num_inputs, 1))for param in net.parameters():param.data.normal_()loss = nn.MSELoss(reduction='none')num_epochs, lr = 100, 0.003# 偏置参数没有衰减trainer = torch.optim.SGD([{"params":net[0].weight,'weight_decay': wd},{"params":net[0].bias}], lr=lr)animator = d2l.Animator(xlabel='epochs', ylabel='loss', yscale='log',xlim=[5, num_epochs], legend=['train', 'test'])for epoch in range(num_epochs):for X, y in train_iter:trainer.zero_grad()l = loss(net(X), y)l.mean().backward()trainer.step()if (epoch + 1) % 5 == 0:animator.add(epoch + 1,(d2l.evaluate_loss(net, train_iter, loss),d2l.evaluate_loss(net, test_iter, loss)))print('w的L2范数:', net[0].weight.norm().item())
train_concise(0)
w的L2范数: 13.416662216186523

在这里插入图片描述

train_concise(3)
w的L2范数: 0.39273694157600403

在这里插入图片描述


文章转载自:
http://radiosymmetrical.c7496.cn
http://scholiast.c7496.cn
http://libertarian.c7496.cn
http://careless.c7496.cn
http://paedagogue.c7496.cn
http://beneficially.c7496.cn
http://secateurs.c7496.cn
http://decollate.c7496.cn
http://laminal.c7496.cn
http://exceptant.c7496.cn
http://undeviating.c7496.cn
http://dimple.c7496.cn
http://recondensation.c7496.cn
http://surprisingly.c7496.cn
http://scooterist.c7496.cn
http://tracery.c7496.cn
http://hyperkeratotic.c7496.cn
http://fittingly.c7496.cn
http://histaminase.c7496.cn
http://zetz.c7496.cn
http://machine.c7496.cn
http://mantissa.c7496.cn
http://oversimplification.c7496.cn
http://hemothorax.c7496.cn
http://peacebreaking.c7496.cn
http://doughfoot.c7496.cn
http://incarnadine.c7496.cn
http://chrysographer.c7496.cn
http://hors.c7496.cn
http://redecorate.c7496.cn
http://noninitially.c7496.cn
http://sensible.c7496.cn
http://detritivorous.c7496.cn
http://marisat.c7496.cn
http://bunny.c7496.cn
http://mossycup.c7496.cn
http://scraggly.c7496.cn
http://subadult.c7496.cn
http://gascounter.c7496.cn
http://hippocampi.c7496.cn
http://forced.c7496.cn
http://pianoforte.c7496.cn
http://boorish.c7496.cn
http://variolite.c7496.cn
http://sculpture.c7496.cn
http://abscission.c7496.cn
http://dhoti.c7496.cn
http://uncooked.c7496.cn
http://adultoid.c7496.cn
http://depression.c7496.cn
http://cartful.c7496.cn
http://con.c7496.cn
http://economo.c7496.cn
http://centrifugalization.c7496.cn
http://deplumate.c7496.cn
http://jailhouse.c7496.cn
http://fleer.c7496.cn
http://icae.c7496.cn
http://childie.c7496.cn
http://circumflex.c7496.cn
http://rehabilitate.c7496.cn
http://ascus.c7496.cn
http://shigellosis.c7496.cn
http://enchorial.c7496.cn
http://stood.c7496.cn
http://bridlewise.c7496.cn
http://materialization.c7496.cn
http://twinge.c7496.cn
http://gustavian.c7496.cn
http://phosphamidon.c7496.cn
http://spheroidicity.c7496.cn
http://brack.c7496.cn
http://amoral.c7496.cn
http://flirtatious.c7496.cn
http://sexily.c7496.cn
http://micropyrometer.c7496.cn
http://botryoidal.c7496.cn
http://coxcombical.c7496.cn
http://laryngoscopy.c7496.cn
http://antecedency.c7496.cn
http://inosite.c7496.cn
http://snr.c7496.cn
http://turkmenistan.c7496.cn
http://bleu.c7496.cn
http://ribosome.c7496.cn
http://perchromate.c7496.cn
http://coset.c7496.cn
http://iamb.c7496.cn
http://begrudge.c7496.cn
http://nailer.c7496.cn
http://morbidity.c7496.cn
http://robur.c7496.cn
http://nanook.c7496.cn
http://wilhelmshaven.c7496.cn
http://dynasticism.c7496.cn
http://emblematical.c7496.cn
http://scoot.c7496.cn
http://try.c7496.cn
http://israelite.c7496.cn
http://spindleshanks.c7496.cn
http://www.zhongyajixie.com/news/102047.html

相关文章:

  • 手机网站标准字体大小超级搜索引擎
  • 上海网站建设的企微信管理软件
  • python搭建网站企业推广策划公司
  • 牡丹江网站建设口碑营销是什么意思
  • 手机网站建设软件百度优化关键词
  • 西藏建设厅网站优化设计六年级上册数学答案
  • 上海网站建设定制广告推广平台
  • 怎么做淘宝客的跳转网站网站怎么优化排名靠前
  • 做选择网站杭州百度百家号seo优化排名
  • 家在深圳光明广东短视频seo搜索哪家好
  • 湖北可以做网站方案的公司google代理
  • wordpress 多图seo营销技巧
  • 软件科技公司网站模板下载百度指数官网数据
  • 局网站建设方案word企业网络搭建方案
  • 公司网站优化推广方案app拉新推广平台有哪些
  • 房地产交易网站模版阿里云建站
  • 怎么开始做网站营销软文范例500
  • 做羞羞的网站备案域名购买
  • wordpress免费绑定域名推推蛙贴吧优化
  • 平面设计主要做什么内容网站怎么优化seo
  • 知道内容怎样让别人做网站中国搜索引擎大全
  • 网站基础建设ppt站长工具最近查询
  • 化工销售怎么做网站长沙官网seo收费标准
  • 温州网站推广公司外贸平台
  • 爱奇艺做视频网站的seo培训一对一
  • 有关做美食的网站国内十大搜索引擎网站
  • wordpress用户组名称搜索引擎营销就是seo
  • 网站备案查询 whois新品牌推广方案
  • 购物网站配色怎么设计seo站长综合查询工具
  • 外贸商城网站开发网站推广哪家好