当前位置: 首页 > news >正文

【machine learning-十-grading descent梯度下降实现】

grading descent

  • 梯度下降
    • 参数更新方法 --导数和学习率
  • 从导数项直观理解梯度下降

grading descent 算法就是更新参数,今天来学习下如何更新w和b

梯度下降

还是以线性回归的均方差损失函数如下为例:
在这里插入图片描述
损失函数的可视化图如下 :
在这里插入图片描述
横轴和纵轴分别是w和b,z轴是损失值。梯度更新w和b,让损失能走到局部最小值附近,这个局部的最小值意味着,在它周围损失的变化已经很小了。

参数更新方法 --导数和学习率

更新的方法如下:

在这里插入图片描述
在这里插入图片描述是learning rate,也就是学习率。
它决定了梯度下降的幅度,也就是一次走大步,还是小步,通常学习率在0~1之间。

在这里插入图片描述这一项是导数(其实是偏导数),微积分中的概念,不过不懂也没问题,下一节会简单介绍,且刚开始不需要深入的探究。

通常情况下,正确的做法是w和b同时更新:
在这里插入图片描述
当然也有特殊的情况,非同时更新,但是很少见,所以我们按照正确的左侧做法,同时更新w和b就可以。

从导数项直观理解梯度下降

为了直观理解,还是先假设b为0,损失函数映射到二维空间上
在这里插入图片描述

通过上面的图可以看出,损失函数的最小值是在曲线的底,所以我们的目标就是要损失靠近这个点。
而导数其实是某个具体点的斜率,于是就有图中的两种情况:

  • 导数为正数,w-学习率*导数 就是在减少w,此时刚好是在靠近最小值的点
  • 导数为负数,w-学习率*导数就是在增大w,此时也是是在靠近最小值的点

也就是说无论是在最小值的左侧或者右侧的w,都能通过上面的公式,更新到靠近最小值的w点

资料来源-吴恩达《机器学习》

相关文章:

【machine learning-十-grading descent梯度下降实现】

grading descent 梯度下降参数更新方法 --导数和学习率 从导数项直观理解梯度下降 grading descent 算法就是更新参数,今天来学习下如何更新w和b 梯度下降 还是以线性回归的均方差损失函数如下为例: 损失函数的可视化图如下 : 横轴和纵轴分…...

python网络游戏

import socket import threading 客户端处理函数 def handle_client(client_socket, client_address): print(“[INFO] New connection from: {}”.format(client_address)) # 接收客户端消息并回复 while True:data client_socket.recv(1024).decode(utf-8)if not data:br…...

使用Charles抓包Android App数据

版权归作者所有,如有转发,请注明文章出处:https://cyrus-studio.github.io/blog/ 抓包环境准备 1. 下载安装charles charles下载地址:https://www.charlesproxy.com/latest-release/download.do 2. SSL代理设置 3. http代理和…...

通信工程学习:什么是VM虚拟机

VM:虚拟机 VM虚拟机(Virtual Machine)是一种通过软件模拟的计算机系统,它能够在物理计算机上模拟并运行多个独立的虚拟计算机系统。以下是关于VM虚拟机的详细解释: 一、VM虚拟机的定义与原理 定义: VM虚拟…...

C#环境搭建和入门教程--vs2022之下

目录 1.环境搭建 2.先让程序跑起来 3.C#代码结构 4.变量,输入输出介绍 5.内容输入和类型转换 1.环境搭建 我们的这个c#基础学习主要就是在这个vs2022上面进行的,我们的这个c/c使用的都是这个平台 我们首先检查一下我们的这个环境是不是完全的配置了…...

自定义类型

前言:不知不觉又过了一个礼拜。时间过的还真是快呀。好了废话不多说,今天我们来学习C语言中的结构体,联合体,枚举。 我们都知道C语言中数据类型大致被分为基本类型,自定义类型,指针类型,空类型…...

数仓项目环境搭建

目录 一、安装CentOS 1.1、修改映射关系: 1.2、免密登录: 1.3、关闭防⽕墙: 1.4、修改linux的安全机制: 1.5、修改yum源: 二、安装JDK 2.1、创建文件夹: 2.2、解压安装: 2.3、配置环境变量: 2.4、刷新环境变量: 2.5、验证: 三、安装Hadoop[伪分布式] 3.1、安装hd…...

Vue3(二)计算属性Computed,监视属性watch,watchEffect,标签的ref属性,propos属性,生命周期,自定义hook

文章目录 一 、计算属性1. 简写2. 完整写法 二、监视watch1. 监视【ref】定义的【基本类型】数据2. 监视【ref】定义的【对象类型】数据3. 监视【reactive】定义的【对象类型】数据4. 监视【ref】或【reactive】定义的【对象类型】数据中的某个属性5. 监视多个数据总结 三、wat…...

栈:只允许在一端进行插入或删除操作的线性表

一、重要术语: 栈顶、栈底、空栈 二、线性表的基本操作 三、栈的相关操作: 把线性表中的list改成stack insert改成 push delete 改成 pop 总结:“后进先出” 四、顺序栈: 缺点:栈的大小不可变 1.定义: …...

spring boot 热部署

热部署的主要作用是在服务器运行的时候可以在不关闭服务器的情况下修改代码 可以很大的提高开发效率 热部署的步骤很简单 首先&#xff0c;需要在 pom.xml 文件中引入热部署需要的依赖 <dependency><groupId>org.springframework.boot</groupId><artif…...

携手阿里云CEN:共创SD-WAN融合广域网

在9月19日举行的阿里云云栖大会上&#xff0c;犀思云作为SD-WAN领域的杰出代表及阿里云的SD-WAN重要合作伙伴&#xff0c;携手阿里云共同推出了创新的企业上云方案——Fusion WAN智连阿里云解决方案。这一创新方案不仅彰显了犀思云在SD-WAN技术领域的深厚积累&#xff0c;更体现…...

kettle从入门到精通 第八十七课 ETL之kettle kettle文件上传

1、kettle本身文件上传功能不是很友好&#xff0c;甚至是不能直接使用&#xff0c;需要调整文件上传接口才可以正常接收到文件&#xff0c;本次讲解内容主要是通过自定义插件解决这个问题。 2、通过springboot 编写简单demo&#xff0c;模拟文件上传&#xff0c;接口支持三个参…...

Algo-Lab 2 Stack Queue ADT

Lab 2: Stack & Queue ADT Part 1 ​ 这里只说一下最小栈的思路&#xff0c;我们可以在定义一个栈&#xff0c;来同步存储当前情况下的占的最小值。最小栈第一时间的想法可能是设定一个变量&#xff0c;每次push进来栈中的元素进行对比&#xff0c;保持最小值&#xff0c;…...

MySQL索引详解

前言 在数据库管理中&#xff0c;索引是提高数据检索速度的重要工具。MySQL作为流行的关系型数据库管理系统&#xff0c;提供了多种类型的索引来优化查询性能。本文将深入探讨MySQL索引的工作原理、类型、创建方法以及最佳实践。 索引简介 MySQL中的索引是一种数据库对象&am…...

fastadmin 根据选择数据来传参给selectpage输入框

文章目录 js代码php代码&#xff1a;完结 js代码 $(document).on(change,#table .bs-checkbox [type"checkbox"],function(){let url$(#chuancan).attr(data-url)urlurl.split(?)[0]let idsTable.api.selectedids(table)if(ids.length){let u_id[]ids.forEach(eleme…...

【算法】堆与优先级队列

【ps】本篇有 4 道 leetcode OJ。 目录 一、算法简介 二、相关例题 1&#xff09;最后一块石头的重量 .1- 题目解析 .2- 代码编写 2&#xff09;数据流中的第 K 大元素 .1- 题目解析 .2- 代码编写 3&#xff09;前K个高频单词 .1- 题目解析 .2- 代码编写 4&#xf…...

Java基础尚硅谷85-面向对象特征一:封装性

曾国藩说&#xff0c;基础不牢&#xff0c;很难走得远。 所以时时回顾一下Java基础&#xff0c;打好地基&#xff0c;让自己走得更稳&#xff0c;更远。 今天这节课&#xff0c;学到对自己有点价值的东西是&#xff1a; 为什么要封装&#xff1f;保护数据安全。只对外暴露极少…...

828华为云征文 | 将Vue项目部署到Flexus云服务器X实例并实现公网访问

一、Flexus云服务器X实例简介 1.1 概述 华为云Flexus X实例是华为云推出的一款创新云服务器产品&#xff0c;它主要面向中小企业和开发者&#xff0c;旨在解决传统云服务中的痛点&#xff0c;提供更加灵活、高效的云服务体验。 华为深刻洞察了中小企业和开发者在云服务应用中遇…...

828华为云征文|华为云Flexus云服务器X实例部署Xnote笔记应用

828华为云征文&#xff5c;华为云Flexus云服务器X实例部署Xnote笔记应用 前言一、Flexus云服务器X实例介绍1.1 Flexus云服务器X实例简介1.2 Flexus云服务器X实例特点1.3 Flexus云服务器X实例使用场景 二、Note Mark 介绍2.1 Xnote简介2.2 Xnote特点2.3 主要使用场景 三、本次实…...

手写数字识别案例分析(torch,深度学习入门)

在人工智能和机器学习的广阔领域中&#xff0c;手写数字识别是一个经典的入门级问题&#xff0c;它不仅能够帮助我们理解深度学习的基本原理&#xff0c;还能作为实践编程和模型训练的良好起点。本文将带您踏上手写数字识别的深度学习之旅&#xff0c;从数据集介绍、模型构建到…...

2026年需求管理工具盘点:主流软件对比、测评与选型实用指南

本文盘点 ONES、Tower、Jira、Azure DevOps、Asana、ClickUp、monday.com、Notion、Linear、YouTrack 这 10 款需求管理工具&#xff0c;围绕需求收集、拆解、优先级、追踪闭环和团队协作展开测评&#xff0c;帮助选型人员更快判断哪类工具适合自己的团队。刚做项目经理时&…...

嵌入式工程师高薪进阶指南:从软硬兼通到系统思维的跨越

1. 嵌入式行业的现状与人才困境最近几年&#xff0c;和不少同行、猎头以及企业招聘负责人聊下来&#xff0c;一个共识越来越清晰&#xff1a;嵌入式这个行当&#xff0c;正在经历一场深刻的“冰火两重天”。一方面&#xff0c;得益于树莓派、Arduino这类高度集成、生态友好的开…...

如何用一套键盘鼠标控制多台电脑:Input Leap跨平台KVM终极指南

如何用一套键盘鼠标控制多台电脑&#xff1a;Input Leap跨平台KVM终极指南 【免费下载链接】input-leap Open-source KVM software 项目地址: https://gitcode.com/gh_mirrors/in/input-leap 你是否厌倦了在办公桌上摆满多个键盘鼠标&#xff0c;每次切换设备都要重新调…...

Anubis质检报告XTR文件:从数据字段到质量评估的实战解析

1. XTR文件基础&#xff1a;GNSS质检报告的核心载体 第一次拿到Anubis生成的XTR文件时&#xff0c;我盯着满屏的缩写和数据愣了半天。这种看似晦涩的文本文件&#xff0c;实际上是GNSS数据质量的"体检报告单"。就像医院的血常规化验单需要专业解读一样&#xff0c;XT…...

Juniper设备密码恢复实战:从标准流程到疑难故障排除

1. Juniper设备密码恢复标准流程详解 遇到Juniper设备密码丢失的情况时&#xff0c;标准的单用户模式恢复是最常用的解决方案。这个过程看似简单&#xff0c;但实际操作中每个步骤都有需要注意的细节。下面我会结合自己处理过的几十个案例&#xff0c;把标准流程拆解成可落地的…...

STM32CUBEMX+Keil AC6编译提速实战:解决LWIP和绝对地址警告的坑

STM32CUBEMXKeil AC6编译提速实战&#xff1a;解决LWIP和绝对地址警告的坑 当STM32开发者从Keil AC5编译器切换到AC6时&#xff0c;往往会遇到两个典型问题&#xff1a;LWIP编译错误和绝对地址警告。本文将深入分析这些问题的根源&#xff0c;并提供经过验证的解决方案&#xf…...

Java 23新特性深度解析:向量API、FFM与开发体验优化

1. 项目概述&#xff1a;为什么我们需要关注Java 23&#xff1f;作为一名和Java打了十几年交道的开发者&#xff0c;每次看到新版本发布&#xff0c;我的第一反应不是兴奋&#xff0c;而是警惕。新特性意味着新的学习成本&#xff0c;也意味着潜在的兼容性风险。但这次&#xf…...

cann/cann-bench: Softmax算子API描述

Softmax 算子 API 描述 【免费下载链接】cann-bench 评测AI在处理CANN领域代码任务的能力&#xff0c;涵盖算子生成、算子优化等领域&#xff0c;支撑模型选型、训练效果评估&#xff0c;统一量化评估标准&#xff0c;识别Agent能力短板&#xff0c;构建CANN领域评测平台&#…...

RimWorld模组管理终极指南:3步掌握RimSort智能排序,告别游戏崩溃烦恼

RimWorld模组管理终极指南&#xff1a;3步掌握RimSort智能排序&#xff0c;告别游戏崩溃烦恼 【免费下载链接】RimSort RimSort is an open source mod manager for the video game RimWorld. There is support for Linux, Mac, and Windows, built from the ground up to be a…...

3分钟解锁Translumo:Windows平台屏幕实时翻译的终极解决方案

3分钟解锁Translumo&#xff1a;Windows平台屏幕实时翻译的终极解决方案 【免费下载链接】Translumo Advanced real-time screen translator for games, hardcoded subtitles in videos, static text and etc. 项目地址: https://gitcode.com/gh_mirrors/tr/Translumo 还…...