使用梯度下降求函数的极小值
使用梯度下降求函数的极小值
本篇文章有助于了解梯度下降。这里用函数的变量x和y进行梯度下降,目标是求函数的极小值。而深度学习中是对权重W和偏置值b进行梯度下降,目标是求损失函数的极小值。
import numpy as npfrom mpl_toolkits.mplot3d import Axes3Dfrom matplotlib import pyplot as pltimport torch# 目标函数def fun(x):return (x[0] ** 2 + x[1] - 11) ** 2 + (x[0] + x[1] ** 2 - 7) ** 2x = np.arange(-6, 6, 0.1)y = np.arange(-6, 6, 0.1)# print(x)# print(type(x))print('x,y range:', x.shape, y.shape)X, Y = np.meshgrid(x, y)# print(X)print('X,Y maps:', X.shape, Y.shape)Z = fun([X, Y])# 对函数进行可视化fig = plt.figure('fun')ax = fig.gca(projection='3d')ax.plot_surface(X, Y, Z)ax.view_init(60, 30)ax.set_xlabel('x')ax.set_ylabel('y')# 对x赋初值,不同的初始值可能得到的极小值不一样x = torch.tensor([4., 0.], requires_grad=True)optimizer = torch.optim.Adam([x], lr=1e-3)for step in range(20000):pred = fun(x)optimizer.zero_grad()pred.backward()optimizer.step()if step % 2000 == 0:print('step{} : x = {}, f(x) = {}'.format(step, x.tolist(), pred.item()))plt.show()
使用梯度下降求函数的极小值相关推荐
- 梯度下降求函数最小值C++样例
强力推荐大家阅读<深度学习的数学>一书,日本作家所写(通俗易懂),可当作课外读物阅读 #include<iostream> #include<cmath> usin ...
- 大白话5分钟带你走进人工智能-第九节梯度下降之函数最优化算法和梯度下降代码过程解析(4)
第九节梯度下降之函数最优化算法(4) 上一节中我们介绍了梯度下降的两种方式,批量梯度下降和随机梯度下降的两种方式,介绍了其具体的梯度下降的方式.本节的话,我们介绍一种函数最优化的算法.以后一听 ...
- 为什么一些机器学习模型需要对数据进行归一化?——1)归一化后加快了梯度下降求最优解的速度;2)归一化有可能提高精度...
为什么一些机器学习模型需要对数据进行归一化? http://www.cnblogs.com/LBSer/p/4440590.html 机器学习模型被互联网行业广泛应用,如排序(参见:排序学习实践).推 ...
- [Python深度学习入门]实战一·Numpy梯度下降求最小值
[深度学习入门]实战一·Numpy梯度下降求最小值 问题描述: 求解y1 = xx -2 x +3 + 0.01*(-1到1的随机值) 与 y2 = 0 的最小距离点(x,y) 给定x范围(0,3 不 ...
- 变分法(欧拉 - 拉格朗日)和梯度下降求泛函最优解
泛函的简单理解: 是的变量, 这样的就叫泛函 . 加个积分,这样的就叫积分泛函 . 欧拉 - 拉格朗日 (E - L) 公式: 定义一个能量泛函如下: 我们的目的是找到能使 取到极值的时候 的取值,所 ...
- 梯度下降求最小值和线性方程(线性回归详解)
线性回归 梯度下降法一般用于求解最小值,以下分别例举两种求最小值情况: 1)二次函数求最小值的情况 2)预测线性函数的情况(已知x和y,求解最合适的w和b,是预测误差最小) 以下就按照上述的两种情况进 ...
- matlab求函数的极小值和零点,函数的根、极小值原来可以这么求!
今天给大家介绍MATLAB命令fzero和fminbnd,fzero可以用于寻找一个函数的零点,fminbnd可以用于寻找一个函数的最小值. 以下面这个函数为例: 先用户自定义函数把上面的函数叫为fu ...
- pytorch梯度下降函数_Pytorch学习笔记6:激活函数/单层感知机/梯度下降求最小值实例...
#添加到学习笔记2末尾,直接运行.代码意义可以看注释. #需要import以下库 import torch import numpy as np from matplotlib import pypl ...
- lect01_codes03_eg梯度下降
PythonML purpose:梯度下降的实例 利用梯度下降求函数y=(x+5)^2的最小值 梯度下降算法 import numpy as np def func(x):return (x+5)** ...
最新文章
- man nfsd(rpc.nfsd中文手册)
- 第十七单元 Samba服务
- 基础练习 字母图形(找规律)
- MySql中添加用户/删除用户
- mybatis直接执行sql语句后续之一
- tomcat端口被占用的两个解决方法
- java ssh 学习_初学Java ssh之Spring 第三篇
- JavaScript 函数的length
- yanqiyetan V1.0 存档
- Web-Coration
- wget连接指定端口_WGET常用命令 WGET下载HTTPS链接
- 轻重在平衡:平衡查找树的强大威力
- crm系统服务器要求,crm系统需要配备什么云服务器
- xcb_query_extension_reply_t的解释
- java项目里bean文件夹_JavaBean的class文件必须放在WEB-INF文件夹中。()
- Android OpenGLES滤镜开发之贴纸效果
- 大型开源车牌数据集CCPD及私有车牌数据集介绍
- PMP 考试是一个骗局吗?
- Python中 axis=0、axis=1是行还是列?
- Android视频播放器ExoPlayer全屏
热门文章
- 笔记本怎么用android,电脑上如何使用Android系统
- 弘辽科技:淘宝直通车ROI怎么提升?直通车ROI多少正常?
- 深入理解Java虚拟机小结
- 什么是5G聚合路由器?
- 形容人的内核是什么意思_气场: 一个人的精神内核
- 编译原理:理解文法和语文
- 【运筹学】对偶理论 : 总结 ( 对偶理论 | 原问题与对偶问题对应关系 | 对偶理论的相关结论 ) ★★★
- js 根据身份证获取出生日期与年龄
- 虚拟机共享目录添加按钮灰色_共享按钮将成为PS4最重要的遗产
- Aquarius's Trial F - 6 HDU - 2102 A计划