郭震 AI公众号:郭震AI

12 贝叶斯学习与统计推断:模型选择之过拟合与正则化

发布日期:

最近更新:

分类: 贝叶斯学习

预计阅读: 3 分钟

阅读次数: 0

预计阅读3 分钟
结构重点6 个
图文要点6 张
正文规模1.3k 字

整理说明

这篇内容怎么整理

郭震 · 2026-06-04

独立整理围绕 6 个结构重点拆成环境、步骤、验证点和常见误区,尽量让读者能照着复现。
图文对照保留 6 张和配置、流程、判断结果有关的图片,方便快速定位正文重点。
持续校对工具、模型和命令变化较快,后续优先修正入口、参数和风险提醒。

阅读路线

先按这条路线读

先抓住主线,再回到代码、配置和图文细节,读起来会更稳。

图文要点

先看本文图文节点

按图先建立主线,再跳回正文核对步骤、配置和判断标准。

贝叶斯学习与统计推断:模型选择之过拟合与正则化结构图查看大图
贝叶斯学习与统计推断:模型选择之过拟合与正则化结构图

贝叶斯学习的重点是把已有判断和新证据合在一起,并明确表达不确定性。阅读时可以按「过拟合 -> 过拟合的案例 -> 正则化 -> 正则化的原理」建立结构,再回到正文里的代码、案例或指标做验证。

贝叶斯学习与统计推断:模型选择之过拟合与正则化核对图查看大图
贝叶斯学习与统计推断:模型选择之过拟合与正则化核对图

读完后,用一个真实小任务复查:输入是什么,处理环节在哪里,输出是否可验收;失败时先查「过拟合」,再查「过拟合的案例」。

在上一篇中,我们探讨了贝叶斯因子模型比较,了解了如何在不同模型之间进行选择。接下来,我们将深入讨论与模型选择密切相关的两个概念:过拟合正则化。这两个概念对于确保我们的贝叶斯学习模型的泛化能力至关重要。

过拟合(Overfitting)

过拟合是指模型在训练数据上表现良好,但在新数据上的表现却急剧下降的现象。这通常发生在模型过于复杂时,即模型具有过多的参数,能够非常好地拟合训练数据中的噪声。

过拟合正则化判断卡查看大图
过拟合正则化判断卡

理解过拟合与正则化时,先看训练误差、验证误差、参数复杂度、先验约束和泛化表现。

过拟合的案例

以线性回归为例,假设我们有一组数据点,我们使用一个高阶多项式来拟合这些数据。在训练集上,该高阶多项式可以很好地通过所有的数据点,但在验证集上,模型的预测能力却显著下降。这个现象就是过拟合的表现。

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

# 生成数据
np.random.seed(0)
X = np.sort(5 * np.random.rand(80, 1), axis=0)
y = np.sin(X).ravel() + np.random.normal(0, 0.1, X.shape[0])

# 使用不同的多项式阶数
degrees = [1, 3, 5, 10]
plt.figure(figsize=(15, 10))

for i, degree in enumerate(degrees):
    model = make_pipeline(PolynomialFeatures(degree), LinearRegression())
    model.fit(X, y)
    y_pred = model.predict(X)
    
    plt.subplot(2, 2, i + 1)
    plt.scatter(X, y, s=10, label='Data')
    plt.plot(X, y_pred, label='Prediction (degree={})'.format(degree), color='red')
    plt.title('Polynomial Degree: {}'.format(degree))
    plt.legend()

plt.show()

在上面的图中,我们可以看到随着多项式阶数的增加,模型在训练数据上的表现越来越好,但在测试数据上的预测能力并没有显著提高,甚至开始下降,这就是过拟合的体现。

正则化(Regularization)

为了对付过拟合,我们可以采用正则化技术。正则化通过向损失函数中加入一个惩罚项来限制模型的复杂度,从而减少过拟合的风险。常见的正则化方法有L1正则化(Lasso)和L2正则化(Ridge)。

贝叶斯学习阅读地图卡查看大图
贝叶斯学习阅读地图卡

读完《贝叶斯学习与统计推断:模型选择之过拟合与正则化》不要只停在“看懂了”。回头挑一个步骤动手做一遍,再记录哪里卡住,后面的学习会更稳。

正则化的原理

在贝叶斯框架下,我们可以将正则化视为对参数施加先验分布。一种常见的选择是对参数引入一个Gaussian先验,这导致了L2正则化;而使用Laplace先验则导致L1正则化

正则化的案例

继续使用上面的例子,我们将引入Ridge回归(L2正则化)来对抗过拟合。

from sklearn.linear_model import Ridge

# 使用Ridge回归
plt.figure(figsize=(10, 5))
ridge_model = make_pipeline(PolynomialFeatures(10), Ridge(alpha=1.0))
ridge_model.fit(X, y)
y_ridge_pred = ridge_model.predict(X)

plt.scatter(X, y, s=10, label='Data')
plt.plot(X, y_ridge_pred, label='Ridge Prediction (degree=10)', color='green')
plt.title('Ridge Regression with Regularization')
plt.legend()
plt.show()

在上面的图中,我们引入了Ridge回归来平衡模型的复杂度与拟合性能。虽然模型未能完全通过每个数据点,但其在新数据上的泛化能力得到了改善。

贝叶斯学习与统计推断:模型选择之过拟合与正则化应用复盘卡查看大图
贝叶斯学习与统计推断:模型选择之过拟合与正则化应用复盘卡

读到这里,可以把《贝叶斯学习与统计推断:模型选择之过拟合与正则化》整理成一张复盘表:先说清主线,再拿一个小任务检查结果。

贝叶斯学习与统计推断:模型选择之过拟合与正则化应用检查卡查看大图
贝叶斯学习与统计推断:模型选择之过拟合与正则化应用检查卡

读完《贝叶斯学习与统计推断:模型选择之过拟合与正则化》后,可以先挑一个小样例走完整流程,再判断哪些步骤已经能独立完成。

小结

在贝叶斯学习过程中,过拟合正则化是两个非常重要的概念。了解如何识别过拟合以及通过正则化技术来改善模型的泛化能力,将帮助我们更好地进行模型选择。在下一篇中,我们将进一步探讨贝叶斯回归,特别是线性回归模型的具体应用和实现。

通过这篇教程,我们希望你能够将在选择中考虑到模型的复杂度,使用正则化技术来提高良好的拟合能力,同时避免过拟合现象的发生。

继续阅读

从这篇继续找到相关教程

AI 教程总索引

常见问题

读前先确认这三点

贝叶斯学习与统计推断:模型选择之过拟合与正则化适合谁读?

这是 贝叶斯学习入门 系列第 12 / 24 篇,适合正在学习贝叶斯学习入门,并且需要把概念落到操作步骤或判断标准里的读者。

读这篇贝叶斯学习入门教程要多久?

按中文技术文章阅读速度估算,通读大约 3 分钟;如果要跟着复现,建议把命令、配置和结果检查分开做。

这篇文章里的图文节点怎么用?

正文里有 6 个图文节点,可以先用它们抓住流程、配置和判断点,再回到对应段落细读。

分享文章

转发到常用平台

微信/朋友圈可先复制链接

相关教程

AI 教程总索引

继续阅读

继续找到相关 AI 教程

返回栏目

Reader Messages

读者留言

有问题、补充资料或实测结果,可以直接留下。这里不需要登录。

最多 800 字

为了防刷,每条留言会做长度、链接数量和提交频率限制。

0/800

留言列表

0
正在加载留言...