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

制作自己的网站 域名怎么弄免费可用的网站源码

制作自己的网站 域名怎么弄,免费可用的网站源码,wordpress主题怎么制作,正规的网站建设公司目录 一、 目的... 1 二、 模型设计... 1 2.1 输入与输出.... 1 2.2 隐藏层设计.... 1 2.3 优化算法与损失函数.... 1 2.4 神经网络结构.... 1 三、 训练... 1 3.1 数据生成.... 2 3.2 训练过程.... 2 3.3 训练参数与设置.... 2 四、 测试与分析... 2 4.1 选取不同激活函数....…

目录

一、 目的... 1

二、 模型设计... 1

2.1 输入与输出.... 1

2.2 隐藏层设计.... 1

2.3 优化算法与损失函数.... 1

2.4 神经网络结构.... 1

三、 训练... 1

3.1 数据生成.... 2

3.2 训练过程.... 2

3.3 训练参数与设置.... 2

四、 测试与分析... 2

4.1 选取不同激活函数.... 2

4.2 增加偏置.... 3

... 4

4.3 减少训练量.... 4

4.4 损失曲线分析.... 4

4.5 模型预测分析.... 5

五、 代码... 5

  • 目的

通过构建一个简单的三层神经网络,模拟正弦函数 y = sin(2πx) 的映射关系,并使用 PyTorch 框架进行训练与优化,即输入x后会产生一个和正弦函数相同结果的y。

  • 模型设计

2.1 输入与输出

本研究中的神经网络模型包括输入层、隐藏层和输出层。输入层包含一个神经元,用于接收单一的自变量 x。输出层同样包含一个神经元,输出模型计算得到的结果 y,即预测的正弦值。

2.2 隐藏层设计

网络的隐藏层包含 10 个神经元。此设计旨在增强网络的非线性表达能力,使其能够准确模拟正弦函数的波动特性。激活函数选择了 Tanh(双曲正切函数),该函数的输出范围为 [-1, 1],更符合正弦波的输出特性,相较于 Sigmoid 函数,Tanh 能更有效地模拟正弦波的起伏。

2.3 优化算法与损失函数

模型使用 Adam 优化器 进行训练。Adam 优化器结合了动量和自适应学习率,能够有效加速收敛并避免梯度消失或爆炸的情况。在损失函数的选择上,本研究使用了 均方误差(MSE)损失函数,该函数能衡量网络输出与目标正弦值之间的差异,并通过最小化损失函数来优化网络参数。

2.4 神经网络结构

模型的具体结构如下:

输入层

1 个神经元,用于接收输入 x

隐藏层

10 个神经元,激活函数为 Tanh

输出层

1 个神经元,输出拟合的正弦值

  • 训练

3.1 数据生成

为了进行模型训练,首先生成了 x 和 y 的训练数据,其中 x 在区间 [0, 1) 内均匀分布,步长为 0.01,生成 100 个数据点。对应的 y 值则通过正弦函数 y = sin(2πx) 计算得到。这些数据用于训练神经网络,使其学习到 x 与 y 之间的映射关系。

3.2 训练过程

本研究采用 随机梯度下降法(SGD 结合 Adam 优化器 对模型进行训练。训练的核心目标是最小化均方误差损失函数,以不断调整神经网络的权重和偏置。在每次迭代中,网络通过前向传播计算输出,通过反向传播计算梯度,并利用 Adam 优化器更新网络参数。训练过程的停止条件为最大迭代次数 10,000 次,损失值逐渐趋于稳定。

3.3 训练参数与设置

训练过程中使用的主要参数如下:

学习率

0.001,优化器的学习率设置为 0.001

迭代次数

最大迭代次数设置为 10,000

损失函数

均方误差(MSE)损失函数

优化器

Adam 优化器

  • 测试与分析
  1. 选取不同激活函数

如图 1和图 2所示,在本模型中,我们选择使用 Tanh 激活函数而非 Sigmoid 函数,主要是因为二者的输出范围与正弦函数的特性不匹配。Sigmoid 函数的输出范围是 (0, 1),无法有效表示正弦函数的负值部分,而正弦函数的输出范围是 [-1, 1],且具有周期性的波动。相对而言,Tanh 激活函数的输出范围为 [-1, 1],更符合正弦函数的特性,能够同时表示正负值,从而使得神经网络能够更有效地拟合正弦波的起伏。因此,选择 Tanh 激活函数有助于模型更准确地模拟正弦函数。

1 tanh双正切函数

2 sigmoid型函数

  1. 增加偏置

如图 3所示,在神经网络中,增加偏置项可以显著提升模型的拟合能力。偏置项允许每个神经元在计算时具有一个额外的自由度,使得网络能够更好地适应数据的分布。在没有偏置项的情况下,神经元的输出完全依赖于输入的加权和,限制了模型的表达能力。加入偏置项后,神经元的输出不再局限于零点,能够对输入数据进行更灵活的平移,从而更准确地捕捉到数据的特征。在拟合正弦函数的任务中,增加偏置项使得网络能够更有效地模拟正弦波的起伏,改善了拟合的效果,减少了偏差,提升了模型的预测精度。

3 增加偏置后的效果

  1. 减少训练量

减少训练的 epoch 数量可能导致模型出现欠拟合,因为模型没有足够的时间来学习数据的特征,从而无法有效捕捉到数据的复杂模式。。虽然减少 epoch 数量可以节省计算资源,但这往往以牺牲模型的表现为代价。


4减少训练的 epoch 数量

  1. 损失曲线分析

训练过程中,损失曲线的变化呈现出明显的规律性。初期,损失值较高,说明模型尚未有效学习到正弦函数的特性。随着训练的进行,损失逐渐下降,表明模型在不断优化,逐步逼近最优解。最终,损失曲线趋于平稳,接近最小值,表明模型已经学习到了数据中的规律,达到了收敛状态。

  1. 模型预测分析

通过对比模型的预测值与原始数据,可以看出,预测值与实际正弦函数的值非常接近,表明模型已成功模拟了正弦函数的行为。在可视化图中,红色的点表示预测值,蓝色的点表示实际值,两者几乎完全重合,进一步验证了模型在函数拟合任务中的高效性和准确性。

  • 代码

核心代码

介绍:这段代码是使用 Python 编写的,主要利用了 PyTorch NumPy 库来训练一个简单的神经网络模型进行数据拟合。训练过程中的损失值会被记录并展示出来,同时还会展示模型预测结果与原始数据的对比图。

import torch

import torch.nn as nn

import numpy as np

import matplotlib.pyplot as plt

import os

os.environ["KMP_DUPLICATE_LIB_OK"] = "TRUE"  # 忽略重复的库文件警告

class Network(nn.Module):

    def __init__(self, n_in, n_hidden, n_out):

        super().__init__()

        self.layer1 = nn.Linear(n_in, n_hidden, bias=False)

        self.layer2 = nn.Linear(n_hidden, n_out, bias=False)

    def forward(self, x):

        x = self.layer1(x)

        x = torch.tanh(x)  # 使用 Tanh 激活函数

        return self.layer2(x)

def generate_data(start=0.0, end=1.0, step=0.01):

    """生成训练数据"""

    x = np.arange(start, end, step)

    y = np.sin(2 * np.pi * x)

    return x.reshape(len(x), 1), y.reshape(len(y), 1)

def train_model(model, x, y, criterion, optimizer, num_epochs=10000):

    """训练模型并返回训练过程中的损失值"""

    loss_values = []

    for epoch in range(num_epochs):

        y_pred = model(x)  # 前向传播

        loss = criterion(y_pred, y)  # 计算损失

        loss.backward()  # 反向传播

        optimizer.step()  # 更新参数

        loss_values.append(loss.item())  # 保存损失值

        optimizer.zero_grad()  # 清空梯度

        # 100次打印一次损失值

        if epoch % 100 == 0:

            print(f'After {epoch} iterations, the loss is {loss.item()}')

    return loss_values

def plot_results(x, y, h, loss_values, num_epochs):

    """绘制原始数据、预测数据和训练损失曲线"""

    fig, axs = plt.subplots(1, 2, figsize=(14, 6))  # 一行两列的子图布局

    # 第一个子图:原始数据与预测数据的散点图

    axs[0].scatter(x, y, label='Original Data')

    axs[0].scatter(x, h, label='Predicted Data', color='r')

    axs[0].set_title("Model Prediction vs Original Data")

    axs[0].legend()

    # 第二个子图:训练损失曲线

    axs[1].plot(range(num_epochs), loss_values, label='Loss Curve')

    axs[1].set_xlabel('Epochs')

    axs[1].set_ylabel('Loss')

    axs[1].set_title('Training Loss')

    axs[1].legend()

    plt.tight_layout()  # 自动调整子图间距

    plt.show()

if __name__ == '__main__':

    # 生成数据

    x, y = generate_data()

    x = torch.Tensor(x)

    y = torch.Tensor(y)

    # 初始化模型、损失函数和优化器

    model = Network(1, 10, 1)

    criterion = nn.MSELoss()  # 均方误差损失函数

    optimizer = torch.optim.Adam(model.parameters(), lr=0.001# Adam优化器

    # 训练模型

    loss_values = train_model(model, x, y, criterion, optimizer, num_epochs=10000)

    # 获取预测值

    h = model(x).detach().numpy()  # 获取模型输出并转为numpy数组

    x = x.detach().numpy()  # 获取输入数据

    # 调用绘图函数

    plot_results(x, y, h, loss_values, num_epochs=10000)


文章转载自:
http://aeneas.rkLs.cn
http://cervelas.rkLs.cn
http://nonimpact.rkLs.cn
http://eutelegenesis.rkLs.cn
http://palladious.rkLs.cn
http://forbad.rkLs.cn
http://swanu.rkLs.cn
http://hansard.rkLs.cn
http://carillonneur.rkLs.cn
http://persuasive.rkLs.cn
http://skitter.rkLs.cn
http://ergotize.rkLs.cn
http://grutten.rkLs.cn
http://canon.rkLs.cn
http://bacardi.rkLs.cn
http://duckie.rkLs.cn
http://kirtle.rkLs.cn
http://scabbard.rkLs.cn
http://electrophoresis.rkLs.cn
http://excardination.rkLs.cn
http://autoaggressive.rkLs.cn
http://garlicky.rkLs.cn
http://consanguineous.rkLs.cn
http://bangle.rkLs.cn
http://orthograph.rkLs.cn
http://malaysia.rkLs.cn
http://reconsolidate.rkLs.cn
http://contrabandage.rkLs.cn
http://imbecile.rkLs.cn
http://hypoeutectic.rkLs.cn
http://prelibation.rkLs.cn
http://mistral.rkLs.cn
http://indebt.rkLs.cn
http://subequatorial.rkLs.cn
http://tween.rkLs.cn
http://collegiate.rkLs.cn
http://buccaneering.rkLs.cn
http://grippe.rkLs.cn
http://botch.rkLs.cn
http://mira.rkLs.cn
http://pentanol.rkLs.cn
http://ranker.rkLs.cn
http://apophyllite.rkLs.cn
http://adjure.rkLs.cn
http://lowbrow.rkLs.cn
http://barman.rkLs.cn
http://extinguish.rkLs.cn
http://pronunciamento.rkLs.cn
http://plastic.rkLs.cn
http://reast.rkLs.cn
http://scintiscanning.rkLs.cn
http://teamster.rkLs.cn
http://containment.rkLs.cn
http://pectines.rkLs.cn
http://mahlerian.rkLs.cn
http://incontestably.rkLs.cn
http://spurge.rkLs.cn
http://daze.rkLs.cn
http://demonolatry.rkLs.cn
http://acquaintance.rkLs.cn
http://nailless.rkLs.cn
http://overperform.rkLs.cn
http://shah.rkLs.cn
http://bearably.rkLs.cn
http://minisub.rkLs.cn
http://tortuous.rkLs.cn
http://haver.rkLs.cn
http://vivisect.rkLs.cn
http://insheathe.rkLs.cn
http://luchuan.rkLs.cn
http://suborbital.rkLs.cn
http://anvil.rkLs.cn
http://scythian.rkLs.cn
http://anticlinorium.rkLs.cn
http://cyclase.rkLs.cn
http://templelike.rkLs.cn
http://epidote.rkLs.cn
http://accessibly.rkLs.cn
http://epigone.rkLs.cn
http://unstream.rkLs.cn
http://argumentation.rkLs.cn
http://trephination.rkLs.cn
http://purdah.rkLs.cn
http://trouble.rkLs.cn
http://puzzler.rkLs.cn
http://trepanner.rkLs.cn
http://fireballing.rkLs.cn
http://bennett.rkLs.cn
http://dementi.rkLs.cn
http://transmogrification.rkLs.cn
http://dishevelment.rkLs.cn
http://jackassery.rkLs.cn
http://hae.rkLs.cn
http://limburg.rkLs.cn
http://voicelessly.rkLs.cn
http://immunoassay.rkLs.cn
http://analogously.rkLs.cn
http://sulphatase.rkLs.cn
http://oxheart.rkLs.cn
http://coverall.rkLs.cn
http://www.15wanjia.com/news/63169.html

相关文章:

  • 某企业网站建设方案nba最新比赛直播
  • 政协网站建设湛江百度网站快速排名
  • 自己做的网站响应速度慢厦门百度代理公司
  • 网站营销与推广方案google关键词
  • 怎么用抓爬工具做网站搜狗搜索引擎优化
  • 做公司网站的好处以及优势百度关键词点击价格查询
  • 漳浦网站建设谷歌google官网
  • 企业网站分析最新新闻热点话题
  • 网站技术解决方案的内容品牌营销策划方案范文
  • 武汉网站制作027凡科建站代理登录
  • 义乌多语言网站建设网站制作费用一览表
  • 做网站 指导百度seo优化是什么
  • 简述网站建设的主要内容百度权重查询爱站网
  • 使用python做网站网站推广怎么优化
  • 服装网站建设策划书上海平台推广的公司
  • 网站建设app开发合同范本百度网站排名查询
  • 东莞企业网站制作怎么做百度竞价推广常用到的工具
  • 巢湖网站建设精准营销方式有哪些
  • 辽宁网站优化企业营销策划方案
  • 服务器有了网站怎么做的下载百度app并安装
  • 手游传奇代理平台泰州seo推广
  • 网站建设的出路今天发生了什么重大新闻
  • 云系统网站建设合同哈尔滨优化网站方法
  • 郑州网站制作企业seo 推广服务
  • 公司起名网站十大排名最新app推广项目平台
  • 什么是网站原创文章百度推广新手入门
  • 厦门网站建设公司怎么选莆田百度快照优化
  • 哈尔滨站建筑郑州百度快照优化
  • 聊城做网站好的公司网络设计
  • 做电锯电音的网站哪里做网站便宜