问题描述 : 求 y=(x+5)² 的最小值,x从3开始。

我们知道当x=-5时,y=0是最小值,现在我们通过梯度下降来实现这个过程。

步骤1:初始化时从x=3开始,求出导数函数,dy/dx = 2*(x+5).

步骤2:向梯度下降方向移动,考虑如何移动,比如下没有台阶的楼梯,楼梯的斜率(倾斜度)是多少?每一步的步长是多少?我们假设斜率即learning rate→ 0.01.

步骤3:开始执行步骤2的迭代过程:

初始化参数:

迭代1:

迭代2:

步骤4:我们可以获得x的值,越来越慢,直到x=-5.那么我们需要迭代多少次呢?

python实现:

步骤1:初始化

cur_x = 3 # The algorithm starts at x=3
rate = 0.01 # Learning rate
precision = 0.000001 #This tells us when to stop the algorithm
previous_step_size = 1 #
max_iters = 10000 # maximum number of iterations
iters = 0 #iteration counter
df = lambda x: 2*(x+5) #Gradient of our function

步骤2:执行梯度下降循环:

while previous_step_size > precision and iters < max_iters:prev_x = cur_x #Store current x value in prev_xcur_x = cur_x - rate * df(prev_x) #Grad descentprevious_step_size = abs(cur_x - prev_x) #Change in xiters = iters+1 #iteration countprint("Iteration",iters,"\nX value is",cur_x) #Print iterationsprint("The local minimum occurs at", cur_x)

步骤3:

最终执行的情况

Iteration 594 
X value is -4.999950866358997
Iteration 595 
X value is -4.9999518490318176
The local minimum occurs at -4.9999518490318176

Process finished with exit code 0

梯度下降-从0开始一行代码一解释相关推荐

  1. 机器学习基础:理解梯度下降本质「附Python代码」

    https://www.toutiao.com/a6646958932096975373/ 2019-01-16 13:15:26 今天我们尝试用最简单的方式来理解梯度下降,在之后我们会尝试理解更复杂 ...

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

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

  3. 大白话5分钟带你走进人工智能-第十一节梯度下降之手动实现梯度下降和随机梯度下降的代码(6)...

                                第十一节梯度下降之手动实现梯度下降和随机梯度下降的代码(6) 我们回忆一下,之前咱们讲什么了?梯度下降,那么梯度下降是一种什么算法呢?函数最优化 ...

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

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

  5. 吴恩达深度学习 —— 2.4 梯度下降

    在上一节中学习了逻辑回归模型,也知道了损失函数,损失函数是衡量单一训练样例的效果,还知道了成本函数,成本函数用于衡量参数w和b的效果,在全部训练集上来衡量,下面我们讨论如何使用梯度下降法来训练或学习训 ...

  6. 机器学习(11)线性回归(2)实战 -- 正规方程优化、梯度下降优化(波士顿房价预测)

    目录 一.波士顿房价预测(正规方程优化) API 1.获取数据集 2.划分数据集 3.标准化 4. 创建预估器,得到模型 5.模型评估(均方差评估) 代码 二.波士顿房价预测(正规方程优化) API ...

  7. Lesson 4.34.4 梯度下降(Gradient Descent)基本原理与手动实现随机梯度下降与小批量梯度下降

    Lesson 4.3 梯度下降(Gradient Descent)基本原理与手动实现 在上一小节中,我们已经成功的构建了逻辑回归的损失函数,但由于逻辑回归模型本身的特殊性,我们在构造损失函数时无法采用 ...

  8. 大白话5分钟带你走进人工智能-第七节梯度下降之梯度概念和梯度迭代过程(2)

    第七节梯度下降之梯度概念和梯度迭代过程(2) 上一节中针对一元函数,找到了一个看起来还不错的一种寻求数值上的最小值的这种方式.大致是这么一个流程,F(w)和F'(w),上来先瞎蒙出来一组w,然后带到这 ...

  9. 梯度下降的超参数大于等于2什么意思_大白话5分钟带你走进人工智能-第七节梯度概念和梯度迭代过程(2)...

    第七节梯度下降之梯度概念和梯度迭代过程(2) 上一节中针对一元函数,找到了一个看起来还不错的一种寻求数值上的最小值的这种方式.大致是这么一个流程,F(w)和F`(w),上来先瞎蒙出来一组w,然后带到这 ...

  10. 大白话5分钟带你走进人工智能-第七节梯度下降之梯度概念和梯度迭代过程(2)...

    第七节梯度下降之梯度概念和梯度迭代过程(2) 上一节中针对一元函数,找到了一个看起来还不错的一种寻求数值上的最小值的这种方式.大致是这么一个流程,F(w)和F`(w),上来先瞎蒙出来一组w,然后带到这 ...

最新文章

  1. SRM596 DIV2 250
  2. python【蓝桥杯vip练习题库】ALGO-82 输出米字形
  3. WinCE下串口虚拟软件
  4. EnterpriseLibrary2.0系列文章及下载
  5. python进程、线程的学习心得
  6. netty系列之:netty对SOCKS协议的支持
  7. 计算机联锁软件毕设论文,铁路信号计算机联锁系统()毕设论文.doc
  8. C语言求x和y的乘积,计算方程式,求x,C语言中怎么计算x,y的值?
  9. Bootstrap-组件-3
  10. (17)Vivado IP综合选项Global和Out-Of-Context区别(FPGA不积跬步101)
  11. 利用modem发传真
  12. 边境的悍匪—机器学习实战:第十九 大规模训练和部署TensorFlow模型
  13. openpose的搭建
  14. css动画小案例(太阳地球月球运动轨迹)
  15. el-element布局控件layout中的el-row和el-col
  16. 高一c语言期末试题,江苏省海安高中2020-2021学年高一上学期期中考试信息技术试题 Word版含答案...
  17. 全国计算机等级考试python教材.pdf_全国计算机等级考试二级教程Python语言程序设计(2018年版).PDF...
  18. Cannot find module 'xxx' 错误的解决方案
  19. 星志远电商:拼多多头像如何保存?
  20. 程序员刚写完代码 , 就被开除了

热门文章

  1. 明显调用的表达式前的括号必须具有(指针)函数类型
  2. MySQL使用小技巧(二)——MySQL忘记密码怎么办
  3. Git环境配置(案例:clone bert源码到本地仓库)
  4. 新人如何使用git加入到团队开发中
  5. Oracle用户密码过期的处理方法
  6. webpack多环境(dev stg prd qa)打包问题
  7. 去除DataTable重复数据的三种方法(转)
  8. 线上问题排查命令----Shell篇
  9. cin.ignore()函数的用法
  10. win7 64位_VS2010的fftw3配置