首页 > 其他分享 >正则化

正则化

时间:2024-09-29 17:45:31浏览次数:1  
标签:函数 模型 正则 参数 拟合 化项

正则化是机器学习和深度学习中常用的一种方法,主要用于防止模型过拟合。

“正则化(regularization)”中的“正则”一词可以从中文的字面意思和其英文对应的词语“regular”来理解。

“正则”的字面意思

  • ”:在汉语中有“正常”、“规范”的意思,指的是符合规范或标准的状态。
  • ”:可以理解为“规则”、“法则”,指代某种原则、标准或约束。

因此,“正则”可以理解为使事物符合一定规则或标准,保持其规范性、规律性。它强调通过某种机制来使事物保持在一个“正常”或“规范”的状态。

跟正则表达式的正则区别

  • 正则化的目的是通过某种惩罚机制(如L1、L2正则)让模型变得不那么复杂,防止它过度拟合数据中的噪声,使得模型更好地泛化到新数据上。

  • 正则表达式用于处理字符串,通过定义符合某种规则的字符序列,能够进行匹配、查找、替换等操作。其“正则”强调的是如何根据一定的语法规则来描述字符串的结构和模式。

两者的“正则”都可以追溯到“regular”这个词,意思都是“规则”或“规范”。正则化是对模型施加某种“规则”或“约束”,而正则表达式则是用某种“规则”来匹配文本。因此,两者在词源上有相似之处,都与规则、模式相关,但具体应用和功能完全不同。

正则化的意义

在机器学习模型中,模型往往有很多参数,若不加以限制,模型可能会变得过度复杂,从而过拟合训练数据,导致在新数据上的表现变差。

正则化通过引入某种惩罚机制,约束模型参数的大小或复杂度,迫使模型变得更简单和泛化能力更强,使模型学到的规律不仅适用于训练数据,也适用于新的数据。

正则化在模型训练过程中的位置

常见的模型训练过程:

  1. 数据输入:输入特征数据集(如图像、文本或数值数据)。
  2. 前向传播:根据当前的模型参数,计算模型的预测输出。
  3. 计算损失函数:通过损失函数衡量预测结果与真实值之间的误差。
  4. 计算目标函数:将损失函数和正则化项加在一起,形成最终的目标函数。
  5. 优化目标函数:使用优化算法(如梯度下降),最小化目标函数,从而调整模型参数。
  6. 参数更新:在考虑损失和正则化项的情况下,更新模型参数。
  7. 循环迭代:重复该过程,直到模型收敛或达到指定的训练轮次。

正则化贯穿于这个全局过程中的目标函数计算和优化步骤,其主要作用是防止模型过拟合、平衡模型的复杂度,从而提高模型的泛化能力。

说明:在机器学习中,我们的目标是通过优化算法(如梯度下降)最小化目标函数,找到最优的模型参数,从而让模型具有较好的泛化能力。

目标函数通常由两部分组成:

  • 损失函数(Loss Function):衡量模型预测与真实值之间差异的函数。
  • 正则化项(Regularization Term):用来控制模型复杂度的额外约束项。

正则化项通常被添加到目标函数中,作为损失函数之外的一个附加部分,形式为:

目标函数 = 损失函数 + λ⋅正则化项

其中,λ 是正则化系数,用来控制正则化项在目标函数中所占的权重。

常见的正则化项包括:

  • L1 正则化:对模型参数的绝对值进行惩罚。
  • L2 正则化:对模型参数的平方和进行惩罚。

L1 正则化(Lasso)

在目标函数中加入所有权重的绝对值之和,即在损失函数中加上 \gamma {\textstyle \sum_{i}^{}\left | w_i\right | } ,其中 _是模型参数,````是正则化系数。 通过这样,达到效果:

  • L1 正则化可以产生稀疏的权重矩阵,即很多参数会变为零,因此常用于特征选择。

  • 它强制一些不重要的特征权重变为零,从而使模型更加简洁。

L2 正则化(Ridge)

作用:在目标函数中加入所有权重的平方和,即在损失函数中加上 \gamma {\textstyle \sum_{i}^{} w_i^2 } 。 通过这样,达到效果:

  • L2 正则化会使权重尽可能的小,但不会让权重变为零。
  • 它倾向于分布权重,使模型更加平滑,适用于防止过拟合。

总结

正则化是通过在目标函数中添加一个惩罚项来约束模型的参数,特别是模型中的权重或系数,防止模型过度拟合训练数据的一种方法。

正则化的作用是什么?

防止过拟合:模型在训练集上的表现可能很好,但如果模型过于复杂,它可能会记住训练数据中的噪声或异常点,从而在新数据上表现不佳。正则化通过惩罚大权重,使得模型无法完全拟合训练数据中的细节和噪声,减少模型的复杂度,从而提升泛化能力。

简化模型:正则化特别是在 L1 正则化的情况下,可以强迫一些权重变为零,从而使模型只依赖最重要的特征。这可以使模型更简洁。

标签:函数,模型,正则,参数,拟合,化项
From: https://www.cnblogs.com/ghj1976/p/18440492/regularization

相关文章

  • Android实践:20个非常实用的正则表达式
            正则表达式是一种强大的文本处理工具,它们被广泛应用于数据验证、搜索、替换等多种场景。以下是20个非常实用的正则表达式,涵盖了密码验证、邮箱检查、日期和金额校验等多个方面。1.校验密码强度        密码的强度必须是包含大小写字母和数字的组合,......
  • 妙用编辑器:使用Notepad--正则表达式从命令结果报文快速生成新命令
    应用场景日常生活中有些维护场景,比如检查设备状态,执行查询命令后,得到精简结果报文,如果要更深入的检查状态,可能还要执行其他命令,逐个对象进行查询,这里涉及到快速从报文生成查询指令的功能。比如有如下一个从LST命令查询出来的报文,需要快速的生成DSP命令,逐个Subrack进行查询。RE......
  • 给Excel 添加正则表达式regexp()函数
    WPS推出了正则表达式函数regex家族,非常好用,必须给其点赞。听说微软在最新版本的Office也要推出,但老版本Office用户就不能使用这个函数,好在用VBA可以自定义一个函数也可以实现的,此函数不仅将三种模式融合到了同一个函数中,同时还支持数组、单元格、文本等多种数据处理'**************......
  • package.json依赖包漏洞之nodejs-glob-parent正则表达式拒绝服务漏洞
    背景有个安全扫描的流水线,扫描了负责的项目之后,发现一些漏洞。需要说明的是,这个扫描只是针对package.json文件,扫的是依赖树,而不是项目源代码,也不是打包后的代码。但既然是漏洞,都是可以好好学习下的。 nodejs-glob-parent正则表达式拒绝服务漏洞(CVE-2020-28469)被扫描出来......
  • 使用re的正则表达式提取腾讯体育新闻摘要
    首先确认要爬取的信息所在网页是静态还是动态,打开浏览器开发者工具抓包,下拉页面更新体育新闻的摘要(summary),同时查看网络面板,筛选fetch/xhr发起的请求的响应,随着下拉动作,能发现对https://matchweb.sports.qq.com/feeds/list的请求的增加。爬取的目标网页是动态的,第n页的请求地址为h......
  • 三剑客与正则系列
    三剑客之sed1.概述作用:取行,过滤,替换文件的内容向后引用2.格式sed选项'条件动作'文件选项说明-n取消默认输出-r支持扩展正则-i修改文件内容-i.bak先备份在修改内容3.sed增删改查之查找3.1  取出文件的第3行3.2 取出/etc/passwd的第2行到第5行 ......
  • C++11新特性:正则表达式
    摘要本文介绍了正则表达式的基础概念,包括元字符、字符类、量词和锚点,展示了其在验证字符串、文本搜索、替换和数据提取中的应用。同时,详细讲解了C++11中正则表达式的使用示例,包括std::regex。正则表达式正则表达式(RegularExpressions)是一种强大的文本处理工具,它使用单个字符......
  • pyhton语法 正则表达式
    pyhton语法正则表达式1.正则表达式介绍1.1正则表达式入门1.2正则替换2.正则效验2.1正则-校验单个字符2.2正则-校验多个字符2.3正则-校验开头和结尾2.4正则-校验分组2.5正则校验邮箱2.6正则获取分组后的数据2.7引用指定组的内容总结1.正则表达式介绍1.1正......
  • 正则表达式教程:验证车牌号(新能源+非新能源)
     一、正则解释正则表达式:/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]$/说明:^表示开头。[和]表示字符类。[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使......
  • NJU-ICS 2024学习随笔PA1_3(正则表达式)
    2024-09-22确实这一块比前面有点难了,先看看这make_token函数在哪。在nemu目录下执行指令grep-r"make_token",就可以得到这个函数所在路径。然后看到enum和rule,结合文章可知,这里就是添加规则的地方。先学一下正则表达式语法正则表达式语法.:匹配任意字符(除了换行符)*:匹配前......