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

网站建设团队技术介绍要做网络推广

网站建设团队技术介绍,要做网络推广,个人网站要备案么,wordpress 当前文章所属分类正则化方法(Regularization Techniques) 1. 目标 理解什么是过拟合及其影响掌握常见正则化技术:L2 正则化、Dropout、Batch Normalization、Early Stopping能够使用 PyTorch 编程实现这些正则化方法并进行比较分析 2. 数据构造与任务设定 …

正则化方法(Regularization Techniques)

1. 目标

  • 理解什么是过拟合及其影响
  • 掌握常见正则化技术:L2 正则化、Dropout、Batch Normalization、Early Stopping
  • 能够使用 PyTorch 编程实现这些正则化方法并进行比较分析

2. 数据构造与任务设定

本实验是一个带噪声的回归任务,目标函数为 y = x + N ( 0 , σ 2 ) y = x + \mathcal{N}(0, \sigma^2) y=x+N(0,σ2)。使用均匀分布采样输入 x ∈ [ − 1 , 1 ] x \in [-1, 1] x[1,1]

import numpy as np
import torch
import torch.utils.data as DataN_SAMPLES = 20
NOISE_RATE = 0.4train_x = np.linspace(-1, 1, N_SAMPLES)[:, np.newaxis]
train_y = train_x + np.random.normal(0, NOISE_RATE, train_x.shape)validate_x = np.linspace(-1, 1, N_SAMPLES // 2)[:, np.newaxis]
validate_y = validate_x + np.random.normal(0, NOISE_RATE, validate_x.shape)test_x = np.linspace(-1, 1, N_SAMPLES)[:, np.newaxis]
test_y = test_x + np.random.normal(0, NOISE_RATE, test_x.shape)# 转换为 Tensor
train_x = torch.tensor(train_x, dtype=torch.float32)
train_y = torch.tensor(train_y, dtype=torch.float32)
validate_x = torch.tensor(validate_x, dtype=torch.float32)
validate_y = torch.tensor(validate_y, dtype=torch.float32)
test_x = torch.tensor(test_x, dtype=torch.float32)
test_y = torch.tensor(test_y, dtype=torch.float32)train_dataset = Data.TensorDataset(train_x, train_y)
train_loader = Data.DataLoader(dataset=train_dataset, batch_size=10, shuffle=True)

3. 模型定义

3.1 原始 MLP(无正则化)

import torch.nn as nn
import torch.nn.init as initclass FC_Classifier(nn.Module):def __init__(self, input_dim=1, hidden_dim=100, output_dim=1):super().__init__()self.fc1 = nn.Linear(input_dim, hidden_dim)self.fc2 = nn.Linear(hidden_dim, output_dim)self.activation = nn.ReLU()self._init_weights()def _init_weights(self):init.normal_(self.fc1.weight, mean=0.0, std=0.1)init.constant_(self.fc1.bias, 0)init.normal_(self.fc2.weight, mean=0.0, std=0.1)init.constant_(self.fc2.bias, 0)def forward(self, x):x = self.activation(self.fc1(x))return self.fc2(x)

3.2 Dropout MLP

class DropoutMLP(nn.Module):def __init__(self, dropout_rate=0.5):super().__init__()self.fc1 = nn.Linear(1, 100)self.dropout = nn.Dropout(dropout_rate)self.fc2 = nn.Linear(100, 1)self.activation = nn.ReLU()self._init_weights()def _init_weights(self):init.normal_(self.fc1.weight, mean=0.0, std=0.1)init.constant_(self.fc1.bias, 0)init.normal_(self.fc2.weight, mean=0.0, std=0.1)init.constant_(self.fc2.bias, 0)def forward(self, x):x = self.dropout(self.fc1(x))x = self.activation(x)return self.fc2(x)

3.3 Batch Normalization MLP

class BNMLP(nn.Module):def __init__(self):super().__init__()self.bn_input = nn.BatchNorm1d(1)self.fc1 = nn.Linear(1, 100)self.bn_hidden = nn.BatchNorm1d(100)self.fc2 = nn.Linear(100, 1)self.activation = nn.ReLU()def forward(self, x):x = self.bn_input(x)x = self.fc1(x)x = self.bn_hidden(x)x = self.activation(x)return self.fc2(x)

4. Early Stopping 策略

当验证集误差连续若干轮无提升时,提前停止训练,避免过拟合。

max_patience = 5
patience = 0
best_val_loss = float("inf")
is_early_stop = False

5. RMSNorm 实现与讲解

5.1 原理说明

RMSNorm 是一种替代 LayerNorm 的轻量化归一化方法:

  • 不减均值
  • 仅用激活值的均方根进行归一化
  • 不依赖 batch 维度

数学公式:

RMS ( x ) = 1 n ∑ i = 1 n x i 2 \text{RMS}(x) = \sqrt{\frac{1}{n} \sum_{i=1}^n x_i^2} RMS(x)=n1i=1nxi2

RMSNorm ( x ) = x RMS ( x ) + ϵ ⋅ γ \text{RMSNorm}(x) = \frac{x}{\text{RMS}(x) + \epsilon} \cdot \gamma RMSNorm(x)=RMS(x)+ϵxγ

其中 γ \gamma γ 为可学习参数, ϵ \epsilon ϵ 是一个很小的数避免除以 0。

5.2 代码实现

class RMSNorm(nn.Module):def __init__(self, hidden_size, eps=1e-6):super().__init__()self.weight = nn.Parameter(torch.ones(hidden_size))self.eps = epsdef forward(self, x):rms = torch.sqrt(torch.mean(x ** 2, dim=-1, keepdim=True) + self.eps)return self.weight * x / rms

5.3 与其他归一化对比

方法是否减均值是否除方差是否依赖 batch
BatchNorm
LayerNorm
RMSNorm是 (仅 RMS)

6. 实验建议

  • 尝试不同的 Dropout 比例(如 0.1 / 0.3 / 0.5)并观察效果;
  • 对比是否每层都加 BatchNorm 是否更优;
  • 比较 L2 正则项中 weight decay 的不同取值;
  • 使用 RMSNorm 替代 LayerNorm 做对比实验。
http://www.dtcms.com/wzjs/251282.html

相关文章:

  • 网站域名自动跳转上海谷歌优化
  • 开发定制直销系统西安自动seo
  • 个人网站名称成都最新热门事件
  • 没网站怎么做cpagoogle推广seo
  • 站长工具5g外链群发软件
  • 做细分行业信息网站地推的方法和技巧
  • 广州网站建设市场竞价服务托管公司
  • 广东手机网站建设报价软件外包公司排行榜
  • 肥城市住房和城乡建设局网站百度竞价推广费用
  • 真人做爰直播试看网站太原百度快速优化排名
  • 河南建设网站公司简介域名反查
  • 网站建设公司销售产品推广方案要包含哪些内容
  • 重庆建设医院网站百度seo推广计划类型包含
  • 海安做网站今日新闻头条官网
  • 网站的备案all百度账户托管
  • 随州网站建设哪家实惠源码交易平台
  • 桐庐县住房和城乡建设局网站网站收录提交入口
  • 软件资源抖音seo推荐算法
  • 济源城乡建设局网站青岛seo网站建设公司
  • 经常用表格进行页面布局seo在线网站推广
  • 搭建网站的主要风险企业网站推广的形式有哪些
  • 网站架构 java淘词神器
  • 有没有做牛羊角的网站六种常见的网站类型
  • 昆明做百度网站电话南京最新消息今天
  • 自己怎么做云购网站吗百度关键词热度排名
  • 系统网站建设公司跨境电商培训
  • 网站搜索引擎推广怎么做域名在线查询
  • 什么网站做外链优化好我为什么不建议年轻人做运营
  • 企业展厅设计公司重庆域名查询seo
  • 旅游网的网站建设优化大师在哪里