惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
AWS News Blog
AWS News Blog
V
Vulnerabilities – Threatpost
D
Darknet – Hacking Tools, Hacker News & Cyber Security
量子位
博客园 - 叶小钗
AI
AI
T
Tor Project blog
Forbes - Security
Forbes - Security
W
WeLiveSecurity
博客园_首页
爱范儿
爱范儿
J
Java Code Geeks
B
Blog
G
GRAHAM CLULEY
aimingoo的专栏
aimingoo的专栏
Cloudbric
Cloudbric
C
CXSECURITY Database RSS Feed - CXSecurity.com
TaoSecurity Blog
TaoSecurity Blog
L
LINUX DO - 热门话题
阮一峰的网络日志
阮一峰的网络日志
有赞技术团队
有赞技术团队
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Simon Willison's Weblog
Simon Willison's Weblog
云风的 BLOG
云风的 BLOG
Google DeepMind News
Google DeepMind News
H
Help Net Security
博客园 - 三生石上(FineUI控件)
C
Cisco Blogs
C
Cybersecurity and Infrastructure Security Agency CISA
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
P
Palo Alto Networks Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Recent Commits to openclaw:main
Recent Commits to openclaw:main
博客园 - 司徒正美
The Last Watchdog
The Last Watchdog
Blog — PlanetScale
Blog — PlanetScale
T
The Blog of Author Tim Ferriss
S
Secure Thoughts
Spread Privacy
Spread Privacy
F
Fortinet All Blogs
月光博客
月光博客
大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
H
Hackread – Cybersecurity News, Data Breaches, AI and More
A
About on SuperTechFans
Security Latest
Security Latest
Webroot Blog
Webroot Blog
Scott Helme
Scott Helme
Hugging Face - Blog
Hugging Face - Blog

博客园 - CharyGao

OpenAI Codex AI降智解决方案, 原因解析与系统提示词修改指南 OpenClaw vs Coze/Dify/n8n 帮你半小时内选对合适的AI Skills 热潮过去后,我重新理解了 AI Agent 的方向 智读致用|《埃隆之书》 《一人企业》 一人公司:The Agency 免费“雇佣“144个AI专家,虚拟团队走进现实 用微软Agent Framework打造智能博客生成系统+AI智能体军团 告别加班(第二期):月报还是Word排版?本地AI解您愁 居然可以在 Claude 桌面端用三方模型了! Claude Code 每次启动都要确认权限?一行配置永久解决 98.5% 的人都不知道:SSH 居然还有个“隐藏菜单” 强程序员在 AI 时代的赚钱路径 骚操作来了!Claude编程的42个实战技巧大全 面试官:“简历写着熟练使用 Claude Code,连 simplify 代码审查命令都不知道!”,我:“那又如何呢?” SpringBoot+ResponseBodyEmitter异步流式推送神技 加密后的数据如何进行模糊查询? 最适合新手安装的10个小龙虾🦞 skills来了! 周末和孩子必看的亲子电影合集,陪伴孩子成长的每一步 拒绝代码泄露与“屎山”迷航:GitNexus纯本地知识图谱+可视化关系网,引发GitHub 8800星狂欢 还原BatchEncryption(201610版本)混淆的批处理文件 用上这个Skill,你的Claude Code/Codex 将会比别人快5倍 -- 用分布式思维驯服AI任务编排 前端项目中定义vs code要安装的插件 vscode中claude code插件代理地址设置 2026新手必学:GPT-5.5高效提示词指南 解决 URLEncoder.encode 编码空格变 + 号 Springboot通过谷歌Kaptcha 组件,生成图形验证码 HTTP 与 SpringBoot 参数提交与接收协议方式 SpringBoot多线程池配置 springboot使用logback自定义日志 SpringBoot + Cursor 最佳提示词工程手册 scoop国内安装方法 Prompt 工程实战总结:文本分类、信息抽取、语义匹配 PowerShell DSC(Desired State Configuration)实战指南 OpenResty Lua 代码断点 调试指南:VSCode + LuaPanda OpenClaw多智能体路由实战:飞书多机器人配置指南 OpenClaw 提示词全集 (Prompt Collection) n8n 2.0 中文汉化版一键部署教程 | 解除Execute Command限制 java中Redisson ,jedis,Lettuce和Spring Data Redis的四种深度对比和优缺点详解 Java Web 技术演进:Servlet → Spring → Spring Boot Everything Claude Code(Anthropic 黑客松冠军开源配置) 从 ChatGPT 到 Coding Agent:AI 执行时代的未来猜想 【万字长文】Gemini 3 Pro 全面指南:从免费订阅到 CLI / Agent 实战 Codex 全面实战教程:从安装到工程协作,一篇跑通 3万字硬核拆解 Claude Code:从入门到工程化落地 Gemini 3 完整指南 Codex 完整指南 Claude Code 完整指南4-10 Claude Code 完整指南 claude code 自动保存对话插件 提示词99+ 拜拜Cursor,你好Kiro!(附全平台安装包下载,Win、Mac、Linux) 别再忍了!uv 下载慢如龟速?一招配置国内镜像,让你的 Python 体验坐上火箭! docker配置参数详解---/etc/docker/daemon.json完整参数 win11 清理 OpenCowork 让 AI 在飞书里真正「动手干活」 教你从0到1安装OpenClaw,快速接入飞书,打通任督二脉! SpringBoot 最大连接数及最大并发数是多少??? SpringBoot vs Nginx:5种实现vs1个指令,谁才是防盗链的“真·王者”? Spring Boot日志集成 Redisson 使用手册:从 API 误区到看门狗失效,在此终结分布式锁的噩梦 OpenClaw超级速查表 zeroclaw ubunut25 -ARM 修改国内镜像 openClaw国内镜像安装 知识图谱 —— 结构化知识的强大工具 什么是 Supervised learning(监督学习) 解析 Anthropic 的模型上下文协议(MCP)及其优点
机器学习中的过拟合与欠拟合现象:理论与实践案例研究
CharyGao · 2026-02-09 · via 博客园 - CharyGao

机器学习领域中,过拟合(Overfitting)与欠拟合(Underfitting)是两个关键但相互对立的现象。理解这两种现象有助于构建更高效、更泛化的模型。下面我们将从理论、实际案例及代码示例等多角度进行探讨。

什么是过拟合

过拟合是指模型在训练数据上表现得非常好,但在新数据(测试集)上表现不佳。这表明模型过于复杂,捕捉到了数据中的噪声或非普遍模式,而这些模式并不能很好地泛化到其他数据。

一个经典的类比是考试中的死记硬背。假设学生通过背诵每道练习题的答案来准备考试,他们可能在练习题上得高分,但如果考试题目稍作修改,学生可能无法正确作答。这种过度记忆特定数据而缺乏灵活性的问题正是过拟合的核心表现。

实际案例:房价预测

假设我们试图预测某地区的房价。模型训练的数据集包含房屋面积、房龄、房间数等特征,以及房价标签。过拟合的模型可能会记住某些特定房屋的数据,比如 面积为 150 平方米、房龄 10 年的房子价格为 500,000,而忽略了这些特征之间更广泛的关系。这种情况下,模型在训练集上的误差几乎为零,但测试集上的误差可能非常高。

什么是欠拟合

欠拟合是指模型过于简单,无法捕捉数据中的主要模式,导致在训练集和测试集上都表现不佳。这通常是因为模型无法充分学习数据的底层规律。

将其比作学生完全不复习考试内容,结果考试时连基本的题型和概念都无法理解。

实际案例:同样是房价预测

若我们简单地用线性回归来拟合房价数据,而房价与特征之间实际上是非线性关系,则线性模型可能无法捕捉这种复杂关系,导致欠拟合。这种模型可能预测出某些房价明显偏离实际。

为什么会出现这两种现象?

1. 模型复杂度
  • 过拟合通常发生在模型过于复杂时,比如参数过多或采用了过高阶的多项式回归。
  • 欠拟合则往往是由于模型太简单,不足以捕捉数据中的重要模式。
2. 训练数据量
  • 过拟合容易在训练数据量较小时发生,模型可能会记住数据中的每一个细节。
  • 欠拟合则与训练数据的量无关,而是模型本身的表达能力不足。
3. 正则化
  • 过拟合可能是因为缺乏适当的正则化措施,导致模型自由度过高。
  • 欠拟合可能是正则化过强,限制了模型的学习能力。

如何解决过拟合与欠拟合?

1. 解决过拟合的方法
  • 增加训练数据
  • 使用正则化(如 L1 或 L2 正则化)
  • 减少模型复杂度
  • 使用交叉验证来评估模型
2. 解决欠拟合的方法
  • 增加模型复杂度
  • 提供更多有意义的特征
  • 减少正则化力度

代码示例:

以下是一个简单的代码示例,通过 scikit-learn 库演示过拟合和欠拟合现象:

import numpy as np
import matplotlib.pyplot as plt
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split

# 生成示例数据
np.random.seed(0)
x = np.sort(np.random.rand(40, 1) * 10, axis=0)
y = np.sin(x).ravel() + np.random.randn(40) * 0.1

# 分割数据集
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3, random_state=42)

# 欠拟合:线性模型
model_underfit = make_pipeline(PolynomialFeatures(degree=1), LinearRegression())
model_underfit.fit(x_train, y_train)

# 适当拟合:二次模型
model_goodfit = make_pipeline(PolynomialFeatures(degree=3), LinearRegression())
model_goodfit.fit(x_train, y_train)

# 过拟合:高阶多项式模型
model_overfit = make_pipeline(PolynomialFeatures(degree=15), LinearRegression())
model_overfit.fit(x_train, y_train)

# 绘制结果
plt.scatter(x, y, color='black', label='Data')
plt.plot(x, model_underfit.predict(x), label='Underfit Model', color='blue')
plt.plot(x, model_goodfit.predict(x), label='Good Fit Model', color='green')
plt.plot(x, model_overfit.predict(x), label='Overfit Model', color='red')
plt.legend()
plt.show()

python

运行

结论

从理论到实践,我们可以清晰地看到过拟合与欠拟合对模型性能的显著影响。理解并解决这两种现象是构建强大模型的关键。通过优化模型复杂度、正则化、数据量等因素,我们能够实现模型的良好泛化能力,提升机器学习系统的实际应用价值。

机器学习中的过拟合与欠拟合现象:理论与实践案例研究_机器学习中的过拟合与欠拟合现象:理论与实践案例研究-CSDN博客