吴恩达2022机器学习专项课程(一) 4.2 梯度下降实践

2024-03-29 15:52

本文主要是介绍吴恩达2022机器学习专项课程(一) 4.2 梯度下降实践,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

问题预览/关键词

  1. 本节内容
  2. 梯度下降更新w的公式
  3. 梯度下降更新b的公式
  4. =的含义
  5. α的含义
  6. 为什么要控制梯度下降的幅度?
  7. 导数项的含义
  8. 为什么要控制梯度下降的方向?
  9. 梯度下降何时结束?
  10. 梯度下降算法收敛的含义
  11. 正确更新梯度下降的顺序
  12. 错误更新梯度下降的顺序

笔记

1.本节内容

如何实现梯度下降算法

2.梯度下降更新w的公式

在这里插入图片描述

3.梯度下降更新b的公式

在这里插入图片描述

4.=的含义

表示计算机中的赋值操作,不能理解成数学中的等于操作。

5.α的含义:

希腊字母,表示学习率,通常为0-1之间很小的数,如0.01。它用来控制梯度下降的幅度。α越大,下降的步子越大。α很小,则一点点向下走。

6.为什么要控制梯度下降的幅度

控制梯度下降的幅度:学习率过高,下降幅度太大,无法下降到最低点,学习率过低,下降幅度太小,影响算法性能。

  • 如何选择合适的α:4.4课节会详细说明。

7.导数项的含义

用来控制梯度下降的方向。

  • 计算J关于w的偏导数

在这里插入图片描述

  • 计算J关于b的偏导数。
    在这里插入图片描述

8.为什么要控制梯度下降的方向?

只有控制方向,才能尽快的到达函数的局部或全局最小值。

  • 为什么求导能控制方向?4.3课节会详细说明。

  • 导数如何计算?4.5课节会详细说明。

9.梯度下降何时结束

不断更新w和b直到算法收敛,梯度下降就可以停止了。

  • 自行设置停止条件,在第一周lab_05实验代码,设置迭代10000次后自动停止。在这里插入图片描述

10.梯度下降算法收敛

优化过程中,算法逐步逼近问题的最优解或局部最优解。在线性回归中,表示梯度下降更新的w和b,已经达到成本函数J的局部最小值,此时w,b不怎么改变了。

11.更新梯度下降的正确顺序

先用旧的w和b计算,计算完成在更新w和b,即同步更新。
在这里插入图片描述

12.更新梯度下降的错误顺序

计算w然后更新w,导致计算b的过程里使用了新的w,旧的w被忽略了,导致w,b没有同步更新。
在这里插入图片描述

总结

梯度下降的具体操作是要更新w,b,公式为计算学习率乘以J关于w或b的偏导数,然后将结果赋值给新的w和b,一直重复上述过程,直到w,b的值不怎么改变了。公式中的=符号表示赋值操作,α(学习率)控制梯度下降的步幅,导数项控制梯度下降的方向。在更新w,b的时候,我们要做到同步更新。先计算旧的w,b,然后将结果更新给新的w,b。

这篇关于吴恩达2022机器学习专项课程(一) 4.2 梯度下降实践的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/859006

相关文章

学习笔记-C++

目录 1、何为常量 2、关键字  3、实型  4、水平制表符 5、string字符串  6、C++中的三目运算符 7、随机数种子  8、结构体 9、各的区  10、引用 11、函数默认参数 12、函数占位参数 13、函数重载 14、私有属性 15、让另一个类作为本类的成员 16、声明和实现的文件结构 17、构造和析构 18、拷贝构造函数 19、默认的构造函

Test-Driven Development with Python学习笔记 第一部分 测试驱动开发基础

原创时间: 2016-01-06 更新时间: 2016-01-06 TDD简介 Test-Driven Development,驱动测试开发,是一种软件开发的开发方式. 它要求在编写某个功能代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行. 我看的这本书叫,可以通过访问官网来购买或免费在线阅读 此书讲解TDD的方式是通过Django框架来开发一个We

【银角大王——Django课程——分页组件的封装源代码+使用说明】

【银角大王——Django课程——分页组件的封装源代码+使用说明】 #自定义分页组件————————自定义分页组件————————自定义分页组件"""此组件有一个小bug,处理:分页的时候,保留原来的搜索条件。http://127.0.0.1:8000/pretty/list/?q=181http://127.0.0.1:8000/pretty/list/?page=1http://12

Broad Learning System (BLS) 宽度学习系统

宽度学习(Broad Learning System, BLS)是一种有效的神经网络学习框架,旨在通过扩展网络的宽度而不是深度来提高学习能力和效率。与传统的深度学习相比,宽度学习通过堆叠多层特征节点和增强节点来构建网络,从而避免了深度学习中常见的梯度消失和复杂的训练过程。 BLS结构以及增量算法          宽度学习系统在 RVFLNN 基础上做出了改进。首先,宽度学

GPU学习记一下线程分组相关

在compute的时候,是要dispatch一个数量的代表分了多少块任务集,dispatch的块内部也是有一个数量的,那么这些值怎么取的呢 内部,N卡32 外面dispatch的数量就是all/32 然后细说这个值 这有一个叫core的东西,就是相当于thread了,那一个SM里,有不少的core,但是,有一个warp scheduler,他应该负责调度,他一次只抓32个,据说。。他可能也不是32

网络学习(一)|深入了解API网关:定义、功能和关键术语

文章目录 定义主要功能关键术语 定义 API 网关(API Gateway)是一个核心的服务架构组件,用于管理、路由和保护对后端服务的访问。它充当了系统内外的接口,负责接收来自客户端的请求,并将其路由到相应的后端服务,然后将服务的响应返回给客户端。API 网关在现代软件架构中扮演着至关重要的角色,特别是在微服务架构中。 主要功能 API 网关的主要功能包括: 安全性: AP

机器人操作系统ROS2学习—控制小海龟运动

将Ubuntu系统和ROS2安装完成后,就可以进行调用小海龟运动了。 一、打开Ubuntu系统后,调用终端窗口。有3 种方法可以打开启动终端:  1、通过快捷键Ctr+AIt+T;  2、桌面左下角有个显示应用的菜单,点击后找到终端“Terminal”图标,打开即可; 3、点击鼠标右键,选择“Open in Terminal"也能打开终端。 打开终端界面如下:  二、输入第一个

BGP学习三:BGP路由优选12条规则,闪亮登场啦啦啦啦啦

目录 一.BGP策略工具 (1)Router-policy作用 (2)组成部分 (3)router-policy注意事项 二.优选规则 ①丢弃下一跳不可达 (1)优选prefered-value值大的路由 1.首选优先级 (2)优选local-preference(本地优先级)值大的路由 (3)比较路由来源 1.手动聚合 2.自动聚合 (4)AS-path属性最短的优先

视觉识别学习笔记

1.物体识别相关的算法 物体识别相关的算法主要包括两大类:特征提取和分类器训练。以下是关于这两类算法以及具体的一些物体识别算法的概述: 特征提取: HOG(Histogram of Oriented Gradients):通过计算和统计图像局部区域的梯度方向直方图来构建特征。这种方法主要用于描述图像局部物体的表象和形状。SIFT(Scale-Invariant Feature Transfo

Vue3学习笔记 - 禹神YYDS

1. 教程介绍 https://www.bilibili.com/video/BV1Za4y1r7KE?p=1 本篇vue3,内容比较新,比如有setup语法糖用法;只是他使用TS,并不是JS;不过JS也比较熟悉了,也可以学习下TS的语法,课程使用 TypeScript + 组合式API(另一种叫选项式) + setup语法糖核心:ref / reactive / computed /