MachineLearningWu_4_GradientDescent

news2024/11/18 17:50:56

我们在上一个章节中学习了损失函数,我们的最终目的是要求得损失函数最小化的weight和bias,那么如何做到这一点呢,我们引入梯度下降算法,

请添加图片描述

请注意,对于Linear Regression + MSE,你得到的J(w, b)和w, b的图必然是一个如大碗状的凸函数,而策略Gradient Descent只是决定你该如何下降到这个最低点。但是对于别的模型,你的损失函数图可能会存在多个局部最优点,你会去往哪个最低点,这往往取决于你的起始点(权重初始化)和baby-step大小(learning rate),如下,

请添加图片描述

我们将上面的下降过程通过数学表达式的方式来呈现,我们的结果如下,偏微分部分决定了下降方向,alpha决定了步子的大小。需要注意到是,我们的W和b是同步更新的,即在计算b时我们使用的是未更新的W。

请添加图片描述

为了对GD中的偏导数有一个更直观的理解,我们同样将bias=0,然后观察weight在GD中的变化,我们发现初始点不论是在最低点的左侧或者右侧,GD算法都很好地做到了他应该做的事情:将J(W)下降到最小

请添加图片描述

接下来我们将重点探讨一下Learning Rate学习率带来的变化。如果Learing rate选取的太小,那么收敛地会很慢;如果Learning rate选取的太大,那么可能会fail to converge无法收敛,

请添加图片描述

而局部最优解的存在更是破坏性的,这会使得你的导数在局部最优解时无法进行移动,始终保持在局部最优解。

请添加图片描述

接下来我们将会把上面学习到的知识全部结合起来,即我们使用Linear R的model,使用MSE的策略,使用Grandient D的算法。

请添加图片描述

在Gradient D中我们需要求取偏导,对于w和b的偏微分的求取过程如下,

请添加图片描述

当我们采用Linear R作为模型,而使用MSE作为策略时,我们的J函数永远都是Convex func,如下,

请添加图片描述

而整个梯度下降法的拟合过程如下所示,

请添加图片描述

但是往往我们并不会选取全部的数据进行训练,我们会使用一个Batch的数据进行训练,于是有了BGD或者mini-BGD,如下,

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/729859.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AIGC - Stable Diffusion 多重控制网络 ControlNet (OpenPose + Depth) 配置

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/131603523 Multi-ControlNet 是 Stable Diffusion 的一个功能,让用户用不同的空间条件来控制图像生成的过程。例如,可以用…

【高并发网络通信架构】2.引入多线程实现多客户端连接的tcp服务端

目录 一,往期文章 二,代码实现 一,往期文章 【高并发网络通信架构】1.Linux下实现单客户连接的tcp服务端 二,代码实现 关键代码 因为accept是阻塞等待客户端连接,当客户端连接成功后才会执行accept后面的代码&…

简介Maven结构与配置方法

一、Maven是什么 Maven是apache旗下的一个开源项目,是一款用于管理和构建java项目的工具。 它有什么用呢? 比如我以前要IOUtils这个包,那要到网站下去下载下来,再导入。 当jar包多的时候,一个一个导出,…

开源Cillium项目为容器提供强大的网络功能

试验性的开源Cillium项目使用Linux内核的一项现有特性,为容器提供高速、强大的网络功能。一项名为Cilium的开源项目试图基于Linux内核中所用的技术,为容器提供一种新的网络方法。 试验性的开源Cillium项目使用Linux内核的一项现有特性,为容器…

ARM中断实验

#ifndef __KEY_H__ #define __KEY_H__#include "stm32mp1xx_rcc.h" #include "stm32mp1xx_gpio.h" #include "stm32mp1xx_exti.h" #include "stm32mp1xx_gic.h"//对RCC/GPIO/EXTI章节的初始化 void hal_key1_exti_init();//对GIC的初始…

算法笔记(Java)——链表篇

链表类问题通常比较简单,面试中应该不会出现这么简单的题型,需要注意的地方只有两个: 使用虚拟头节点增加便捷性判断链表是否有环 使用虚拟头节点 力扣题目链接: 203. 移除链表元素 这道题目比较简单,但是使用虚拟…

使用pyhton将文件夹内多个excel表格合并成总表

前言: 本文讲述使用python将需要处理的文件夹内多个excel文件内容进行合并,并输出为xlsx格式的总表。就比如一个文件夹里又有许多子文件夹,这些子文件夹里分布有excel文件,这里的python文件就能将这个文件夹内的所有excel文件进行…

【SpringMVC】| SpringMVC执行流程(含源码分析)

目录 SpringMVC执行流程 1. SpringMVC常用组件 2. DispatcherServlet初始化过程(源码分析) 3. DispatcherServlet调用组件处理请求 4. SpringMVC的完整执行流程 图书推荐:Spring Cloud Alibaba核心技术与实战案例 SpringMVC执行流程 1…

2.3.cuda驱动API-上下文管理设置及其作用

目录 前言1. CUcontext总结 前言 杜老师推出的 tensorRT从零起步高性能部署 课程,之前有看过一遍,但是没有做笔记,很多东西也忘了。这次重新撸一遍,顺便记记笔记 本次课程学习精简 CUDA 教程-Driver API 上下文管理设置及其作用 课…

css 中的几种颜色格式

css 中的几种颜色格式 css有一系列不同的颜色格式: 十六进制代码、RGB()、HSL()、lch()等等。 我们在使用的时候可能并不太注重这些。但是它们之前存在非常重要区别。本文会介绍不同的颜色格式及区别。 命名颜色 这并不是一种真正的颜色格式,但是对于初学者还是…

kube-proxy代理模式详解

kube-proxy代理模式详解 kube-proxy当前支持以下几种代理模式: 1、userspace:最早的负载均衡方案,它在用户空间监听一个端口,所有服务通过iptables转发到这个端口,然后在其内部负载均衡到实际的Pod。该方式最主要的问…

如何让大型语言模型(LLMs)遵守道德原则?

我们知道像ChatGPT那样的大型语言模型提供了内容审查机制,我们从openai的官方文档中可以看到open提供了Moderation的内容审查机制,主要包含以下11个方面: 从官方文档上看这11方面的审核机制似乎只停留在严格的法律层面的审查,但是对于那些没…

Java web开发--springboot

Java web开发--springboot Java有很多web框架 但是有的框架不是很好用:比如Java Servlets(个人感觉)不好调试,WEB-INF文件关联来关联去很烦躁,启动后 crtlc还关闭不了(我一般习惯用ctrlc命令来关闭服务).导致后面我调试springboot时一直报错,原来是Java Servlets的服务没关(我习…

Handshake failed due to invalid Upgrade header: null 解决方案以及连接60s,信息不交互,连接断开

Handshake failed due to invalid Upgrade header: null 解决方案以及连接60s,信息不交互,连接断开 1. 问题背景:因为后端用了nginx代理,所以websocket连接的过程中报错:Handshake failed due to invalid Upgrade hea…

[MySQL]数据类型(图文详解)

[MySQL]数据类型 文章目录 [MySQL]数据类型1. 数据类型分类2. 数值类型2.1 bit类型2.2 tinyint类型2.3 float类型2.4 decimal类型2.5 char类型2.6 varchar类型2.7 日期和时间类型2.8 enum和set类型 1. 数据类型分类 2. 数值类型 说明: 数值类型在定义时不加unsign…

【雕爷学编程】Arduino动手做(154)---AFMotor电机扩展板模块

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&am…

备忘录模式的学习与使用

1、备忘录模式的学习 当您需要在不破坏封装性的前提下保存和恢复对象的状态时,备忘录模式是一种有用的设计模式。备忘录模式允许您将对象的状态保存到备忘录对象中,并在需要时从备忘录中恢复状态。这种模式分离了状态的保存和恢复逻辑,使得对…

stm32usart+中断接收定长数据

文章目录 前言一、cubemx的配置二、代码编写1.主函数在这里插入图片描述2. it.c 总结 前言 中断接收固定的数据值。 一、cubemx的配置 开启USART1 打开NVIC中断 二、代码编写 1.主函数 #define RxBuf_SIZE_1 50 //USART1接收缓冲区大小 #define MainBuf_SIZE_1 50 //USAR…

实现会议管理功能

目录 生成原始会议数据 一、数据结构 二、添加测试数据 查询会议列表分页数据(后端) 一、业务分析 二、编写持久层代码 三、编辑业务层代码 四、编写Web层代码 查询成员列表(后端) 一、编写持久层代码 二、编写业务层…

Mybatis-plus——查询条件设置+字段映射和表名映射

查询条件设置 等匹配查询 假如要进行登录查询的话&#xff0c;需要用到如下的等匹配&#xff0c;在实际的登录中应该做md5加密&#xff0c;从查询条件取出密码。 //条件查询LambdaQueryWrapper<mpdb> lqwnew LambdaQueryWrapper<mpdb>();//模拟登陆查询等匹配lqw…