https://blog.csdn.net/weixin_45434953/article/details/130970273
 上一篇文章的例子中,如果使用一个四次多项式去拟合房价函数,会导致过拟合问题
 
 而正则化是解决过拟合的一个方法。右图过拟合是因为其三次方项和四次方项的影响,我们再回顾下线性回归的代价函数:
  
      
       
        
        
          J 
         
        
          = 
         
         
         
           1 
          
          
          
            2 
           
          
            m 
           
          
         
         
         
           ∑ 
          
          
          
            i 
           
          
            = 
           
          
            1 
           
          
         
           m 
          
         
         
         
           h 
          
         
           θ 
          
         
        
          ( 
         
         
         
           x 
          
          
          
            ( 
           
          
            i 
           
          
            ) 
           
          
         
        
          − 
         
         
         
           y 
          
          
          
            ( 
           
          
            i 
           
          
            ) 
           
          
         
         
         
           ) 
          
         
           2 
          
         
        
       
         J = \frac{1}{2m}\sum_{i=1}^m h_\theta(x^{(i)}-y^{(i)})^2 
        
       
     J=2m1i=1∑mhθ(x(i)−y(i))2我们可以人为地添加一些"惩罚项",比如: 
      
       
        
        
          J 
         
        
          = 
         
         
         
           1 
          
          
          
            2 
           
          
            m 
           
          
         
         
         
           ∑ 
          
          
          
            i 
           
          
            = 
           
          
            1 
           
          
         
           m 
          
         
         
         
           h 
          
         
           θ 
          
         
        
          ( 
         
         
         
           x 
          
          
          
            ( 
           
          
            i 
           
          
            ) 
           
          
         
        
          − 
         
         
         
           y 
          
          
          
            ( 
           
          
            i 
           
          
            ) 
           
          
         
         
         
           ) 
          
         
           2 
          
         
        
          + 
         
        
          1000 
         
         
         
           θ 
          
         
           3 
          
         
           2 
          
         
        
          + 
         
        
          1000 
         
         
         
           θ 
          
         
           4 
          
         
           2 
          
         
        
       
         J = \frac{1}{2m}\sum_{i=1}^m h_\theta(x^{(i)}-y^{(i)})^2+1000\theta_3^2+1000\theta_4^2 
        
       
     J=2m1i=1∑mhθ(x(i)−y(i))2+1000θ32+1000θ42当我们要得出最小的代价函数的时候, 
     
      
       
        
        
          θ 
         
        
          3 
         
        
       
      
        \theta_3 
       
      
    θ3和 
     
      
       
        
        
          θ 
         
        
          4 
         
        
       
      
        \theta_4 
       
      
    θ4必须要尽可能接近于0,否则函数J会变得很大。对于假设函数 
     
      
       
        
        
          θ 
         
        
          0 
         
        
       
         + 
        
        
        
          θ 
         
        
          1 
         
        
       
         x 
        
       
         + 
        
        
        
          θ 
         
        
          2 
         
        
        
        
          x 
         
        
          2 
         
        
       
         + 
        
        
        
          θ 
         
        
          3 
         
        
        
        
          x 
         
        
          3 
         
        
       
         + 
        
        
        
          θ 
         
        
          4 
         
        
        
        
          x 
         
        
          4 
         
        
       
      
        \theta_0+\theta_1x+\theta_2x^2+\theta_3x^3+\theta_4x^4 
       
      
    θ0+θ1x+θ2x2+θ3x3+θ4x4来说 
     
      
       
        
        
          θ 
         
        
          3 
         
        
       
      
        \theta_3 
       
      
    θ3和 
     
      
       
        
        
          θ 
         
        
          4 
         
        
       
      
        \theta_4 
       
      
    θ4接近于0会使得函数图像较为接近 
     
      
       
        
        
          θ 
         
        
          0 
         
        
       
         + 
        
        
        
          θ 
         
        
          1 
         
        
       
         x 
        
       
         + 
        
        
        
          θ 
         
        
          2 
         
        
        
        
          x 
         
        
          2 
         
        
       
      
        \theta_0+\theta_1x+\theta_2x^2 
       
      
    θ0+θ1x+θ2x2,但是仍然保留有 
     
      
       
        
        
          θ 
         
        
          3 
         
        
       
      
        \theta_3 
       
      
    θ3和 
     
      
       
        
        
          θ 
         
        
          4 
         
        
       
      
        \theta_4 
       
      
    θ4的特征,而不是简单地将它抛弃掉
简单来说,正则化能够在不丢失特征信息的情况下简化模型,使得曲线更加平滑而非“放飞自我”。假设房价有101个特征: θ 0 . . . . . . θ 1 00 \theta_0......\theta_100 θ0......θ100那么我们也能使用如下的正则化方式: J = [ 1 2 m ∑ i = 1 m h θ ( x ( i ) − y ( i ) ) 2 + λ ∑ j = 1 m θ j 2 ] J = [\frac{1}{2m}\sum_{i=1}^m h_\theta(x^{(i)}-y^{(i)})^2+\lambda\sum_{j=1}^m\theta_j^2] J=[2m1i=1∑mhθ(x(i)−y(i))2+λj=1∑mθj2]可以看到我们一般不对 θ 0 \theta_0 θ0进行正则化。其中 λ \lambda λ用于控制它们之间的权重。如果 λ \lambda λ太大,会使得函数假设函数近似于 θ 0 \theta_0 θ0也就是用一条直线去拟合,反而变成了欠拟合了,因此对 λ \lambda λ也需要小心设置。
线性回归正则化
对于正则化的线性回归,我们需要作如下修改-
 仔细观察可知道,粉色括号里的项恰好是正则化后的代价函数 
     
      
       
       
         J 
        
       
         ( 
        
       
         θ 
        
       
         ) 
        
       
      
        J(\theta) 
       
      
    J(θ)的导数。我么不妨整理一下 
      
       
        
         
         
           θ 
          
         
           j 
          
         
        
          : 
         
        
          = 
         
        
          ( 
         
        
          1 
         
        
          − 
         
        
          ∂ 
         
         
         
           λ 
          
         
           m 
          
         
        
          ) 
         
         
         
           θ 
          
         
           j 
          
         
        
          − 
         
        
          α 
         
         
         
           1 
          
         
           m 
          
         
         
         
           ∑ 
          
          
          
            i 
           
          
            = 
           
          
            1 
           
          
         
           m 
          
         
        
          ( 
         
         
         
           h 
          
         
           θ 
          
         
        
          ( 
         
         
         
           x 
          
          
          
            ( 
           
          
            i 
           
          
            ) 
           
          
         
        
          ) 
         
        
          − 
         
         
         
           y 
          
          
          
            ( 
           
          
            i 
           
          
            ) 
           
          
         
        
          ) 
         
        
          ∗ 
         
         
         
           x 
          
          
          
            ( 
           
          
            i 
           
          
            ) 
           
          
         
        
       
         \theta_j := (1-\partial\frac{\lambda}{m})\theta_j-\alpha\frac{1}{m}\sum_{i=1}^m (h_\theta(x^{(i)})-y^{(i)})*x^{(i)} 
        
       
     θj:=(1−∂mλ)θj−αm1i=1∑m(hθ(x(i))−y(i))∗x(i)可以看到,正则化的梯度下降就是将 
     
      
       
        
        
          θ 
         
        
          j 
         
        
       
      
        \theta_j 
       
      
    θj缩小一下,然后采用常规的梯度下降进行处理
如果我们采用正规方程,那么正则化的正规方程的形式则如下:
  
      
       
        
        
          θ 
         
        
          = 
         
        
          ( 
         
         
         
           X 
          
         
           T 
          
         
        
          X 
         
        
          + 
         
        
          λ 
         
         
         
           [ 
          
          
           
            
             
             
               0 
              
             
            
            
             
              
             
            
            
             
              
             
            
            
             
              
             
            
            
             
              
             
            
           
           
            
             
              
             
            
            
             
             
               1 
              
             
            
            
             
              
             
            
            
             
              
             
            
            
             
              
             
            
           
           
            
             
              
             
            
            
             
              
             
            
            
             
             
               . 
              
             
            
            
             
              
             
            
            
             
              
             
            
           
           
            
             
              
             
            
            
             
              
             
            
            
             
              
             
            
            
             
             
               . 
              
             
            
            
             
              
             
            
           
           
            
             
              
             
            
            
             
              
             
            
            
             
              
             
            
            
             
              
             
            
            
             
             
               1 
              
             
            
           
          
         
           ] 
          
         
         
         
           ) 
          
          
          
            − 
           
          
            1 
           
          
         
         
         
           X 
          
         
           T 
          
         
        
          y 
         
        
       
         \theta = (X^TX+\lambda\begin{bmatrix} 0 & & & & \\ & 1& & & \\ & & .& & \\ & & & . & \\ & & & & 1 \end{bmatrix})^{-1}X^Ty 
        
       
     θ=(XTX+λ 
              01..1 
              )−1XTy
 相比常规正规方程增加了一个矩阵后,只要 
     
      
       
       
         λ 
        
       
         > 
        
       
         0 
        
       
      
        \lambda>0 
       
      
    λ>0小括号里的矩阵就一定是可逆的,因此是一定有计算结果的。这也回应了之前在介绍正规方程时, 
     
      
       
       
         ( 
        
        
        
          X 
         
        
          T 
         
        
       
         X 
        
        
        
          ) 
         
         
         
           − 
          
         
           1 
          
         
        
        
        
          X 
         
        
          T 
         
        
       
         y 
        
       
      
        (X^TX)^{-1}X^Ty 
       
      
    (XTX)−1XTy中的矩阵求逆一旦遇到不可逆的矩阵该怎么办,答案就是采用正规化将其变成可逆的
逻辑(Logistics)回归正规化

 当我们采用一个有很多无关特征的多项式进行拟合的时候,这些大量的特征会导致过拟合


















