梯度下降-从0开始一行代码一解释
问题描述 : 求 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开始一行代码一解释相关推荐
- 机器学习基础:理解梯度下降本质「附Python代码」
https://www.toutiao.com/a6646958932096975373/ 2019-01-16 13:15:26 今天我们尝试用最简单的方式来理解梯度下降,在之后我们会尝试理解更复杂 ...
- 梯度下降及一元线性回归[python代码](二)
第一章.AI人工智能入门之梯度下降及一元线性回归(2) 目录 第一章.AI人工智能入门之梯度下降及一元线性回归(2) 一.线性回归是什么? 二.线性回归的应用 三.线性回归的一般形式 四.一元线性回归 ...
- 大白话5分钟带你走进人工智能-第十一节梯度下降之手动实现梯度下降和随机梯度下降的代码(6)...
第十一节梯度下降之手动实现梯度下降和随机梯度下降的代码(6) 我们回忆一下,之前咱们讲什么了?梯度下降,那么梯度下降是一种什么算法呢?函数最优化 ...
- 梯度下降原理及线性回归代码实现(python/java/c++)
"梯度下降"顾名思义通过一步一步迭代逼近理想结果,当达到一定的精度或者超过迭代次数才退出,所以所获得的结果是一个近似值.在其他博客上面基本都有一个通俗的比喻:从山顶一步步下山.下面 ...
- 吴恩达深度学习 —— 2.4 梯度下降
在上一节中学习了逻辑回归模型,也知道了损失函数,损失函数是衡量单一训练样例的效果,还知道了成本函数,成本函数用于衡量参数w和b的效果,在全部训练集上来衡量,下面我们讨论如何使用梯度下降法来训练或学习训 ...
- 机器学习(11)线性回归(2)实战 -- 正规方程优化、梯度下降优化(波士顿房价预测)
目录 一.波士顿房价预测(正规方程优化) API 1.获取数据集 2.划分数据集 3.标准化 4. 创建预估器,得到模型 5.模型评估(均方差评估) 代码 二.波士顿房价预测(正规方程优化) API ...
- Lesson 4.34.4 梯度下降(Gradient Descent)基本原理与手动实现随机梯度下降与小批量梯度下降
Lesson 4.3 梯度下降(Gradient Descent)基本原理与手动实现 在上一小节中,我们已经成功的构建了逻辑回归的损失函数,但由于逻辑回归模型本身的特殊性,我们在构造损失函数时无法采用 ...
- 大白话5分钟带你走进人工智能-第七节梯度下降之梯度概念和梯度迭代过程(2)
第七节梯度下降之梯度概念和梯度迭代过程(2) 上一节中针对一元函数,找到了一个看起来还不错的一种寻求数值上的最小值的这种方式.大致是这么一个流程,F(w)和F'(w),上来先瞎蒙出来一组w,然后带到这 ...
- 梯度下降的超参数大于等于2什么意思_大白话5分钟带你走进人工智能-第七节梯度概念和梯度迭代过程(2)...
第七节梯度下降之梯度概念和梯度迭代过程(2) 上一节中针对一元函数,找到了一个看起来还不错的一种寻求数值上的最小值的这种方式.大致是这么一个流程,F(w)和F`(w),上来先瞎蒙出来一组w,然后带到这 ...
- 大白话5分钟带你走进人工智能-第七节梯度下降之梯度概念和梯度迭代过程(2)...
第七节梯度下降之梯度概念和梯度迭代过程(2) 上一节中针对一元函数,找到了一个看起来还不错的一种寻求数值上的最小值的这种方式.大致是这么一个流程,F(w)和F`(w),上来先瞎蒙出来一组w,然后带到这 ...
最新文章
- SRM596 DIV2 250
- python【蓝桥杯vip练习题库】ALGO-82 输出米字形
- WinCE下串口虚拟软件
- EnterpriseLibrary2.0系列文章及下载
- python进程、线程的学习心得
- netty系列之:netty对SOCKS协议的支持
- 计算机联锁软件毕设论文,铁路信号计算机联锁系统()毕设论文.doc
- C语言求x和y的乘积,计算方程式,求x,C语言中怎么计算x,y的值?
- Bootstrap-组件-3
- (17)Vivado IP综合选项Global和Out-Of-Context区别(FPGA不积跬步101)
- 利用modem发传真
- 边境的悍匪—机器学习实战:第十九 大规模训练和部署TensorFlow模型
- openpose的搭建
- css动画小案例(太阳地球月球运动轨迹)
- el-element布局控件layout中的el-row和el-col
- 高一c语言期末试题,江苏省海安高中2020-2021学年高一上学期期中考试信息技术试题 Word版含答案...
- 全国计算机等级考试python教材.pdf_全国计算机等级考试二级教程Python语言程序设计(2018年版).PDF...
- Cannot find module 'xxx' 错误的解决方案
- 星志远电商:拼多多头像如何保存?
- 程序员刚写完代码 , 就被开除了