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}")
相关推荐
zzb15802 小时前
Claude Agent SDK 深度剖析:依赖、权衡与架构选择
人工智能·python·ai
youyoulg2 小时前
无监督学习—聚类
人工智能·机器学习·支持向量机
前端付豪2 小时前
实现代码块复制和会话搜索
前端·人工智能·后端
阿聪谈架构2 小时前
第06章:AI RAG 检索增强生成 — 从零到生产(上)
人工智能·后端
会算数的⑨2 小时前
Spring AI Alibaba 学习(四):ToolCalling —— 从LLM到Agent的华丽蜕变
java·开发语言·人工智能·后端·学习·saa·ai agent
云和数据.ChenGuang2 小时前
langchain安装过程中的故障bug
人工智能·langchain·bug·langsmith·langchain-core
得物技术2 小时前
Claude在得物App数仓的深度集成与效能演进
大数据·人工智能·llm
weixin_6682 小时前
BPMN.io全方位深度分析报告架构解析 - AI分析分享
人工智能·架构·开源
Elastic 中国社区官方博客2 小时前
Observabilty:自动化错误分诊 - 从被动到自主
大数据·运维·人工智能·elasticsearch·搜索引擎·自动化·全文检索