news 2026/7/23 3:36:05

准大二学生从0开始学AI——机器学习Day3

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
准大二学生从0开始学AI——机器学习Day3

---

type: daily_note

title: Phase 2.1 Day 3 — 梯度下降

date: 2026-07-22

person: 吴恩达

phase: "2.1"

day: 3

topics: [梯度下降, 学习率, 批量梯度下降]

---

# 2026-07-22 学习笔记

## 笔记区(学的时候随手记)

### 核心观点

- **MSE(Mean Squared Error,均方误差)**:线性回归的代价函数,衡量预测值偏离真实值的程度。公式 J = 1/(2m) × Σ(ŷ - y)²。ŷ-y 是误差,平方是为了放大大误差,Σ/m 是平均,1/2 是为了求导时消掉系数

- **梯度下降的目标**:通过迭代更新参数 w 和 b,使代价函数 J(w,b) 达到最小值

- **核心公式**:w := w - α·∂J/∂w,b := b - α·∂J/∂b(同时更新)

- **减号的物理意义**:梯度指向 J 增大最快的方向(上坡),减号=逆着走=下坡

- **学习率 α**:控制每一步走多大——太大震荡不收敛,太小收敛太慢

- **批量梯度下降(Batch GD)**:每一步更新参数时,使用**全部**训练样本计算平均梯度

- **凸函数**:线性回归的 MSE 代价函数是凸函数(碗状),只有一个全局最小值

- **同步更新**:∂J/∂w 和 ∂J/∂b 都用同一组 (w,b) 计算,算完再一起更新

### 关键方法/流程

```

批量梯度下降完整流程:

1. 初始化 w=0, b=0

2. 重复直到收敛:

a. 用当前 (w,b) 算所有样本的预测值 ŷ = wx + b

b. 计算平均梯度:

∂J/∂w = 1/m × Σ(ŷⁱ - yⁱ) × xⁱ

∂J/∂b = 1/m × Σ(ŷⁱ - yⁱ)

c. 同时更新:

w = w - α × ∂J/∂w

b = b - α × ∂J/∂b

```

### 梯度推导(心算验证)

样本:(100,98), (200,96), (300,94),初始化 w=0, b=0

- ŷ = 0·x + 0 = 0(所有样本)

- ∂J/∂w = 1/3 × [(-98)(100) + (-96)(200) + (-94)(300)] = -19066.67

- ∂J/∂b = 1/3 × [-98 + (-96) + (-94)] = -96

- w_new = 0 - 0.01 × (-19066.67) = 190.67

- b_new = 0 - 0.01 × (-96) = 0.96

> 后续迭代:用 w=190.67, b=0.96 继续重复这个过程,直到 J 不再明显下降

---

## 线索区(学完后合上材料,自问自答)

> 先看问题 → 自己回答 → 点开对照。答不上来的就是没学透。

**Q: 梯度下降的核心公式是什么?为什么是减号?**

A: w = w - α·∂J/∂w。梯度 ∂J/∂w 指向 J 增大最快的方向(上坡),减号意味着逆着方向走,即下坡。验证:梯度为正(右边高)→ w 减小往左走;梯度为负(左边高)→ w 增大往右走。

**Q: "同时更新"(simultaneous update)是什么意思?不这么做会怎样?**

A: 计算 ∂J/∂w 和 ∂J/∂b 时都使用当前的 (w,b) 值。两个梯度都算完后,再一起更新 w 和 b。如果先更新 w 再用新 w 算 ∂J/∂b,会导致用"新值算旧值"的逻辑错误。

**Q: 学习率 α 太大和太小分别有什么影响?**

A: α 太大 → 每一步迈太大,可能跨过最低点,来回震荡不收敛;α 太小 → 每步走太少,收敛很慢,效率低。

**Q: 为什么线性回归的梯度下降能找到全局最小值?**

A: 线性回归的 MSE 代价函数是凸函数(convex),形状像碗,只有一个最低点,所以局部最小值就是全局最小值。

**Q: MSE 是什么?公式里每个部分代表什么?为什么用平方?为什么还有 1/2?**

A: MSE = Mean Squared Error(均方误差),是线性回归用的代价函数。J = 1/(2m) × Σ(ŷ - y)²。ŷ-y 是每个样本的预测误差;平方让正负误差不抵消,同时放大大误差(惩罚大偏差);Σ/m 取平均,消除样本数量影响;1/2 是 Ng 加的,求导时平方项的 2 被消掉,公式更简洁。

**Q: 为什么叫"批量"梯度下降?这里的"批量"指什么?**

A: "批量"(batch)指每次更新参数时使用全部训练样本来计算平均梯度。这个阶段只有这一种梯度下降,没有其他版本。

---

## 总结

梯度下降 = 逆着梯度方向(上坡反向=下坡)迭代更新参数,逐步让代价函数最小化。线性回归中 MSE 是凸函数,保证能找到全局最小值。学习率 α 控制步长,太大震荡太小太慢。"批量"指每次用全部样本算梯度。

---

## 复习卡片

| 概念 | 一句话 | 我的场景 |

| ------------ | ------------------------------------------ | --------------------------------------- |

| 梯度下降 | 沿梯度反方向迭代更新参数,使代价函数最小化 | 用历史循环数据训练 w,b,预测电池 SOH |

| 同步更新 | 用同一组参数算所有偏导,算完再一起更新 | 算 ∂J/∂w 和 ∂J/∂b 都用当前的 w,b |

| 学习率 α | 控制每步大小的超参数,太大震荡太小慢 | SOH 预测模型训练时调试的关键参数 |

| 批量梯度下降 | 每次更新用全部样本算平均梯度 | 三个样本每轮都参与计算平均梯度 |

| 凸函数 | 碗状曲线,只有一个全局最小值 | 线性回归的 MSE 代价函数,找最小值有保证 |

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/23 3:34:39

国产AI模型在OpenRouter平台的技术优势与集成实践

如果你最近在关注AI大模型的发展,可能会注意到一个有趣的现象:在国际主流模型评测平台OpenRouter上,来自中国的AI模型已经连续12周稳居使用量前五。这不仅仅是数字上的变化,更反映了全球开发者对国产AI模型认可度的实质性提升。过…

作者头像 李华
网站建设 2026/7/23 3:31:42

Unity跨平台WebSocket通信:NativeWebSocket架构解析与全平台实战指南

1. 项目概述:为什么Unity开发者需要关注NativeWebSocket?如果你是一名Unity开发者,并且你的项目涉及到任何形式的实时数据交换——无论是多人在线游戏、实时数据可视化大屏、远程协作工具,还是物联网设备的控制面板——那么你一定…

作者头像 李华
网站建设 2026/7/23 3:27:17

嵌入式系统异常与定时器:从硬件抽象到实战应用

1. 嵌入式系统异常与定时器:从硬件抽象到实战应用在嵌入式开发领域,尤其是基于ARM Cortex-M内核的项目里,中断和定时器是绕不开的两座大山。它们不仅仅是芯片手册里的一堆寄存器描述,更是构建稳定、高效、实时响应系统的基石。很多…

作者头像 李华
网站建设 2026/7/23 3:26:56

光速虚拟机:轻量级虚拟化技术的实践指南

1. 光速虚拟机初探:为什么你需要它?第一次接触光速虚拟机时,我正被一个棘手的问题困扰着——需要在同一台电脑上同时运行多个相互冲突的软件环境。传统虚拟机启动慢、占用资源多,而双系统切换又太麻烦。直到发现了光速虚拟机&…

作者头像 李华
网站建设 2026/7/23 3:24:45

CDN技术解析:原理、应用与性能优化实践

1. CDN的本质与核心价值CDN(Content Delivery Network)本质上是一个分布式服务器网络系统,它的设计初衷是为了解决传统中心化网络架构中的"最后一公里"延迟问题。想象一下你经营一家全球连锁餐厅,如果在每个城市都建立中…

作者头像 李华