【算法记录1】模型训练问题

一、训练流程中的"检查点"记忆法

复制代码
数据准备 → 模型定义 → 训练循环 → 结果评估

在每个节点,都能判断、预防或修复过/欠拟合。


二、按写代码顺序串联

第1步:准备数据

现象判断 原因 代码上怎么改
数据太少 → 容易过拟合 样本不足 加数据 / 数据增强
特征太少/太差 → 欠拟合 信息不足 特征工程、加交叉特征
噪声太多 → 过拟合 记住噪声 清洗数据、异常值处理

记忆锚点:先看数据量够不够、干不干净。


第2步:定义模型

现象判断 原因 代码上怎么改
模型太小(层少、神经元少)→ 欠拟合 表达力不够 加层、加神经元、换复杂模型
模型太大(参数远超样本量)→ 过拟合 容量过剩 减少层/神经元、加Dropout/正则化

记忆锚点:模型容量要和数据量匹配。


第3步:训练循环中

现象判断 原因 代码上怎么改
训练loss不下降 → 欠拟合 没学好 调大学习率、增加epoch、改优化器
训练loss下降、验证loss上升 → 过拟合 开始背题 早停、降低学习率、加正则化

记忆锚点:盯着训练和验证两条loss曲线。


第4步:评估与调优

现象判断 原因 代码上怎么改
训练好、验证差 → 过拟合 泛化差 上面第2、3步的方案
训练差、验证也差 → 欠拟合 没学会 上面第1、2步的方案

三、一张代码流程速查表(IDE旁边)

python 复制代码
# 1. 数据准备
if 训练差 and 验证差:        # 欠拟合
    → 加特征 / 特征交叉
if 训练好 and 验证差:        # 过拟合
    → 加数据 / 数据增强 / 清洗噪声

# 2. 模型定义
if 欠拟合:
    → 加层 / 加神经元 / 换大模型
if 过拟合:
    → 减层 / 减神经元 / 加Dropout / 加L2

# 3. 训练循环
欠拟合 → 增加epoch / 调大lr
过拟合 → 早停 / 降低lr / 加正则

# 4. 验证时
if 验证loss开始上升:
    触发早停      # 代码写Callback

四、一句话记忆(流程版)

先看数据(多少/好坏)→ 再看模型(大小/容量)→ 训练盯曲线(loss走势)→ 早停防过拟合,加epoch治欠拟合

写代码时按这个顺序检查一遍,比背分类表自然得多。

相关推荐
罗西的思考1 小时前
【OpenClaw具身硬件】MiniClaw 阅读笔记---(1)基础
人工智能·算法·机器学习
蛋先生DX2 小时前
大模型参数存储格式揭秘:BF不是男朋友
深度学习·算法·llm
爱跳舞的烤冷面2 小时前
自学嵌入式第22天(数据结构——哈希)
数据结构·算法·哈希算法
猎嘤一号2 小时前
博弈论(Game Theory)的理论、算法与工程
人工智能·算法·安全·博弈论
月光船幽幽3 小时前
影子模式下保护 logits 不被修改
人工智能·python·算法
马拉AI3 小时前
腾讯开源 Agent 记忆系统,AI“换对话就忘”的问题有了新解法(附安装使用教程)
人工智能·算法·开源·科研
地平线开发者4 小时前
征程6工具链模型X86推理方式说明
算法
地平线开发者4 小时前
【征程6】校准量化中HistogramObserver解析
算法
OuO-25 小时前
笔试强训 Day 34:ISBN 号码、kotori 和迷宫、矩阵最长递增路径
java·算法·矩阵
程序喵大人6 小时前
【C++进阶】STL算法与函数对象 - 04 find、count和any_of把查询写成意图
开发语言·c++·算法