机器学习中的正则化
摘要本文介绍了机器学习中用于防止过拟合的正则化技术重点讲解了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_size0.2, random_state42) # 创建带有L1正则化的Lasso模型alpha0.1 lasso Lasso(alpha0.1) # 在训练集上训练模型 lasso.fit(X_train, y_train) # 在测试集上进行预测 y_pred lasso.predict(X_test) # 计算预测结果的均方误差 mse mean_squared_error(y_test, y_pred) print(均方误差:, mse)输出结果运行上述代码后将得到以下输出均方误差: 25.155593753934173L2 正则化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_size0.2, random_state42) # 定义带有L2正则化的岭回归模型alpha0.1 model Ridge(alpha0.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

相关新闻

【滤波跟踪】基于拓展卡尔曼滤波的同步定位与地图构建(SLAM)全流程仿真,通过自身运动模型(线速度 + 角速度)和测距方位传感器,实时估计自身位姿并构建环境地标地图附matlab代码

【滤波跟踪】基于拓展卡尔曼滤波的同步定位与地图构建(SLAM)全流程仿真,通过自身运动模型(线速度 + 角速度)和测距方位传感器,实时估计自身位姿并构建环境地标地图附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/7/6 15:42:52 阅读更多 →
MySQL 逻辑备份 vs 物理备份:区别与生产级实战指南

MySQL 逻辑备份 vs 物理备份:区别与生产级实战指南

MySQL 逻辑备份 vs 物理备份:区别与生产级实战指南 在真实生产环境中,数据库备份的价值不在于“有没有做”,而在于能否在最短时间内恢复到正确状态。 本文在完整保留逻辑备份与物理备份实战代码的基础上,补充生产级架构图、误区说明与恢复模型,形成一套可落地、可演练的 M…

2026/7/5 17:56:07 阅读更多 →
【DVMCNN诊断网络】基于离散韦格纳分布DWVD结合MCNN多尺度卷积神经网络的故障诊断研究附matlab代码

【DVMCNN诊断网络】基于离散韦格纳分布DWVD结合MCNN多尺度卷积神经网络的故障诊断研究附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/7/5 22:44:13 阅读更多 →

最新新闻

SVG Gobbler:矢量资源管理的终极解决方案,彻底改变你的设计工作流

SVG Gobbler:矢量资源管理的终极解决方案,彻底改变你的设计工作流

SVG Gobbler:矢量资源管理的终极解决方案,彻底改变你的设计工作流 【免费下载链接】svg-gobbler Open source browser extension for finding, editing, exporting, optimizing, and managing SVG content. 项目地址: https://gitcode.com/gh_mirrors/…

2026/7/6 15:42:36 阅读更多 →
Unity Perception终极指南:如何快速生成高质量的合成数据集用于计算机视觉训练

Unity Perception终极指南:如何快速生成高质量的合成数据集用于计算机视觉训练

Unity Perception终极指南:如何快速生成高质量的合成数据集用于计算机视觉训练 【免费下载链接】com.unity.perception Perception toolkit for sim2real training and validation in Unity 项目地址: https://gitcode.com/gh_mirrors/co/com.unity.perception …

2026/7/6 15:40:34 阅读更多 →
原神启动器Plus:一键切换国服与国际服的桌面利器

原神启动器Plus:一键切换国服与国际服的桌面利器

原神启动器Plus:一键切换国服与国际服的桌面利器 【免费下载链接】Genshin.Launcher.Plus [原神启动器Plus] lightweight globalized Genshin Impact launcher. Support arbitrarily resolution ratio, account switching, client convertion, FPS unlocking and mo…

2026/7/6 15:40:34 阅读更多 →
如何用闲置安卓设备5步构建零成本家庭服务器?

如何用闲置安卓设备5步构建零成本家庭服务器?

如何用闲置安卓设备5步构建零成本家庭服务器? 【免费下载链接】amlogic-s9xxx-armbian Supports running Armbian on Amlogic, Allwinner, and Rockchip devices. Support a311d, s922x, s905x3, s905x2, s912, s905d, s905x, s905w, s905, s905l, rk3588, rk3568, …

2026/7/6 15:38:33 阅读更多 →
计算机Java毕设实战-基于前后端分离的病毒性疾病医药数据采集与分析系统的设计与实现 基于 SpringBoot 的冠状病毒靶标信息挖掘与数据整【完整源码+LW+部署说明+演示视频,全bao一条龙等】

计算机Java毕设实战-基于前后端分离的病毒性疾病医药数据采集与分析系统的设计与实现 基于 SpringBoot 的冠状病毒靶标信息挖掘与数据整【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/6 15:36:31 阅读更多 →
MultiOS-USB:一个U盘搞定所有操作系统安装与维护

MultiOS-USB:一个U盘搞定所有操作系统安装与维护

MultiOS-USB:一个U盘搞定所有操作系统安装与维护 【免费下载链接】MultiOS-USB Boot operating systems directly from ISO/WIM images 项目地址: https://gitcode.com/gh_mirrors/mu/MultiOS-USB 想象一下,您只需要一个U盘,就能随身携…

2026/7/6 15:36:31 阅读更多 →

日新闻

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2与MySQL单元测试兼容性:5个关键SQL语句差异与规避方案1. 单元测试中的数据库兼容性挑战在Java开发领域,单元测试是保证代码质量的重要环节。当应用涉及数据库操作时,测试环境的搭建往往成为开发者的痛点。H2数据库因其轻量级、内存模式和快…

2026/7/6 0:01:17 阅读更多 →
Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否厌倦了Windows任务栏上密密麻麻的图标&…

2026/7/6 0:01:17 阅读更多 →
Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C 运行时库一键安装终极指南:告别DLL缺失烦恼 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这样的情况:下载了…

2026/7/6 0:05:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/6 8:11:50 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/6 8:11:52 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/6 6:52:56 阅读更多 →

月新闻