机器学习入门教程

【原理】正则化与正则项

作者 : 老饼 发表日期 : 2022-11-02 19:46:07 更新日期 : 2025-03-30 14:02:31
本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com



正则化是一个解决过拟合较为有效的方法,一般可通过L2正则项来对模型正则化

L2正则项主要通过在损失函数中加入系数的惩罚项,来抑制模型系数过大

本文讲解什么是正则化,什么是正则项,以及常用的L1、L2正则项的具体公式





  01. 机器学习的正则化是什么  




本节介绍正则化的概念,并通过举例具体说明什么是正则化




      什么是正则化     


正则化是机器学习中一种常用于预防过拟合的手段
它通过在损失函数中加入正则项来惩罚模型过大的系数,从而勉强过拟合
 例如,线性函数最原始的损失函数为:
   
 
  
加入二范正则项的损失函数变为:
    
    这样做的好处是,过大的会让损失函数变得非常大,
在最小化损失函数时,
自然就不会取到得大





 

      为什么正则化能防止模型过拟合     


为什么加入L2正则项化能防止模型过拟合?
这主要是因为系数过大时模型往往都是过拟合的 
 系数过大模型容易过拟合的主要原因有如下:
 👉 系数过大会使模型不稳定        
 👉 过大的系数往往违背真实规则    

 系数过大的危害
以线性回归模型举例,当中的W过大时
  很容易造成模型的不稳定
 
 例如 y = 10000*x1+10*x2+3 , x1的系数非常大,
导致x1微小的变化都会引起y的极大变化,从而导致模型不稳定,

  
 违反实际规则
 
 现实的业务规则,一般不会出现y与x1成10000倍这么极端关系
所以系数过大时往往是违反背后业务真实规则的,即模型没有如实反映变量与因变量的关系
在误差允许范围内,我们不希望出现极大的系数,或者说,极大的系数本身就是一个数据误导,而非实际规则
 
因此,模型系数过大往往是不正常的,因此加入正则项来惩罚系数,是令模型"正则化"的一种基本手段







   02. P范正则化函数   




本节列举一些常用的p范正则化函数




      P范正则项      


p范数是指,机器学习中常用p范来作为正则项
在机器学习中,常见的有L0、L1、L2正则项
L0正则项
L0正则项就是系数中非0系数的个数,L0正则公式如下:
 
     
 L1正则项
 L1正则项就是系数的绝对值之和,L1正则公式如下:
                      
 L2正则项
 L2正则项就是系数的平方和,L2正则公式如下:
  
其中,L2正则项是最常用的正则化函数,因为平方项比较方便求导







     正则化、正则项与L2正则项      


在上文中,我们并没有严格区分正则化、正则项与L2正则项
实际上它们并不相等,而是正则化>正则项>L2正则项
 正则化    :正则化通俗来说,就是"正常化"                                                  
        凡是奔着令模型"正常化"的手段,都称为正则化         
 正则项    :正则项是指,用于正则化的项                                                     
                       例如在损失函数中加入一项来令模型"更加正常",则称该项为正则项
 L2正则项 :L2正则项是一种常用的正则项                                                     
                                L2正则项就是 ,在损失函数中加入L2正则项可以避免模型系数过大
因为"模型疯了"就会过拟合,因此正则化就是希望通过"让模型正常点"来避免模型过拟合
 在损失函数中加入正则项是最常用的正则化方法,而L2则是最常用的正则项
因为系数过大时,往往属于一种"不正常"的状况,因此用L2来惩罚系数,可以使模型正常化

由于它们之间强列的从属关系,所以往往正则化默认就指"正则项",而正则项又默认指"L2正则项"
对于初学者,只需要知道L1,L2正则项就可以了,把它当作"正则化"的全部内容也不为过








总的来说,正则化的目的就是避免模型过拟合,增强模型的泛化能力~









  End  





   

联系老饼