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

为什么机器学习中梯度下降是减去斜率,而不是按照其数学意义减去斜率的倒数

做个简单假设,Loss函数的某一个参数的函数曲线是二次方程,其导数函数为 r = 2 ∗ w r = 2*w r=2w

按照斜率意义来看,要减去斜率倒数

在这里插入图片描述
降低LOSS需要将w1更新为w2,所以更新公式 w = w − Δ L Δ w w = w - \frac{\Delta L}{\Delta w} w=wΔwΔL Δ L \Delta L ΔL可以看成学习率。比如取0.01,斜率为 2 ∗ w 2* w 2w模拟如下

结果:
在这里插入图片描述

可以看到在第三次下降的时候,损失函数反而增大,并且w越过本该取的使LOSS最小的0值,沦为负值。

引起如此原因就是随着LOSS接近最小值,其对应的斜率变小,其倒数就变得越大,也就是说,越靠近最小值,调整幅度越大,关键时刻变得冒进起来。

替换成减去斜率

当我们将更新公式替换成 w = w − Δ L ∗ ( 2 ∗ w ) w = w - \Delta L * (2 * w) w=wΔL(2w)

def w_refesh_1(w):
    return w - (0.1 * (2 * w)) #唯一区别

结果:
在这里插入图片描述

可以看到损失函数越来越小,w也未过界。

也就是说,斜率越大,就越远离最小值,此时就可以稍微大胆点进行调整,越靠近最小值,斜率越小,调整幅度随之变小,关键时刻变得谨慎起来。


http://www.kler.cn/a/525060.html

相关文章:

  • 全程Kali linux---CTFshow misc入门(14-24)
  • C++,STL 简介:历史、组成、优势
  • Linux基础指令
  • 使用 Redis 实现分布式锁的基本思路
  • 中文输入法方案
  • 网易云音乐歌名可视化:词云生成与GitHub-Pages部署实践
  • Java教程练习:学生信息管理系统
  • [STM32 - 野火] - - - 固件库学习笔记 - - -十三.高级定时器
  • 【AutoSar】汽车诊断标准协议UDS详解
  • 常见的同态加密算法收集
  • 【最后203篇系列】007 使用APS搭建本地定时任务
  • 1.27补题 回训练营
  • ODP(OBProxy)路由初探
  • 【starrocks学习】之catalog
  • java面试题:10个线程如何按顺序分别输出1-100
  • Airflow:掌握Airflow调度器基本原理
  • LangChain的开发流程
  • HTB:Active[RE-WriteUP]
  • Go语言中的Select
  • 芯片AI深度实战:进阶篇之vim内verilog实时自定义检视
  • 03链表+栈+队列(D2_栈)
  • Windows 11 应用开发实战指南
  • 【Elasticsearch 】悬挂索引(Dangling Indices)
  • 指针的介绍3后
  • Kafka 日志存储 — 磁盘存储
  • LeetCode:40. 组合总和 II(回溯 + 剪枝 Java)