具体数学原理我就不写了,这里只大讲一下数学公式
g r a d ∣ f ( x , y ) = ∂ f ∂ x i ⃗ + ∂ f ∂ y j ⃗ grad\mid{f(x,y)}=\frac{\partial f}{\partial x}\vec{i} +\frac{\partial f}{\partial y}\vec{j} grad∣f(x,y)=∂x∂f​i +∂y∂f​j ​ (二维)

g r a d ∣ f ( x , y , z ) = ∂ f ∂ x i ⃗ + ∂ f ∂ y j ⃗ + ∂ f ∂ z k ⃗ grad\mid{f(x,y,z)}=\frac{\partial f}{\partial x}\vec{i} +\frac{\partial f}{\partial y}\vec{j} +\frac{\partial f}{\partial z}\vec{k} grad∣f(x,y,z)=∂x∂f​i +∂y∂f​j ​+∂z∂f​k (三维)
最重要的是理解概念,因为以后出现更高维的就画不出来了。

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as npdef Fun(x,y):return x-y+2*x*x+2*x*y+y*ydef PxFun(x,y):    #求偏导return 1+4*x+2*y
def PyFun(x,y):return -1+2*x+2*y
fig=plt.figure(dpi=400)
ax=Axes3D(fig)X,Y=np.mgrid[-2:2:40j,-2:2:40j] #取样并做满射联合
Z=Fun(X,Y)                      #取样Z坐标打表
ax.plot_surface(X,Y,Z,rstride=1,cstride=1,cmap="rainbow")
ax.set_xlabel("x")
ax.set_ylabel("y")
ax.set_zlabel("z")#梯度下降设置步长
step=0.0008
x=-2
y=-2
tag_x=[x]
tag_y=[y]
tag_z=[Fun(x,y)]
new_x=x
new_y=y
Over=False
while Over==False:new_x-=step*PxFun(x,y)new_y-=step*PyFun(x,y)if Fun(x,y)-Fun(new_x,new_y)<7e-9:Over=Truex=new_xy=new_ytag_x.append(x)tag_y.append(y)tag_z.append(Fun(x,y))
ax.plot(tag_x,tag_y,tag_z,'k')
plt.title('(x,y)~('+str(x)+","+str(y)+')')
plt.show()

Python实现梯度下降相关推荐

  1. 基于python的梯度下降法的实现代码

    基于python的梯度下降法的实现 代码: def _numerical_gradient_no_batch(f, x):h = 1e-4 # 0.0001grad = np.zeros_like(x ...

  2. 梯度下降算法和牛顿算法原理以及使用python用梯度下降和最小二乘算法求回归系数

    梯度下降算法 以下内容参考 微信公众号 AI学习与实践平台 SIGAI 导度和梯度的问题 因为我们做的是多元函数的极值求解问题,所以我们直接讨论多元函数.多元函数的梯度定义为: 其中称为梯度算子,它作 ...

  3. python实现梯度下降求解方程斜率和截距,线性回归算法LinearRegression

    使用sklearn可以实现线性回归算法,新手练习写一个类似于线性回归的算法,进行比较. 1.调用sklearn中的LinearRegression: 导包: import numpy as np im ...

  4. python机器学习梯度下降求解逻辑回归

    Logistic Regression The data 我们将建立一个逻辑回归模型来预测一个学生是否被大学录取.假设你是一个大学系的管理员,你想根据两次考试的结果来决定每个申请人的录取机会.你有以前 ...

  5. python牛顿法寻找极值_python使用梯度下降和牛顿法寻找Rosenbrock函数最小值实例...

    Rosenbrock函数的定义如下: 其函数图像如下: 我分别使用梯度下降法和牛顿法做了寻找Rosenbrock函数的实验. 梯度下降 梯度下降的更新公式: 图中蓝色的点为起点,橙色的曲线(实际上是折 ...

  6. 梯度下降及一元线性回归[python代码](二)

    第一章.AI人工智能入门之梯度下降及一元线性回归(2) 目录 第一章.AI人工智能入门之梯度下降及一元线性回归(2) 一.线性回归是什么? 二.线性回归的应用 三.线性回归的一般形式 四.一元线性回归 ...

  7. 用Numpy搭建神经网络第二期:梯度下降法的实现

    https://www.toutiao.com/a6696699352833851908/ 大数据文摘出品 作者:蒋宝尚 小伙伴们大家好呀~~用Numpy搭建神经网络,我们已经来到第二期了.第一期文摘 ...

  8. python二元函数求导_用Excel和python实现二元函数梯度下降的人工智能,之用,excel,一元...

    梯度下降法和牛顿法的总结与比较 机器学习的本质是建立优化模型,通过优化方法,不断迭代参数向量,找到使目标函数最优的参数向量.最终建立模型 通常用到的优化方法:梯度下降方法.牛顿法.拟牛顿法等.这些优化 ...

  9. 梯度下降原理及线性回归代码实现(python/java/c++)

    "梯度下降"顾名思义通过一步一步迭代逼近理想结果,当达到一定的精度或者超过迭代次数才退出,所以所获得的结果是一个近似值.在其他博客上面基本都有一个通俗的比喻:从山顶一步步下山.下面 ...

最新文章

  1. Android饼图Pie Chart
  2. 080_获取当前页面地址
  3. verilog基础—规范化参数定义parameter
  4. Scala特质可以继承Java类及限制特质的使用
  5. 红外线摄像机的选择与使用及原理
  6. (C语言)链表的实现集合的相关操作
  7. 233网校计算机二级c语言,[233网校]2018年全国计算机二级Office高级应用精讲班_计算机二级视频教程...
  8. 七.激光SLAM框架学习之A-LOAM框架---速腾Robosense-16线雷达室内建图
  9. DBCP,C3P0,druid,HiKariCP连接池配置使用
  10. pandas读取csv文件数据并使用matplotlib画折线图和饼图
  11. CentOS dstat 命令详解(二)参数详解
  12. 图书馆管理系统UML各种图
  13. MP4提取音频文件,并且转换为16KHz采样率 16 bit
  14. 电磁兼容学习-电磁干扰三要素
  15. U盘分区了怎么恢复?详细演示两个方法
  16. 孤尽训练营打卡日记day17--面向对象
  17. Springboot整合JdbcTemplate实现分页查询
  18. 设备管理 android问号,设备管理器里有问号怎么办
  19. 中央电视台硬盘播出系统的扩展应用与维护经验(mxf 格式)
  20. linux磁盘文件大小排序,Linux中查看磁盘大小、文件大小、排序方法小结

热门文章

  1. 锚定一个点,然后在这个点上深耕
  2. 经验分享:如何系统学习 Web 前端技术?
  3. 2023辽宁大学新闻与传播硕士(MJC)专业考研成功经验分享
  4. surging教学视频资源汇总
  5. 软件需求工程与uml建模——高速公路智能服务区
  6. 大家都在用的抠图换背景软件,这些软件你知道几个?
  7. 软件测试分类(按测试阶段划分)
  8. B. Infinite Prefixes
  9. [FreeBSD] pf+altq实战[转]
  10. PHP扩展undefined symbol,基于phpx的扩展运行报错undefined symbol