废话不多说,放几张图上来。

找到这个函数的极小值点,用机器学习的方法,简单来说就是利用梯度下降去更新权值。代码如下:

import numpy as np
from mpl_tookkits.mplot3d import Axes3D
from matplotlibs import pyplot as plt
import torchdef himmelblau(x):return (x[0]**2 + x[1] - 1)**2 + (x[0] + x[1]**2 -7) **2x=np.arange(-6,6,0.1)
y=np.arange(-6,6,0.1)
print('x,y range:',x.shape,y.shape)
X,Y = np.meshgrid(x,y)
print('X,Y maps:',X.shpe,Y.shape)
Z = himmelblau([X,Y])fig = plt.figure('himmelblau')
ax = fig.gca(prediction='3D')
ax.plot_surface(X,Y,2)
ax.view_init(60,-30)
ax.set_xlabel('x')
ax.set_ylabel('y')
plt.show()x=torch.tensor([0.,0.],requires_grad=True)
optimizer = torch.optim.Adam([x],lr=1e-3)
for step in range(20000):pred = himmelblau(x)optimizer.zero_grad()pred.backward()optimizer.step()if step % 2000 == 0:print('step {}: x={}, f(x) = {}'.format(step,x.tolist(),pred.item()))

xxx这个人讲的东西不错的。

神经网络反向传播寻找极小值小实例相关推荐

  1. 学习笔记84—[深度学习]神经网络反向传播(BackPropagation)

    神经网络反向传播实例推导过程: 说到神经网络,大家看到这个图应该不陌生: 这是典型的三层神经网络的基本构成,Layer L1是输入层,Layer L2是隐含层,Layer L3是隐含层,我们现在手里有 ...

  2. 神经网络-反向传播算法

    一.前言 这是一场以误差(Error)为主导的反向传播(Back Propagation)运动,旨在得到最优的全局参数矩阵,进而将多层神经网络应用到分类或者回归任务中去. 前向传递输入信号直至输出产生 ...

  3. 【机器学习笔记】神经网络反向传播算法 推导

    神经网络反向传播算法 推导 (一) 概念及基本思想 (二)信息的前向传播 (三)误差反向传播 (1)输出层的权重参数更新 (2)隐藏层的权重参数更新 (3)输出层与隐藏层的偏置参数更新 (4)反向传播 ...

  4. 神经网络反向传播梯度计算数学原理

    [神经网络]反向传播梯度计算数学原理 1 文章概述 本文通过一段来自于Pytorch官方的warm-up的例子:使用numpy来实现一个简单的神经网络.使用基本的数学原理,对其计算过程进行理论推导,以 ...

  5. 7.神经网络反向传播

    文章目录 1.神经网络反向传播的作用 2.神经网络反向传播的流程 3.梯度检测 4.随机初始化 总结 1.神经网络反向传播的作用   在上一节中学到的输入通过隐藏层汇总计算最后到输出层的流程是神经网络 ...

  6. 神经网络反向传播为什么快

    神经网络反向传播为什么快 为什么从后往前算梯度而不是从前往后算梯度? 首先要有链式法则的认知.然后举个最简单的例子,每个神经元都会有激活函数,当系数(比如w)更新,根据链式求导法则,最终的loss对w ...

  7. 实例分解神经网络反向传播算法(转)

    说到神经网络,大家看到这个图应该不陌生: 这是典型的三层神经网络的基本构成,Layer L1是输入层,Layer L2是隐含层,Layer L3是隐含层,我们现在手里有一堆数据{x1,x2,x3,.. ...

  8. BP神经网络(反向传播算法原理、推导过程、计算步骤)

    BP神经网络 1.反向传播算法的原理 2.反向传播算法参数学习的推导 3.反向传播算法参数更新案例 3.1 反向传播的具体计算步骤 3.1.1 计算输出层的误差 3.1.2 计算隐藏层误差 3.1.3 ...

  9. 吴恩达机器学习作业Python实现(四):神经网络(反向传播)

    吴恩达机器学习系列作业目录 1 Neural Networks 神经网络 在这个练习中,你将实现反向传播算法来学习神经网络的参数.依旧是上次预测手写数数字的例子. 1.1 Visualizing th ...

最新文章

  1. Oracle 截取字符串,取系统时间
  2. nginx实现,一推多用(rtmp推流,rtmp+flv+hls(m3u8)同时拉流),使用案例+使用方法
  3. 006 技能数组分析和代码编写
  4. 【NLP】ACL2020 | 词向量性别偏见
  5. Oracle关联更新语法(T-SQL中的update...from)
  6. linux上还原自主nuget包需要注意的问题
  7. 程序员离职后12天,被前领导命令回去讲清代码?小伙直接说收费
  8. 【Antlr】 Antlr 错误与恢复
  9. android wpa2 wifi,让Android WiFi支持中文
  10. 不规则矩形中心求法 c语言,不规则矩形
  11. Fluentd日志处理-tail拉取(三)
  12. 计算机ping使用的端口,ping 端口:Ping端口命令的使用方法介绍
  13. 台式电脑主板插线步骤图_图解电脑主机电源线接法图解
  14. 服务器系统怎么安装网卡驱动,网卡驱动怎么安装,教您网卡驱动的安装操作
  15. Mac下清除所有缓存
  16. 推荐一个专利检索的网站
  17. 【转】我的算法学习之路
  18. SpringCloud核心教程 | 第四篇:服务注册与发现 Consul篇
  19. 高精度练习之超大整数开根
  20. H5 直播的疯狂点赞动画是如何实现的?(附完整源码)

热门文章

  1. php正则表达式修正符,深入解析PHP正则模式修正符
  2. ICP算法与Kdtree
  3. 数据结构 4 字符匹配-KMP算法
  4. pytorch学习笔记(三十七):RMSProp
  5. Ablative analysis(消融分析)
  6. Anaconda中如何查看已经安装的包
  7. Unicode和ASCII的区别
  8. 数据库联结使用及分类
  9. 从持续交付看敏捷开发的自相似性(敏捷开发的心跳)
  10. 【算法】组合数学——排列数生成算法详解(一)