调节正则化强度
使用 C 控制过拟合
调节正则化强度 是 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 反馈 — 无需本地设置。