← ClaudeAtlas

ml-diagnosislisted

模型效果不好(或"好得可疑")时的系统诊断流程。当用户说"模型精度低/loss 不降/泛化差/过拟合/ 欠拟合怎么办"、报告训练集表现与验证集脱节、或纠结该加数据还是加模型容量时激活。 核心动作: 先用偏差-方差分解(bias-variance decomposition)把问题归因到欠拟合(underfitting)/ 过拟合(overfitting)/数据问题三类,再对症下药;同时把"训练精度 100%"当红旗而非捷报 (完美可分可能恰是过拟合假象)。覆盖: 学习曲线判读、正则/剪枝强度取舍、调参后全量重训纪律。 不适用于: 还没选模型的选型阶段(用 ml-task-matching)、性能度量本身选错了的情况 (先确认尺子再诊断数值)、多算法科学比较(用算法比较检验流程)。
fieldlu/Machine-learning-skills · ★ 0 · AI & Automation · score 66
Install: claude install-skill fieldlu/Machine-learning-skills
# ML 效果诊断 — 先分清病种再开药,"太好了"也是病 ## R — 原文 (Reading) > "偏差刻画了学习算法本身的拟合能力……方差刻画了数据扰动所造成的影响……噪声表达了在当前任务上任何学习算法所能达到的期望泛化误差的下界。" > > — 周志华, 《机器学习》第2章 2.5节 "偏差与方差" > "只要相信 P≠NP,过拟合就不可避免。……在现实任务中往往有多种学习算法可供选择……很难断定貌似线性可分的结果不是过拟合所造成的。" > > — 周志华, 《机器学习》第2章 2.1节、第6章 6.4节 --- ## I — 方法论骨架 (Interpretation) 泛化误差可以解剖成三块:**偏差²**(算法拟合能力不够——学不会)、**方差**(对数据扰动太敏感——背题)、**噪声²**(问题固有难度——天花板)。任何"效果不好"都落在这三项的主导之下,而三者的处方完全不同甚至相反: - **偏差主导**(训练误差也高、训练/验证曲线贴得很近):加数据没用,要增强学习能力——换更强模型、加特征、降正则。 - **方差主导**(训练好验证差、间隙大):加数据有效,另配正则化、剪枝、早停、集成。 - **逼近噪声下界**:停止投入,继续压指标只会开始拟合噪声。 关键纪律有三条。其一,**先诊断主导项再动���**——训练程度这个旋钮的两端都是坑(欠拟合与过拟合),不诊断就调参等于掷硬币。其二,**过拟合不可根除只能缓解**(若能根除等于解决了 NP 难问题),所以目标永远是"管理风险"而非"消灭它";每个新模型都该问它靠什么机制缓解过拟合。其三,**训练集满分是红旗不是捷报**——高维下"完美分开"常常意味着容量大到记住了噪声。 --- ## A1 — 书中的应用 (Past Application) ### 案例 1: 西瓜数据集 2.0 预剪枝 vs 后剪枝对比演算 (c15) - **问题**: 决策树不剪枝会过拟合,但剪枝怎么剪才对?作者需要展示两种剪枝策略的真实代价差异。 - **方法论的使用**: 在同一数据上完整跑两条路并逐节点对照验证集精度:预剪枝在每次划分前验证、无收益即禁止展开;后剪枝先生长完再自底向上回溯考察替换/剪除。 - **结论**: 两者可达相近的验证精度,但路径不同——预剪枝的贪心(当前划分无收益≠后续划分无收益)带来欠拟合风险,分支被过早锁死;后剪枝保留更多分支、泛化通常更好,但训练时间开销大得多。 - **结果**: 演算给出具体数字对照(预剪枝验证精度仅 42.9%,后剪枝达 71.4%),确立了"快而险 vs 准而贵"的取舍框架和"精度持平时偏向剪枝(更简)"的决策规则。 ### 案例 2: 编号属性的信息增益陷阱 (c14) - **问题**: 决策树按信息增益选划分属性时,把样本"编号"列也放进候选会发生什么? - **方法论的使用**: 作者实际计算:编号列每个取值恰好对应一个样本,其信息增益高达 0.998(远超 IV(色泽)=1.580 对应的有效属性水平),用它划分的树训练误差为 0 但毫无泛化能力。 - **结论**: 信息增益准则自带"偏好取值数目多的属性"的���值取向;换成增益率又偏向取值少的属性——每个准则都有偏好,C4.5 用的是两级启发式(先取增益高于平均、再从中挑增益率最高)。 - **结果**: 这成为"训练精度 100% 却不可用"的最干净演示,也是审查特征表里混入 ID 类高基数列的诊断模板。 ### 案例 3: 硬间隔的隐患与软间