00_最小神经网络训练流程

目的:得到一个功能为y=2x+0的模型

  1. 随机初始化 w 和 b
  2. 用一批数据 (x, y) 做预测:
    y_pred = w*x + b
  3. 计算误差(loss):
    看预测和真实差多少
  4. 根据误差,计算"该怎么改 w 和 b"(梯度)
  5. 微调 w 和 b(往更好的方向走一点)
  6. 重复很多次
    最终:
    让所有数据的误差尽可能小
    → 得到 w≈2, b≈0
python 复制代码
import random

# 初始化参数
w = random.random()
b = random.random()
print(f"w={w:.4f}, b={b:.4f}")
lr = 0.001  # 学习率

# 构造数据:y = 2x
data = [(x, 2*x) for x in range(10)]

for epoch in range(50):
    total_loss = 0

    for x, y_true in data:
        # -------- forward --------
        y_pred = w * x + b

        # -------- loss --------
        loss = (y_pred - y_true) ** 2

        # -------- backward(手写梯度)--------
        grad_w = 2 * (y_pred - y_true) * x
        grad_b = 2 * (y_pred - y_true)

        # -------- update --------
        w = w - lr * grad_w
        b = b - lr * grad_b

        total_loss += loss

    print(f"epoch {epoch}, loss={total_loss:.4f}, w={w:.4f}, b={b:.4f}")
相关推荐
Yolanda942 分钟前
【人工智能】AI问答助手项目
人工智能·python
Java小白笔记3 分钟前
什么是 Token?2026 年主流大模型计费规则、价格与性能全面对比
人工智能·ai·ai编程·ai写作
盘古信息IMS8 分钟前
注塑工厂上MES系统,如何选对厂商实现数智化跃迁?
大数据·人工智能·物联网
自由的风.9 分钟前
【无标题】
人工智能·机器学习·自然语言处理
NineData15 分钟前
NineData 5.0 产品发布和生态伙伴大会,圆满举办!
运维·数据库·人工智能
羽师20 分钟前
Prompt 提示词中的 === 是干嘛
人工智能
薛定猫AI22 分钟前
【技术干货】AI Agent 自动化业务流程实战:从零构建智能营销系统
运维·人工智能·自动化
我叫张土豆23 分钟前
WebTransport:下一代Web实时通信的“终极协议“来了
人工智能·网络协议
逻辑驱动的ken25 分钟前
Java高频面试考点场景题05
java·开发语言·深度学习·求职招聘·春招
Acland24094026 分钟前
基于 PyTorch + sklearn 的房价预测实战
人工智能·pytorch·sklearn