【机器学习】梯度下降算法

news2024/11/17 1:47:18

梯度下降算法

这篇博客更加详细,以下只是我个人的理解

梯度下降算法原理讲解——机器学习-CSDN博客

梯度下降算法是一种优化算法,通过梯度下降找到函数最小值时的自变量值。

其基本思想是沿着梯度方向的反方向更新参数,直到逼近函数的极值或者函数值足够小,或者是到达最大迭代次数。

  1. 目标函数
  2. 求目标函数的导数和梯度值
  3. 沿着梯度方向的反方向更新参数
  4. 重复直到满足条件

以线性回归为例,通过找均方差损失函数最小值,得到最优的权重。

目标函数就是损失函数,求其导数的到关于权重的线性方程,根据权重的具体的数值求得当前的梯度值,得到梯度值后沿着梯度的反方向更新权重参数,而后重复,直到损失函数的损失值满足预设的条件。

关于导数和梯度值。

导数
导数值的大小是沿着一个点的切线的斜率值,描述的函数在该点的瞬时变化率,值越大,函数变化越快。

导数的方向是函数值增加最快的方向。如开口向上的二次函数
图中的两个向量的方向就对应了抛物线中的点的导数的方向,
沿着方向,函数值增加最快(这里的向量只代表导数方向)

在这里插入图片描述
梯度
在多变量函数中,梯度是一个向量,向量有方向,梯度的方向就指出了函数在给定点的上升最快的方向
如在a(x, y) = x² / 4 + y² / 3函数中
梯度就是对各个变量求偏导,而后合并为一个向量,有大小有方向。
通过对图像做平行于xoz和yoz的平面,平面和函数相交的抛物线就是一个变量不变,另一变量变化,导致函数值变化的函数图像。(可以理解为降维到两个变量时函数的变化)通过分别对其变量求导数,可以得到两个向量,对向量进行运算,就可以得到函数的梯度,是一个有大小有方向的向量。
单个变量来看,沿着向量的方向,函数值变大最快,同时考虑多个变量,就是对多个变量的导数方向进行合并,做向量加法,得到的向量就是该点的梯度。
沿着该梯度,函数值增加最快,分解到各自的维度,就是多个变量一同增加减少,参数的值也就更新了。
沿着梯度方向的反方向,不断的迭代收敛,最终会逼近函数的最小值,最小值的变量,也就是所求的权重值。
a(x, y) = x² / 4 + y² / 3这里的x,y就相当于两个权重 w 1 , w 2 w_1,w_2 w1,w2

在这里插入图片描述
在这里插入图片描述

两个维度的分量(红色,绿色)和为黄色的梯度(这里只表示方向,并不指示大小,黄色方向并不一定是该点的梯度方向)

梯度下降算法的核心就是沿着梯度方向的反方向进行权重变量的更新,直到目标函数,损失函数的最小值。

更新梯度时,乘以一定的系数,这个系数就被称为学习率。
直接减去梯度的值,在接近函数的最低点时,可能会过大,直接越过最低点,导致震荡。通过引入学习率,可以缓解这样的问题。后序会有参数更新的优化器,参数的更新也不仅指原始的学习率和梯度值,会引入其他的参数跟新公式。

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

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

相关文章

【LLM大模型】生成式人工智能大型语言模型的安全性:概述

生成性AI大型语言模型(LLMs)的安全性:概述 具有生成性AI能力的大型语言模型(如ChatGPT)正面临加速采用和创新。生成性AI(GAI)的日益普及不可避免地引发了对这些模型相关风险和安全性的担忧。本…

Linux 下 gdb 的使用

目录 一、概述1、安装和启动 GDB 二、 GDB 常用命令1、查看源码2、断点2.1 设置断点2.2 查看断点信息2.3 删除断点2.4 激活/禁用断点2.5 观察断点2.6 捕获信号2.7 线程中断 3、查看信息3.1 查看数据3.2 查看内存3.3 查看栈信息3.4 查看栈帧信息 4、运行、调试5、编辑和搜索 一、…

MacOS安装 Python 和 PyCharm

MacOS安装 Python3.12.5 和 PyCharm 小阿呜有话说一、MacOS安装PythonPython官网下载 二、MacOS安装PyCharmPyCharm官网下载 叮嘟!这里是小啊呜的学习课程资料整理。好记性不如烂笔头,今天也是努力进步的一天。一起加油进阶吧! 小阿呜有话说 …

发完朋友圈就“退款”?黑神话的玩家是否都是“忠实粉丝”?

​声明:此篇为 ai123.cn 原创文章,转载请标明出处链接:https://ai123.cn/2228.html 《黑神话:悟空》自上线以来,便引发了玩家社区的广泛讨论。游戏的退款现象主要受到了一些技术问题和个人体验差异的影响。部分玩家因遇…

容器的ip地址不稳定问题、联合文件系统、核对时间、制作基础镜像

在docker中部署线上考试系统 1、部署前端服务器 # 上传本地下载的dist文件,因为上传的是目录,加-r选项 scp -r D:\云计算\压缩包\项目\dist root192.168.2.50:/root/ # 创建基础容器 [rootdocker ~]# docker run -it --name c0 centos:latest /bi…

SolidityFoundry BitMap

写合约的时候,记录某个账户的bool状态很常见,例如是否领取空投等,传统的写法mapping(uint256>bool)中一个slot只能存储一个账户的信息,在其他语言中,我们经常会用到bitmap来表示标志位,如果我们可以将bi…

银行卡三要素验证如何用Java进行调用

一、什么是银行卡三要素验证? 银行卡三要素验证又叫银行卡三要素核验、银行卡三要素校验、银行卡实名认证、银行卡三元素验证,即输入银行卡卡号、姓名、身份证号码,验证此三要素是否一致,该接口支持所有带银联标识的银行卡。 二…

langchain入门系列之五 初探代理

代理的核心思想是使用LLM来选择要采取的一系列动作。 在链式结构中,一系列动作是硬编码的(在代码中)。 在代理中,使用语言模型作为推理引擎来确定要采取的动作及其顺序。 代理 这是负责决定下一步采取什么动作的类。 这是由语言…

lidar3607.2 lidar360mls7.2 强大的雷达点云数据处理应用软件

1、LiDAR360是一款强大的激光雷达点云数据处理和分析平台,拥有超过10种先进的点云数据处理算法,可同时处理超过300G点云数据。平台包含丰富的编辑工具和自动航带拼接功能,可为地形、林业、矿山和电力行业(参考LiPowerline软件&…

【HarmonyOS 4.0】@BuilderParam 装饰器

1. BuilderParam 装饰器 BuilderParam 装饰器用于装饰自定义组件(struct)中的属性,其装饰的属性可作为一个UI结构的占位符,待创建该组件时,可通过参数为其传入具体的内容。参数必须满足俩个条件: 2.1 参数类型必须是个函数&#x…

前端使用canvas绘制简单工作流-react

效果图如下: 目前只做了绘制部分,绘制方式也比较简单,点击工具栏中需要绘制的图形,在画布上左键点击将会绘制一个图形出来,工具栏选中第一个,再点击其他图像,长按鼠标左键可以移动,删…

丢掉Beyond Compare吧!新款文件差异对比工具WinMerge更具性价比!

今天想和大家分享一款非常实用的免费开源文件比较工具:WinMerge。 作为一名长期从事互联网行业的人,我经常需要处理大量的文档和代码文件,文件对比工具在我的日常工作中可谓是必不可少的“左膀右臂”。 也相信很多朋友在处理多个文档内容或者…

96页PPT集团战略解码会工具与操作流程

德勤集团在战略解码过程中通常会用到以下一些具体工具: 一、平衡计分卡(Balanced Scorecard) 财务维度: 明确关键财务指标,如营业收入、利润、投资回报率等。你可以通过分析历史财务数据和行业趋势,确定…

HUSB381A:带线PD适配器的绝佳选择

HUSB381A是慧能泰半导体全新推出的一款采用SOP8封装,集成MOS的USB PD Source芯片,带CC1和CC2引脚,支持不可分离线缆(Captive Cable)PD适配器和纯PD快充充电器应用。HUSB381A支持最大功率20V5A 100W应用,支持…

单片机驱动彩屏最简方案:单片机_RA8889最小开发板驱动控制TFT彩屏介绍(一)方案架构

本文介绍使用单片机RA8889来驱动和控制彩屏的最小方案。文章从RA8889的架构功能、硬件电路设计及软件设计三个方面来说明。 小编已发布多篇文章介绍了单片机RA8889来驱动控制彩屏,但是仍有不少单片机玩家可能对驱动彩屏还不算熟悉,在此加推一个短篇介绍…

审计发现 FBI 的数据存储管理存在重大漏洞

据The Hacker News消息,美国司法部监察长办公室 (OIG) 的一项审计发现, FBI 在库存管理和处置涉及机密数据的电子存储媒体方面存在“重大漏洞”。 OIG 的审计显示,FBI 对包含敏感但未分类 (SBU&#xff09…

橙子投屏,轻松连接大屏幕

对于某腾、某爱、某酷投屏大家在熟悉不过了吧,一款非常好用的投屏软件,但是使用起来还是限制颇多,比如有犷郜,还必须同步使用手机App才能实现投屏功能,关键还得开会员,劝退不少小伙伴。但是现在手机往往占据…

API代理指南:跨境业务的数据桥梁

在当今全球化的经济环境中,跨境业务已成为企业拓展国际市场、实现业务增长的重要途径。但面临着法律法规差异、网络复杂性和数据安全等诸多挑战。为了有效应对这些挑战,API(应用程序编程接口)代理成为了跨境业务中不可或缺的一部分…

接口自动化框架设计必备利器之参数传递

在我们设计自动化测试框架的时候,我们会经常将测试数据保存在外部的文件(如Excel、YAML)中,实现测试脚本与测试数据解耦,方便后期维护。 当涉及到业务场景接口用例时,由于接口与接口存在关联关系&#xff…

5步掌握Python Django开发办公管理系统核心技巧

🎓 作者:计算机毕设小月哥 | 软件开发专家 🖥️ 简介:8年计算机软件程序开发经验。精通Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等技术栈。 🛠️ 专业服务 🛠️ 需求定制化开发源码提…