news 2026/4/23 17:50:24

机器学习中的正则化

作者头像

张小明

前端开发工程师

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/4/23 13:25:44

实现ai循环中插入用户对话的方法

全局变量设置一个用户对话内容,初始化为空然后再input的prompt里面加入这个变量用户输入的时候就会加到prompt里面没输入就是空变量这轮用完就reset

作者头像 李华
网站建设 2026/4/23 11:30:35

从人鼠到植物:SEdb 3.0数据库一站式检索与分析超级增强子调控网络

超级增强子(SE)作为驱动细胞身份决定和关键致病基因表达的核心调控元件,一直是表观遗传学领域的研究热点,也是近年国自然的热点。然而,长期以来,相关的数据资源和注释工具主要集中于人类和小鼠模型。对于植…

作者头像 李华
网站建设 2026/4/23 13:19:43

巴菲特的市场看法与经济预测

巴菲特的市场看法与经济预测 关键词:巴菲特、市场看法、经济预测、价值投资、金融市场、宏观经济、投资策略 摘要:本文深入探讨了巴菲特的市场看法与经济预测相关内容。从背景介绍出发,阐述了研究巴菲特观点的目的、预期读者、文档结构和相关…

作者头像 李华
网站建设 2026/4/23 11:28:56

价值投资中的择股技巧

价值投资中的择股技巧 关键词:价值投资、择股技巧、基本面分析、财务指标、行业分析 摘要:本文围绕价值投资中的择股技巧展开深入探讨。首先介绍了价值投资及择股技巧的背景知识,包括目的、预期读者、文档结构和相关术语。接着阐述了核心概念…

作者头像 李华
网站建设 2026/4/23 14:13:26

数字图像处理篇---图像高通滤波

核心比喻:图像的“轮廓笔”和“细节放大器”想象你的图像是一幅铅笔画,有粗略的素描轮廓,也有细腻的明暗调子(阴影)。低通滤波:像用一块软布轻轻涂抹画纸,让细腻的调子(阴影&#xf…

作者头像 李华