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

微信微网站模板下载江门网站开发公司

微信微网站模板下载,江门网站开发公司,宁波seo推广定制,个人网站内容参考博客#xff1a;PyTorch深度学习实战#xff08;1#xff09;——神经网络与模型训练过程详解_pytorch 实战-CSDN博客 人工神经网络 ANN#xff1a;张量及数学运算的集合#xff0c;排列方式近似于松散的人脑神经元排列 组成 1#xff09;输入层 2#xff09;隐…参考博客PyTorch深度学习实战1——神经网络与模型训练过程详解_pytorch 实战-CSDN博客 人工神经网络 ANN张量及数学运算的集合排列方式近似于松散的人脑神经元排列 组成 1输入层 2隐藏层中间层连接输入层和输出层在输入数据上执行转换此外隐藏层利用神经元将输入值修改为更高、更低维的值通过修改中间结点的激活函数可以实现复杂表示函数 3输出层 训练 本质就是通过重复前向传播和后向传播两个关键步骤来调整神经网络的参数 前向传播--》输入经过隐藏层的到输出结果第一次正向传播 权重初始化 计算预测值 后向传播--》根据误差相应调整权重来减小误差 修正参数 神经网络重复正向传播与反向传播以预测输出指导获得令误差较小的权重为止 前向传播 1输入值乘以权重计算隐藏层值 2计算激活值 3在每个神经元上重复前两个步骤直到输出层 4计算loss 封装为函数 def forward(inputs,outputs,weights):#如果是首次迭代随机初始化pre_hidden np.dot(inputs,weights[0]) weights[1]#向量点积hidden 1/(1np.exp(-pre_hidden))#sigmoid激活函数pred_out np.dot(hidden,weights[2]) weights[3]#计算输出mse np.mean(np.square(pred_out - outputs))#lossreturn mse 反向传播 与前向传播相反利用从前向传播中计算的损失值以最小化损失值为目标更新网络权重 1每次对神经网络中的每个权重进行少量修改 2测量权重变化时的损失变化 ---》损失值关于权重的梯度 3计算-α δL/δW 更新权重 α为学习率 如果改变权重损失变化大那么就大幅更新权重 否则 小幅跟新权重 在整个数据集上执行n次前向传播以及后向传播表示模型进行了n个epoch的训练 执行一次算一个epoch 学习率 有助于构建更稳定的算法 梯度下降 更新权重以减小误差值的整个过程 SGD是将误差最小化的一种方法随计算则数据中的训练数据样本并根据该样本做出决策 实现梯度下降算法 1定义前馈神经网络并计算均方误差值 2为每个权重和偏执项增加一个非常小的量0.001并针对每个权重和偏差的更新计算一个mse from copy import deepcopy import numpy as np #创建update_weights函数执行梯度下降来更新权重 def update_weights(inputs, outputs, weights, lr):#使用deepcopy可以确保处理多个权重副本不会影响实际权重original_weights deepcopy(weights)temp_weights deepcopy(weights)updated_weights deepcopy(weights)original_loss forward(inputs, outputs, original_weigts)#遍历网络的所有层for i, layer in enumerate(orignial_weights):#循环遍历每个参数列表的所有参数 共四个参数列表前两个表示输入连接到隐藏层的权重和偏置项参数#另外两个表示链接隐藏层和输出层的偏置参数for index, weight in np.ndenumerate(layer):temp_weights deepcopy(weights)#原始权重集temp_weights[i][index] 0.0001#增加很小的值权重更新_loss_plus forward(inputs, outputs, temp_weights)#更新损失grad (_loss_plus - original_loss)/0.0001updated_weights[i][index] - grad * lr #利用损失变化更新权重使用学习率领权重变化更稳定return updated_weights, original_loss#返回更新后的权重 合并前向传播和反向传播 构建一个带有隐藏层的简单神经网络 1输入连接到具有三个神经元的隐藏层 2隐藏层连接到具有一个神经元的输出层 #导入相关库 import numpy as np import matplotlib.pyplot as plt from copy import deepcopy x np.array([[1,1]]) y np.array(([[0]])) #随机初始化权重和偏置值 W [np.array([[-0.05, 0.3793],[-0.5820, -0.5204],[-0.2723, 0.1896]], dtypenp.float32).T, np.array([-0.0140, 0.5607, -0.0628], dtypenp.float32), #隐藏层两个偏置值np.array([[ 0.1528, -0.1745, -0.1135]], dtypenp.float32).T, np.array([-0.5516], dtypenp.float32)#输出层一个偏置值 ]#在一百个epoch内执行前向传播和反向传播使用之前定义的forward和 def forward(inputs,outputs,weights):#如果是首次迭代随机初始化pre_hidden np.dot(inputs,weights[0]) weights[1]#向量点积hidden 1/(1np.exp(-pre_hidden))#sigmoid激活函数pred_out np.dot(hidden,weights[2]) weights[3]#计算输出mse np.mean(np.square(pred_out - outputs))#lossreturn msedef update_weights(inputs, outputs, weights, lr):#使用deepcopy可以确保处理多个权重副本不会影响实际权重original_weights deepcopy(weights)temp_weights deepcopy(weights)updated_weights deepcopy(weights)original_loss forward(inputs, outputs, original_weights)#遍历网络的所有层for i, layer in enumerate(original_weights):#循环遍历每个参数列表的所有参数 共四个参数列表前两个表示输入连接到隐藏层的权重和偏置项参数#另外两个表示链接隐藏层和输出层的偏置参数for index, weight in np.ndenumerate(layer):temp_weights deepcopy(weights)#原始权重集temp_weights[i][index] 0.0001#增加很小的值权重更新_loss_plus forward(inputs, outputs, temp_weights)#更新损失grad (_loss_plus - original_loss)/0.0001updated_weights[i][index] - grad * lr #利用损失变化更新权重使用学习率领权重变化更稳定return updated_weights, original_loss#返回更新后的权重#绘制损失值 losses [] for epoch in range(100):W, loss update_weights(x, y, W, 0.01)losses.append(loss) plt.plot(losses) plt.title(loss over increasing number of epochs) plt.xlabel(epochs) plt.ylabel(loss value) plt.show() print(W) #获取更新后的权值之后通过将输出传递给网络对输入进行预测计算输出值 pre_hidden np.dot(x, W[0]) W[1] hidden 1/(1np.exp(-pre_hidden)) pre_out np.dot(hidden, W[2]) W[3] print(pre_out) 注在服务器上运行时im.show()无法展示图片 总结 训练神经网络主要是通过重复两个关键步骤及用给定的学习率进行前向传播和反向传播最终得到最佳权重
http://www.hkea.cn/news/14555453/

相关文章:

  • 北京优化seo排名优化德州哪家网站优化好
  • 设计师网站十大网站推荐共享网站哪里建
  • 沈阳网站制作公司思路wordpress图文并排
  • 北京网站建设报价明细qq群推广引流
  • 网站宣传推广平台1个云虚拟主机怎么做多个网站
  • 视频网站seo实战asp网站开发流程
  • 网站开发的基础是什么kfk wordpress
  • 国外优秀ui设计网站wordpress 4.0后台
  • 肥东建设局网站网站seo推广软件
  • 做空调管路网站出售app软件的平台
  • 新郑网站建设网站域名注册哪家好
  • 网站建设开票开什么内容可信网站认证价格
  • 北斗手表官方网站做网站安全维护是什么东东
  • 安陆网站新手学做网站
  • 广州建站中企动力邮箱官网
  • 江西建设工程信息网站我有域名怎么做网站
  • 移动端网站做排名做网站一定要注册域名吗
  • 单页网站怎么制作教程如何微信支付购物网站
  • 怀柔做网站的公司小程序定制价格
  • 行业门户网站建站wordpress 粘贴代码
  • 分类信息网站建设系统仿牌外贸网站推广
  • 电子书网站开发网站制作软件排行榜
  • 旅游类网站模板免费下载品牌整合营销机构
  • 做外贸生意上国外网站自己免费建设网站
  • 建设玩外汇平台网站如何用dw做网站前端
  • 网站建设 php网站seo检测报告
  • 做趣味图形的网站网络营销的五个特点
  • 专业建设网站山东手机网站建设电话
  • 前端开发是做网站的吗在线设计平台的市场调研
  • 网站建设5000费用预算桂林智能网络营销好选择