【机器学习】- L1L2 正则化操作

目录

0.引言

在机器学习中,正则化是一种通过约束模型参数控制模型复杂度的技术。它可以有效减少过拟合,提高模型的泛化能力。常见的正则化方法包括 L1 正则化L2 正则化


1.正则化的基本思想

在训练模型时,我们的目标是最小化损失函数。正则化通过在损失函数中加入一个正则化项,对模型参数施加约束,从而避免过于复杂的模型。

带有正则化的损失函数一般形式为:

损失函数 = 数据误差 + λ ⋅ 正则化项 \text{损失函数} = \text{数据误差} + \lambda \cdot \text{正则化项} 损失函数=数据误差+λ正则化项

其中:

  • 数据误差:如均方误差 (MSE) 或交叉熵损失。
  • 正则化项:对模型参数的约束,如 L 1 L1 L1 L 2 L2 L2
  • λ \lambda λ:正则化强度(超参数),控制正则化项的权重。

2.L1 正则化

  1. 定义
    L1 正则化的正则化项是模型参数的绝对值之和:

    R ( w ) = ∥ w ∥ 1 = ∑ i = 1 n ∣ w i ∣ R(\boldsymbol{w}) = \|\boldsymbol{w}\|_1 = \sum_{i=1}^n |w_i| R(w)=w1=i=1nwi

    L1 正则化后的损失函数为:

    L = 数据误差 + λ ∑ i = 1 n ∣ w i ∣ L = \text{数据误差} + \lambda \sum_{i=1}^n |w_i| L=数据误差+λi=1nwi

  2. 特性

    • 通过惩罚参数的绝对值,鼓励某些参数变为零
    • 适合特征选择,因为它会自动剔除不重要的特征(参数为零)。
  3. 适用场景

    • 特征数量较多,且希望通过稀疏性来筛选重要特征(如高维数据)。

3.L2 正则化

  1. 定义
    L2 正则化的正则化项是模型参数的平方和:

    R ( w ) = ∥ w ∥ 2 2 = ∑ i = 1 n w i 2 R(\boldsymbol{w}) = \|\boldsymbol{w}\|_2^2 = \sum_{i=1}^n w_i^2 R(w)=w22=i=1nwi2

    L2 正则化后的损失函数为:

    L = 数据误差 + λ ∑ i = 1 n w i 2 L = \text{数据误差} + \lambda \sum_{i=1}^n w_i^2 L=数据误差+λi=1nwi2

  2. 特性

    • 通过惩罚参数的平方值,鼓励模型参数较小但不为零。
    • 与 L1 不同,它不会让参数变为完全零,而是接近零。
  3. 适用场景

    • 当希望模型平滑,避免过度拟合时(如线性回归)。

4.L1 与 L2 正则化的比较

特性L1 正则化L2 正则化
正则化项 ∣ w ∣ 1 = ∑ w i |\boldsymbol{w}|_1 = \sum w_i w1=wi ∣ w ∣ 2 2 = ∑ w i 2 |\boldsymbol{w}|_2^2 = \sum w_i^2 w22=wi2
参数特性产生稀疏解(参数可能为零)参数更平滑(接近零但不为零)
特征选择可以选择特征不适用于特征选择
计算效率非凸优化,计算复杂凸优化,计算简单
适用场景高维稀疏数据常规数据,避免过拟合

5.应用:控制模型复杂度

  1. 减少过拟合

    • 正则化通过限制参数的幅度,避免模型过度拟合训练数据中的噪声。
  2. 提高泛化能力

    • 限制模型复杂度,使其在新数据上表现更稳定。
  3. 特征选择

    • L1 正则化的稀疏性帮助自动选择重要特征。

6.超参数 λ \lambda λ 的选择

正则化强度 λ \lambda λ 是一个超参数,其值需要通过交叉验证或网格搜索来选择。

  • λ \lambda λ 较小
    • 正则化效果弱,模型复杂度高,容易过拟合。
  • λ \lambda λ 较大
    • 正则化效果强,模型复杂度低,可能导致欠拟合。

7.总结

正则化是控制模型复杂度的重要方法,通过引入 L1 或 L2 正则化项,既可以提高模型的泛化能力,又可以在某些场景下实现特征选择。合理设置正则化强度 λ \lambda λ,能够帮助模型在偏差与方差之间取得良好的平衡。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/475850.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大语言模型中ReLU函数的计算过程及其函数介绍

文章目录 概要ReLU定义 概要 **ReLU 作用:**主要用于为神经网络引入非线性能力,作用是将输入中的整数保留原值,负数置为 0。 从而在层与层之间引入非线性,使神经网络能够拟合复杂的非线性关系。 **ReLU使用场景:**Lla…

【图像检测】深度学习与传统算法的区别(识别逻辑、学习能力、泛化能力)

识别逻辑 深度学习 使用了端到端的学习策略,直接学习从图像到检测结果的映射关系,自动提取特征,并且根据特征与特征之间的关系,计算出检测结果。 传统算法 则是人工提取特征,比如边缘特征,直线特征&#x…

C++-第25课-哈希表性能的分析

目录 一、哈希表概述 1. 什么是哈希表​编辑 2. 哈希表的优点 3. 哈希表的缺点 二、哈希函数 常见哈希函数 三. 哈希冲突的原因和解决方法 一.哈希冲突的原因 二、哈希冲突的解决方法 1. 链表法(Separate Chaining) 2. 开放寻址法(…

HDMI数据传输三种使用场景

视频和音频的传输 在HDMI传输音频中有3种方式进行传输,第一种将音频和视频信号被嵌入到同一数据流中,通过一个TMDS(Transition Minimized Differential Signaling)通道传输。第二种ARC。第三张种eARC。这三种音频的传输在HDMI线中…

LCR 184.设计自助结算系统

1.题目要求: 2.题目代码: class Checkout { public:deque<int> array;Checkout() {array.clear();}//求最大值int get_max() {if(array.size() 0){return -1;}else{vector<int> temp(array.begin(),array.end());vector<int> :: iterator it max_element…

Vue3-小兔鲜项目出现问题及其解决方法(未写完)

基础操作 &#xff08;1&#xff09;使用create-vue搭建Vue3项目 要保证node -v 版本在16以上 &#xff08;2&#xff09;添加pinia到vue项目 npm init vuelatest npm i pinia //导入creatPiniaimport {createPinia} from pinia//执行方法得到实例const pinia createPinia()…

VUE:基于MVVN的前端js框架

文章目录 vue框架v-show vue框架 注意是 先写函数名&#xff0c;再写function。 handle:function (){}下面是错误的 function:handle(){}3 v-show 本质上等于号后面还是判断条件&#xff0c;所以不能写赋值语句&#xff0c;下面是正确的 下面是错误的 v-show " ge…

金融数据中心容灾“大咖说” | Veritas的“高举高打”之道

中国人民银行发布的《金融数据中心容灾建设指引》&#xff08;JR/T 0264—2024&#xff09;已于2024年7月29日正式实施。这一金融行业标准对金融数据中心容灾建设中的“组织保障、需求分析、体系规划、建设要求、运维管理”进行了规范和指导。面对不断增加的各类网络、业务、应…

VUE字符串转日期加天数

文章为本新手菜鸡的问题记录&#xff0c;如有错误和不足还行大佬指正 文章目录 问题描述解决方法 问题描述 得到一串字符串的日期&#xff0c;因为不是规范的日期格式&#xff0c;无法使用moment().add()方法&#xff0c;那么如何实现增加天数的操作&#xff1f; 解决方法 1…

高校企业数据挖掘平台推荐

TipDM数据挖掘建模平台是由广东泰迪智能科技股份有限公司自主研发打造的可视化、一站式、高性能的数据挖掘与人工智能建模服务平台&#xff0c;致力于为使用者打通从数据接入、数据预处理、模型开发训练、模型评估比较、模型应用部署到模型任务调度的全链路。平台内置丰富的机器…

《TCP/IP网络编程》学习笔记 | Chapter 14:多播与广播

《TCP/IP网络编程》学习笔记 | Chapter 14&#xff1a;多播与广播 《TCP/IP网络编程》学习笔记 | Chapter 14&#xff1a;多播与广播多播多播的数据传输方式和特点路由&#xff08;Routing&#xff09;和 TTL&#xff08;Time to Live&#xff0c;生存时间&#xff09;&#xf…

利用 TensorFlow Profiler:在 AMD GPU 上优化 TensorFlow 模型

TensorFlow Profiler in practice: Optimizing TensorFlow models on AMD GPUs — ROCm Blogs 简介 TensorFlow Profiler 是一组旨在衡量 TensorFlow 模型执行期间资源利用率和性能的工具。它提供了关于模型如何与硬件资源交互的深入见解&#xff0c;包括执行时间和内存使用情…

游戏引擎学习第15天

视频参考:https://www.bilibili.com/video/BV1mbUBY7E24 关于游戏中文件输入输出&#xff08;IO&#xff09;操作的讨论。主要分为两类&#xff1a; 只读资产的加载 这部分主要涉及游戏中用于展示和运行的只读资源&#xff0c;例如音乐、音效、美术资源&#xff08;如 3D 模型和…

(二)Ubuntu22.04+Stable-Diffusion-webui AI绘画 中英双语插件安装

一、说明 看情况添加 二、双语安装 双语插件 https://github.com/journey-ad/sd-webui-bilingual-localization 中文语言包 https://github.com/dtlnor/stable-diffusion-webui-localization-zh_CN 先装中文语言包 错误&#xff1a;AssertionError: extension access disable…

UE5 DownloadImage加载jpg失败的解决方法

DownloadImage加载jpg失败的解决方法 现象解决方案具体方法 现象 用UE自带的 DownloadImage 无法下载成功&#xff0c;从 failure 引脚出来。 接入一个由监控器自动保存起的图像&#xff0c;有些可以正常加载成功&#xff0c;有些无法加载成功。 经调查问题出现在&#xff0c;…

Elasticsearch 中的热点以及如何使用 AutoOps 解决它们

作者&#xff1a;来自 Elastic Sachin Frayne 探索 Elasticsearch 中的热点以及如何使用 AutoOps 解决它。 Elasticsearch 集群中出现热点的方式有很多种。有些我们可以控制&#xff0c;比如吵闹的邻居&#xff0c;有些我们控制得较差&#xff0c;比如 Elasticsearch 中的分片分…

Statsmodels之OLS回归

目录 Statsmodels基本介绍OLS 回归实战实战1&#xff1a;实战2&#xff1a; Statsmodels基本介绍 Statsmodels 是 Python 中一个强大的统计分析包&#xff0c;包含了回归分析、时间序列分析、假设检验等等的功能。Statsmodels 在计量的简便性上是远远不及 Stata 等软件的&…

【接口封装】—— 1、加载样式表

函数定义 static void loadStyleSheet(QWidget* widget, const QString &fileName,const QString& otherStyleQString());&#xff08;头文件&#xff09;&#xff1a; #include <qfile.h> #include <QWidget> 源文件: void CommonUtils::loadStyleSheet(…

AI、VR与空间计算:教育和文旅领域的数字转型力量

在这个数字技术高速发展的时代&#xff0c;AI、VR技术及大空间计算技术&#xff0c;已成为推动多个行业革新的强劲动力。近日&#xff0c;世优科技推出了最新研发的VR大空间产品《山海经》&#xff0c;这一全新的沉浸式体验项目不仅重新定义了观展方式&#xff0c;还为文化旅游…

AWTK 最新动态:支持鸿蒙系统(HarmonyOS Next)

HarmonyOS是全球第三大移动操作系统&#xff0c;有巨大的市场潜力&#xff0c;在国产替代的背景下&#xff0c;机会多多&#xff0c;AWTK支持HarmonyOS&#xff0c;让AWTK开发者也能享受HarmonyOS生态的红利。 AWTK全称为Toolkit AnyWhere&#xff0c;是ZLG倾心打造的一套基于C…