NLP Academy · 课时

调节正则化强度

使用 C 控制过拟合

第 4 / 4 课13 个步骤

调节正则化强度 是 CoddyKit 上的免费 NLP Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 NLP Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 NLP Academy 课程共包含 4 节课。

模型为何会在文本上过拟合

面对数千个词语特征时,模型可能会记住训练集中的偶然规律。正则化可以防止它追逐这些噪声。🧯

惩罚过大的权重

正则化会对较大的系数增加惩罚。模型必须为每个大权重提供理由,因此会保持更简单,并拥有更好的泛化能力。

认识 C 参数

在 scikit-learn 中,您可以使用 C 控制强度。它与正则化强度成反比,因此 C 越小,惩罚越强。

clf = LogisticRegression(C=1.0)

C 较小,模型更简单

极小的 C 会将权重强力压向零。模型会变得非常简单,可能出现欠拟合并错过真实信号。

clf = LogisticRegression(C=0.01)

C 较大,更信任数据

较大的 C 会减弱惩罚,使权重可以增大。模型会紧密拟合训练数据,但也有过拟合的风险。

clf = LogisticRegression(C=100)

L2 是稳妥的默认选择

默认的 L2 惩罚会温和地压缩所有权重。对于大多数文本分类问题,它都是安全的起点。

L1 会将权重归零

切换到 L1 惩罚后,许多系数会变为零,同时完成特征选择,得到更稀疏、更简单的模型。

clf = LogisticRegression(penalty='l1', solver='liblinear')

使用交叉验证进行调优

不要手动猜测 C。请使用交叉验证测试多个取值,并选择在留出的折上得分最高的那个。

搜索一组参数值

GridSearchCV 会逐一尝试每个 C,运行交叉验证,并报告表现最佳的取值。将 C 遍历十的幂,可以快速完成第一轮搜索。

from sklearn.model_selection import GridSearchCV
grid = {'C': [0.1, 1, 10]}

读取最佳参数

拟合完成后,best_params_ 会显示胜出的 C。对应的模型已经可以在测试集上进行客观评估。

print(search.best_params_)

找到最佳平衡点

目标是取得平衡:既要有足够的自由度来学习,又要有足够的惩罚来实现泛化。这个最佳平衡点能让模型在未见过的文本上获得最高分。

快速检查

降低 C 的取值后会发生什么?

回顾:用 C 实现平衡

正则化可以抑制过拟合,而 C 以反比方式控制正则化强度。请使用交叉验证调节 C,找到平衡点。✅

免费开始

用 AI 导师学习 Python — 免费

在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。

课程
30
课程
120

常见问题解答

「调节正则化强度」课时是免费的吗?

是的 — 「调节正则化强度」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 NLP Academy 课程的其余内容,请升级到 CoddyKit PRO。 NLP Academy 课程共包含 4 节课。

「调节正则化强度」这节课中我会学到什么?

使用 C 控制过拟合 你通过在浏览器中直接运行的动手代码来练习 NLP Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 NLP Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 NLP Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。

「调节正则化强度」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 NLP Academy 课中编写并运行代码吗?

能。每节 NLP Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 逻辑回归为何适用于文本
  2. 使用 TF-IDF 特征进行训练
  3. 检查最强的系数
  4. 调节正则化强度
← 返回 NLP Academy