news 2026/4/5 14:37:41

机器学习中的正则化

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
机器学习中的正则化

摘要:本文介绍了机器学习中用于防止过拟合的正则化技术,重点讲解了L1和L2正则化。L1正则化通过添加权重绝对值之和的惩罚项,促使模型产生稀疏权重;L2正则化则通过权重平方和的惩罚项减小权值大小。文章分别提供了使用scikit-learn库实现这两种正则化的Python代码示例,并展示了在波士顿房价数据集上的应用效果。正则化能有效控制模型复杂度,提高泛化能力。

目录

机器学习中的正则化

L1 正则化

示例

输出结果

L2 正则化

示例

输出结果


机器学习中的正则化

在机器学习中,正则化是一种用于防止过拟合的技术 —— 过拟合指模型过于复杂,对训练数据拟合度过高,但无法泛化到新的、未见过的数据。正则化会在损失函数中引入惩罚项,促使模型采用更小的权重和更简单的结构,从而减少过拟合。

机器学习中常用的正则化技术有多种,包括 L1 正则化、L2 正则化、丢弃正则化(dropout)和早停法(early stopping)。本文将重点介绍最常用的 L1 和 L2 正则化。

L1 正则化

L1 正则化又称套索正则化(Lasso regularization),其核心是在损失函数中添加一个惩罚项,该惩罚项等于所有权重绝对值的和。L1 正则化的惩罚项公式为:λ × Σ |wᵢ|其中,λ 是控制正则化强度的超参数,wᵢ是模型中的第 i 个权重。

L1 正则化的作用是促使模型产生稀疏权重,即剔除对输出影响极小或无影响的权重,进而简化模型结构、减少过拟合。

示例

在 Python 中,可通过 scikit-learn 库的 Lasso 类实现 L1 正则化,以下是用于线性回归的示例代码:

from sklearn.linear_model import Lasso from sklearn.datasets import load_boston from sklearn.model_selection import train_test_split from sklearn.metrics import mean_squared_error # 加载波士顿房价数据集 boston = load_boston() # 将数据分为训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(boston.data, boston.target, test_size=0.2, random_state=42) # 创建带有L1正则化的Lasso模型(alpha=0.1) lasso = Lasso(alpha=0.1) # 在训练集上训练模型 lasso.fit(X_train, y_train) # 在测试集上进行预测 y_pred = lasso.predict(X_test) # 计算预测结果的均方误差 mse = mean_squared_error(y_test, y_pred) print("均方误差:", mse)

输出结果

运行上述代码后,将得到以下输出:均方误差: 25.155593753934173

L2 正则化

L2 正则化又称岭回归正则化(Ridge regularization),其惩罚项为所有权重平方的和。L2 正则化的惩罚项公式为:λ × Σ (wᵢ)²其中,λ 是控制正则化强度的超参数,wᵢ是模型中的第 i 个权重。

L2 正则化的作用是促使模型采用小权重,即减小所有权重的数值大小,从而平滑模型输出、减少过拟合。

示例

在 Python 中,可通过 scikit-learn 库的 Ridge 类实现 L2 正则化,以下是用于线性回归的示例代码:

from sklearn.linear_model import Ridge from sklearn.model_selection import train_test_split from sklearn.metrics import mean_squared_error from sklearn.datasets import load_boston from sklearn.preprocessing import StandardScaler import numpy as np # 加载波士顿房价数据集 boston = load_boston() # 创建特征数组和目标数组 X = boston.data y = boston.target # 对特征数据进行标准化处理 scaler = StandardScaler() X = scaler.fit_transform(X) # 将数据分为训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 定义带有L2正则化的岭回归模型(alpha=0.1) model = Ridge(alpha=0.1) # 在训练集上训练模型 model.fit(X_train, y_train) # 在测试集上进行预测 y_pred = model.predict(X_test) # 计算预测结果的均方误差 mse = mean_squared_error(y_test, y_pred) print("均方误差: ", mse)

输出结果

运行上述代码后,将得到以下输出:均方误差: 24.29346250596107

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/24 8:12:34

开题报告vb酒店客房部

目录 酒店客房部概述主要职能与工作内容技术应用与管理服务质量标准 项目技术支持可定制开发之功能亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作 酒店客房部概述 酒店客房部是酒店运营的核心部门之一,主要负责客房清洁、…

作者头像 李华
网站建设 2026/3/27 19:22:07

一文讲透 LLM、RAG、MCP 与 AI Agent:AI 系统的四个核心层级

一文讲透 LLM、RAG、MCP 与 AI Agent:AI 系统的四个核心层级 这四个概念确实是当前AI领域最核心且容易混淆的技术层级。简单来说,它们代表了从“基础模型”到“智能体系统”的四个不同层次: 一个核心比喻: 想象一个顶尖的人类专家(LLM),他需要去完成一项复杂任务(如制…

作者头像 李华
网站建设 2026/3/31 22:34:24

毕设题目-贾明(网上答疑辅导系统

目录网上答疑辅导系统概述系统核心功能技术实现方案系统特色与创新点应用前景与扩展方向项目技术支持可定制开发之功能亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作网上答疑辅导系统概述 网上答疑辅导系统是一种基于互联网的教育辅助…

作者头像 李华
网站建设 2026/4/3 19:52:24

Linux:分包上传文件

目录分包合并解压分包 推荐使用360压缩 合并 cat xxx.zip.* > xxx.zip解压 unzip xxx.zip

作者头像 李华
网站建设 2026/3/31 10:13:17

C 环境设置

C 环境设置 引言 C语言作为一种历史悠久且应用广泛的编程语言,在系统编程、嵌入式开发等领域有着举足轻重的地位。在进行C语言编程之前,必须正确设置C语言开发环境。本文将详细介绍C语言环境的设置,包括开发工具的选择、编译器的安装、环境变量的配置等内容。 开发工具选…

作者头像 李华