李沐12权重衰退——自学笔记

权重衰退

常用的处理过拟合的方法

使用均方范数作为硬性限制

通过限制参数值的选择范围来控制模型容量
通常不限制偏移b
小的θ意味着更强的正则项

使用均方范数作为柔性限制

总结

权重衰退通过L2正则项使得模型参数不会太大,从而控制模型复杂度
正则项权重是控制模型复杂度的超参数

代码实现

import torch
from torch import nn
from d2l import torch as d2l

生成人工数据集

在这里插入图片描述

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) # 具体来说,d2l.synthetic_data函数通常接受几个参数,如权重(weights)、偏置(bias)和样本数量,然后基于这些参数生成特征和标签的数据集。这些参数可以帮助你控制生成数据的分布和复杂性。
train_iter=d2l.load_array(train_data,batch_size)   # 用于从文件中加载数据并将其转换为NumPy数组。它的功能是读取文件中的数据,并将其转换为指定的数据类型和形状。
test_data=d2l.synthetic_data(true_w,true_b,n_test)
test_iter=d2l.load_array(test_data,batch_size,is_train=False)
# 此处插入d2l.synthetic_data()函数的使用功能
import torch  
from d2l import torch as d2l  
  
# 定义权重和偏置  
true_w1 = torch.tensor([2, -3.4])  
true_b1 = 4.2  
  
# 生成合成数据集  
features1, labels1 = d2l.synthetic_data(true_w1, true_b1, 
  • 14
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值