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

云主机搭建多个网站专业型网站网站

云主机搭建多个网站,专业型网站网站,怎么做网站盈利,wordpress 中文 图片不显示神经网络中的回归详解 引言 神经网络(NeuralNetworks)是一种强大的机器学习模型,可用于分类和回归任务。本文聚焦于神经网络中的回归(Regression),即预测连续输出值(如房价、温度)。…

神经网络中的回归详解

引言

神经网络(NeuralNetworks)是一种强大的机器学习模型,可用于分类和回归任务。本文聚焦于神经网络中的回归(Regression),即预测连续输出值(如房价、温度)。

回归问题:给定输入特征x⃗\vec{x}x,预测连续目标yyy。神经网络通过多层非线性变换学习复杂映射f:x⃗↦yf:\vec{x}\mapsto yf:xy

基本概念回顾

神经元与层

  • 神经元(Neuron):基本单元。输入x⃗=(x1,…,xn)\vec{x}=(x_1,\dots,x_n)x=(x1,,xn),权重w⃗=(w1,…,wn)\vec{w}=(w_1,\dots,w_n)w=(w1,,wn),偏置bbb
    计算:线性组合z=w⃗⋅x⃗+b=∑i=1nwixi+bz=\vec{w}\cdot\vec{x}+b=\sum_{i=1}^nw_ix_i+bz=wx+b=i=1nwixi+b
    然后激活:a=σ(z)a=\sigma(z)a=σ(z)σ\sigmaσ为激活函数。

  • (Layer):多个神经元组成。

    • 输入层:原始特征。
    • 隐藏层:中间变换。
    • 输出层:最终预测y^\hat{y}y^(回归中通常1个神经元,无激活或线性激活)。
  • 前馈神经网络(FeedforwardNeuralNetwork,FNN):信息从输入到输出单向流动。也称多层感知机(MLP)。

激活函数

激活引入非线性。常见:

  • Sigmoid:σ(z)=1/(1+e−z)\sigma(z)=1/(1+e^{-z})σ(z)=1/(1+ez),输出[0,1]。
  • Tanh:σ(z)=(ez−e−z)/(ez+e−z)\sigma(z)=(e^z-e^{-z})/(e^z+e^{-z})σ(z)=(ezez)/(ez+ez),输出[-1,1]。
  • ReLU:σ(z)=max⁡(0,z)\sigma(z)=\max(0,z)σ(z)=max(0,z),简单高效,避免梯度消失。
  • Linear:σ(z)=z\sigma(z)=zσ(z)=z,用于回归输出层。

隐藏层常用ReLU,输出层线性以输出任意实数。

神经网络回归模型结构

数学表示

假设网络有LLL层。第lll层有mlm_lml个神经元。

  • 输入:a⃗(0)=x⃗∈Rm0\vec{a}^{(0)}=\vec{x}\in\mathbb{R}^{m_0}a(0)=xRm0

  • lll层:
    z⃗(l)=W(l)a⃗(l−1)+b⃗(l) \vec{z}^{(l)}=W^{(l)}\vec{a}^{(l-1)}+\vec{b}^{(l)} z(l)=W(l)a(l1)+b(l)
    a⃗(l)=σ(l)(z⃗(l)) \vec{a}^{(l)}=\sigma^{(l)}(\vec{z}^{(l)}) a(l)=σ(l)(z(l))
    其中W(l)∈Rml×ml−1W^{(l)}\in\mathbb{R}^{m_l\times m_{l-1}}W(l)Rml×ml1为权重矩阵,b⃗(l)∈Rml\vec{b}^{(l)}\in\mathbb{R}^{m_l}b(l)Rml为偏置。

  • 输出:y^=a⃗(L)\hat{y}=\vec{a}^{(L)}y^=a(L)(标量)。

整个网络:y^=f(x⃗;θ)\hat{y}=f(\vec{x};\theta)y^=f(x;θ)θ={W(l),b⃗(l)}l=1L\theta=\{W^{(l)},\vec{b}^{(l)}\}_{l=1}^Lθ={W(l),b(l)}l=1L为参数。

示例结构

简单回归网络:输入2维,1隐藏层(3神经元),输出1维。

  • 输入层:x⃗=(x1,x2)\vec{x}=(x_1,x_2)x=(x1,x2)
  • 隐藏层:W(1)∈R3×2W^{(1)}\in\mathbb{R}^{3\times2}W(1)R3×2b⃗(1)∈R3\vec{b}^{(1)}\in\mathbb{R}^3b(1)R3,激活ReLU。
  • 输出层:W(2)∈R1×3W^{(2)}\in\mathbb{R}^{1\times3}W(2)R1×3b⃗(2)∈R\vec{b}^{(2)}\in\mathbb{R}b(2)R,激活线性。

损失函数

回归常用均方误差(MeanSquaredError,MSE):
L(y^,y)=12(y^−y)2 \mathcal{L}(\hat{y},y)=\frac{1}{2}(\hat{y}-y)^2 L(y^,y)=21(y^y)2
批次样本:$ \mathcal{L}=\frac{1}{N}\sum_{i=1}N\frac{1}{2}(\hat{y}_i-y_i)2 $

其他:MAE(L=∣y^−y∣\mathcal{L}=|\hat{y}-y|L=y^y),HuberLoss(对异常值鲁棒)。

训练过程:反向传播与梯度下降

前向传播

从输入计算到输出,得到y^\hat{y}y^L\mathcal{L}L

反向传播(Backpropagation)

计算梯度∂L/∂θ\partial\mathcal{L}/\partial\thetaL/θ

  • 输出层误差:δ(L)=∂L/∂z⃗(L)=(y^−y)⋅σ(L)′(z⃗(L))\delta^{(L)}=\partial\mathcal{L}/\partial\vec{z}^{(L)}=(\hat{y}-y)\cdot\sigma^{(L)'}(\vec{z}^{(L)})δ(L)=L/z(L)=(y^y)σ(L)(z(L))(线性激活时σ′=1\sigma'=1σ=1,故δ(L)=y^−y\delta^{(L)}=\hat{y}-yδ(L)=y^y)。
  • 向后传播:δ(l)=(W(l+1))Tδ(l+1)⊙σ(l)′(z⃗(l))\delta^{(l)}=(W^{(l+1)})^T\delta^{(l+1)}\odot\sigma^{(l)'}(\vec{z}^{(l)})δ(l)=(W(l+1))Tδ(l+1)σ(l)(z(l))⊙\odot为逐元素乘。
  • 梯度:
    ∂L∂W(l)=δ(l)(a⃗(l−1))T \frac{\partial\mathcal{L}}{\partial W^{(l)}}=\delta^{(l)}(\vec{a}^{(l-1)})^T W(l)L=δ(l)(a(l1))T
    ∂L∂b⃗(l)=δ(l) \frac{\partial\mathcal{L}}{\partial\vec{b}^{(l)}}=\delta^{(l)} b(l)L=δ(l)

优化:梯度下降

更新参数:θ:=θ−η∇θL\theta:=\theta-\eta\nabla_\theta\mathcal{L}θ:=θηθLη\etaη为学习率。

变体:

  • SGD:随机梯度下降,每批次更新。
  • Momentum:添加动量v:=βv−η∇v:=\beta v-\eta\nablav:=βvηθ:=θ+v\theta:=\theta+vθ:=θ+v
  • Adam:自适应学习率,结合动量和RMSProp。

完整训练算法

  1. 初始化θ\thetaθ(e.g.,Xavier初始化)。
  2. 对于每个epoch:
    a. 前向:计算y^\hat{y}y^L\mathcal{L}L
    b. 反向:计算梯度。
    c. 更新θ\thetaθ
  3. 监控验证损失,早停防止过拟合。

数学推导示例:简单网络

假设单隐藏层,输入1维xxx,隐藏1神经元,输出y^\hat{y}y^

  • 前向:
    z(1)=w1x+b1z^{(1)}=w_1x+b_1z(1)=w1x+b1a(1)=σ(z(1))a^{(1)}=\sigma(z^{(1)})a(1)=σ(z(1))(ReLU)。
    z(2)=w2a(1)+b2z^{(2)}=w_2a^{(1)}+b_2z(2)=w2a(1)+b2y^=z(2)\hat{y}=z^{(2)}y^=z(2)(线性)。
  • 损失:L=12(y^−y)2\mathcal{L}=\frac{1}{2}(\hat{y}-y)^2L=21(y^y)2
  • 梯度:
    ∂L/∂y^=y^−y\partial\mathcal{L}/\partial\hat{y}=\hat{y}-yL/y^=y^y
    ∂L/∂w2=(y^−y)a(1)\partial\mathcal{L}/\partial w_2=(\hat{y}-y)a^{(1)}L/w2=(y^y)a(1)
    ∂L/∂b2=y^−y\partial\mathcal{L}/\partial b_2=\hat{y}-yL/b2=y^y
    ∂L/∂a(1)=(y^−y)w2\partial\mathcal{L}/\partial a^{(1)}=(\hat{y}-y)w_2L/a(1)=(y^y)w2
    ∂L/∂z(1)=∂L/∂a(1)⋅σ′(z(1))\partial\mathcal{L}/\partial z^{(1)}=\partial\mathcal{L}/\partial a^{(1)}\cdot\sigma'(z^{(1)})L/z(1)=L/a(1)σ(z(1))(ReLU’:1 ifz(1)>0z^{(1)}>0z(1)>0,else0)。
    ∂L/∂w1=∂L/∂z(1)⋅x\partial\mathcal{L}/\partial w_1=\partial\mathcal{L}/\partial z^{(1)}\cdot xL/w1=L/z(1)x
    ∂L/∂b1=∂L/∂z(1)\partial\mathcal{L}/\partial b_1=\partial\mathcal{L}/\partial z^{(1)}L/b1=L/z(1)

正则化与优化技巧

  • 过拟合防治

    • L1/L2正则:添加λ∑∣w∣\lambda\sum|w|λwλ∑w2\lambda\sum w^2λw2到损失。
    • Dropout:训练时随机丢弃神经元(概率p)。
    • 数据增强:增加训练数据。
    • 早停:验证损失上升时停止。
  • 初始化:He初始化forReLU:w∼N(0,2/ml−1)w\sim\mathcal{N}(0,\sqrt{2/m_{l-1}})wN(0,2/ml1)

  • 批标准化(BatchNormalization):在每层后标准化z⃗(l)\vec{z}^{(l)}z(l),加速训练。

  • 学习率调度:余弦退火或指数衰减。

  • 超参数调优:层数、神经元数、学习率、批大小。用GridSearch或BayesianOptimization。

优点与缺点

  • 优点

    • 处理非线性关系:通用函数逼近器。
    • 自动特征提取:隐藏层学习高级表示。
    • 可扩展:深层网络捕捉复杂模式。
  • 缺点

    • 计算密集:训练需GPU。
    • 黑箱:解释性差(用SHAP或LIME改善)。
    • 需大量数据:小数据集易过拟合。
    • 梯度消失/爆炸:深层网络问题(用ReLU、残差连接缓解)。

应用场景

  • 房价预测:输入面积、位置等,输出价格。
  • 时间序列预测:RNN/LSTM变体,但基本FNN可用于简单回归。
  • 图像回归:CNN提取特征,后接全连接回归(如年龄估计)。
  • 金融:股票价格预测。

实际例子

例子1:线性回归模拟

用单层无激活网络模拟线性回归y=2x+1y=2x+1y=2x+1

  • 输入xxx,输出y^=wx+b\hat{y}=wx+by^=wx+b
  • 损失MSE。
  • 训练后w≈2w\approx2w2b≈1b\approx1b1

例子2:非线性回归

预测y=sin⁡(x)+噪声y=\sin(x)+噪声y=sin(x)+噪声

  • 网络:输入1,隐藏[64,64]ReLU,输出1线性。
  • 数据:1000点x∈[−π,π]x\in[-π,π]x[π,π]
  • 训练:Adam,MSE,epochs=1000。
    网络学习正弦曲线。

代码实现(Python with PyTorch)

import torch
import torch.nn as nn
import torch.optim as optimclass RegressionNet(nn.Module):def __init__(self):super().__init__()self.fc1 = nn.Linear(1, 64)self.fc2 = nn.Linear(64, 64)self.fc3 = nn.Linear(64, 1)def forward(self, x):x = torch.relu(self.fc1(x))x = torch.relu(self.fc2(x))return self.fc3(x)# 数据
x = torch.randn(1000, 1) * 3.14
y = torch.sin(x) + 0.1 * torch.randn(1000, 1)# 训练
model = RegressionNet()
criterion = nn.MSELoss()
optimizer = optim.Adam(model.parameters(), lr=0.01)for epoch in range(1000):optimizer.zero_grad()output = model(x)loss = criterion(output, y)loss.backward()optimizer.step()

总结

神经网络回归通过多层变换、反向传播和优化学习连续映射。

http://www.dtcms.com/a/502802.html

相关文章:

  • 【Linux学习笔记】线程同步与互斥之生产者消费者模型
  • C++函数使用
  • 立创EDA专业版使用技巧——全部框选与部分框选
  • yii2添加新的modules完为什么访问的时候报错404
  • HTML 头部
  • 内存流 + NPOIExcel, 读取Excel单元格内容
  • 文件包含漏洞全解析:从原理到实战
  • 【深度学习新浪潮】天数天算、地数天算与天地同算:概念解析与SOTA解决方案
  • 《C++ Web 自动化测试实战:常用函数全解析与场景化应用指南》
  • 在线做数据图的网站网站建设 鸿
  • K8s HTTPS流量管理实战:GatewayAPI指南
  • stable-diffusion-webui 安装环境
  • 【Linux】基础IO(二)深入理解“一切皆文件” 与缓冲区机制:从原理到简易 libc 实现
  • 键值存储分解技术在物联网场景中的优化
  • 企业电子商务网站建设的重要性2021最新域名id地址
  • 【C++】二叉搜索树(图码详解)
  • MySQL:14.mysql connect
  • 建设工程消防信息网站网站开发全程实例课本代码
  • 用excel绘制茎叶图
  • 龙岗优化网站建设门户网站建设需要多少
  • 东莞seo网站制作报价网站有域名没备案
  • 网站开发框架图自建wordpress主题
  • 网站公司模板多少工资
  • 江西建设厅网站dede手机网站模板哦
  • 网站运维平台建设原则西乡网站的建设
  • 帮网站网站做推广被抓会判刑吗凡科做的网站百度不到
  • 一台服务器怎么做多给网站wordpress用户投稿
  • 提供免费主页空间的网站中石油第七建设公司网站
  • 顺德网站建设基本流程高柏企业管理咨询有限公司
  • 深圳公司建立网站网络建设专业石家庄