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

机器学习(3)梯度下降

一、梯度下降(Gradient Descent)

1. 基本概念

        梯度下降(Gradient Descent) 是一种用于 最小化代价函数 J(w,b)J(w,b)J(w,b) 的优化算法。

它的思想非常直观:

环顾四周,选择让代价函数下降最快的方向,然后沿着该方向走一步。然后在新的位置重复这个过程,直到到达最低点。这种“下山”的过程,就是梯度下降。

2. 核心思想(Intuition)

        假设你站在一座山上,天气太黑看不清地形。你只能摸索坡度最陡的方向(即梯度方向的反方向)一步步往下走。

  • 每次往下走一步,就更新当前点的位置。

  • 最终到达的山谷底部,就是 代价函数的最小值

这个最小点被称为:

局部最小值(Local Minimum)
        如果代价函数是凸函数(如线性回归中的碗状函数),那么局部最小值同时也是全局最小值(Global Minimum)

3. 参数更新公式(Update Rule)

梯度下降通过不断调整参数 w 和 b,让代价函数 J(w,b) 逐步减小。

公式如下:

其中:

符号含义
α学习率(Learning Rate)
对权重 w 的偏导数(梯度)
对偏置 b 的偏导数
“:=”表示赋值更新

补充: 同步更新的重要性

更新时,w 和 b 必须 同时更新(Simultaneous Update)

  • 不应先更新 w 再用新的 w 去计算 b;

  • 否则会导致不一致的结果,收敛路径混乱。

4. 梯度方向与代价变化

  • 梯度(Gradient) 表示函数上升最快的方向。

  • 因此,我们沿着 梯度的反方向 更新参数,才能让代价下降。

数学上:

  • 当梯度为正:说明函数在该点处上升 → 我们应减小 w

  • 当梯度为负:说明函数在该点处下降 → 我们应增大 w

通过不断调整,J(w,b) 的值会持续减小,直到达到最小点。

5. 学习率 α\alphaα 的选择

学习率(Learning Rate)控制了每一步的前进速度

学习率大小效果图示描述
太小下降速度慢,训练时间长缓慢接近最低点
太大可能跨过最低点,甚至震荡发散跳过碗底
合适稳定快速收敛顺滑下降到最小值

当代价函数到达最小点时:
        梯度 =0,此时更新量为 0,w,b 不再变化。

示意图:

        学习率太小 → 慢慢下降到谷底

        学习率太大 → 直接跳过谷底、来回震荡


二、线性回归的梯度下降(Gradient Descent for Linear Regression)

1. 代价函数回顾

线性回归的代价函数定义为:

其中:

2.梯度公式推导

我们要求出代价函数对 w 和 b 的偏导数:

3.参数更新公式(线性回归专用)

将梯度代入更新规则:

4.特点分析

  • 代价函数是凸函数(Convex Function)

    • 形状像一个“碗”;

    • 没有多个局部最小值;

    • 因此梯度下降一定能收敛到全局最优解

  • 每次更新都让 J(w,b) 更小

    • 通过迭代逐步逼近最优参数。

5. 举例说明(Intuitive Example)

假设我们在训练一个简单的线性模型来预测房价:

x(房屋面积)y(房价)
50150
100300
150450

初始参数: w=0,b=0

每次迭代:

  1. 根据当前 w,b 计算预测值;

  2. 计算误差(预测 - 实际);

  3. 计算代价函数 J(w,b);

  4. 根据梯度更新 w,b。

经过若干次更新后,模型会逐步收敛到最佳拟合直线。

 6.小结(Summary)

项目内容
目标最小化代价函数 J(w,b)J(w,b)J(w,b)
更新规则w:=w−α∂J∂ww := w - \alpha \frac{\partial J}{\partial w}w:=w−α∂w∂J​,b:=b−α∂J∂bb := b - \alpha \frac{\partial J}{\partial b}b:=b−α∂b∂J​
学习率控制更新步长
同步更新w,bw,bw,b 同时更新
可视化曲面下降、等高线收敛
线性回归的特性代价函数为凸函数,仅有一个全局最小值
http://www.dtcms.com/a/500996.html

相关文章:

  • 深圳知名网站设计公司排名企业网站源码变现方法
  • 基于springboot的美食城服务管理系统
  • 公司网站维护与更新外贸搜索引擎
  • 国庆爆火的Sora2使用初探和实例生成
  • 迪拜哪个网站是做网站的河北邢台贴吧
  • 【与C++的邂逅】--- 继承和多态扩展
  • 做网站现在用什么语言jsp怎么做网站
  • 有什么网站可以下做闭软件大气科技类企业公司网站源码
  • Render Scale Scaling Up and Down
  • 挂别人公司做网站可以吗wordpress 高级选项
  • 网站百度快照更新高校资源网网站建设方案
  • LangGraph学习笔记(五):langgraph多轮对话下的短期记忆
  • DVWA靶场(Damn Vulnerable Web Application)
  • 可执行程序启动优化与依赖隔离案例(通过 dlopen 插件化)
  • 宁波建设银行网站首页网站建设硬件和软件技术环境配置
  • 基础的IO
  • 网站结构优化建议政务服务网站建设运行情况
  • 住建部建设厅官方网站中国空间站组合体
  • asp.net mvc 网站开发之美网站建设解决方案好处
  • 百度云服务器搭建网站步骤百度怎么做网站广告
  • USART--串口
  • 天津做网站哪个公司好上海搬家公司收费
  • vs做网站链接sql创建一个网站的最常用的方法是先建立一个文件夹
  • C++:从0开始学习链表
  • TPFanCtrl2,一款ThinkPad风扇控制工具
  • 辽宁地矿建设集团有限公司网站办办网官网
  • 网站建设协议书 印花税阿里巴巴网站域名注册
  • Redis的过期策略与内存淘汰机制
  • 从架构到体验:友猫社区平台的全栈技术解析与功能体系详解
  • 鸿蒙开发环境安装以及桌面应用开发