[PyTorch][chapter 3][李宏毅深度学习-偏差,方差,过拟合,欠拟合]

前言:

         这章的目的主要是通过诊断错误的来源,通过错误的来源去优化,挑选模型。

通过本章掌握 过拟合(overfitting)和欠拟合(underfitting)出现原因及解决方案.

 

目录:

    1    概述

    2    方差,偏差现象

    3   过拟合和欠拟合

    4  模型选择

    5  概率论回顾


一  概述

   [PyTorch][chapter 3][李宏毅深度学习-偏差,方差,过拟合,欠拟合]_第1张图片

[PyTorch][chapter 3][李宏毅深度学习-偏差,方差,过拟合,欠拟合]_第2张图片

    如上图:

     红色空间:真实的数据和标签之间存在一个映射函数\hat{f}(标签)

     绿色空间: 

     通过训练集上的数据训练出最优的映射函数f^{*}  在数据集\begin{Bmatrix} x^1,& x^2 ,& ... &x^N \end{Bmatrix} 进行采样

      f^{*} 和\hat{f} 差异称为偏差 bias

      f^{*}之间分布称为方差variance

1.2 estimate 

        假设x的期望值为 u,方差为 \sigma^2

        我们通过采样N个样本采样来估计u,\sigma^2

        \begin{Bmatrix} x^1,& x^2 ,& ... &x^N \end{Bmatrix}

        样本均值:  \bar{x}=\frac{1}{N}\sum x^{n}

         样本均值方差: var(\bar{x})=\frac{\sigma^2}{N}

          通过增大样本数,可以降低样本均值方差.所以我们训练的时候

一般使用批量梯度下降.

[PyTorch][chapter 3][李宏毅深度学习-偏差,方差,过拟合,欠拟合]_第3张图片

     


二  方差 偏差现象

   [PyTorch][chapter 3][李宏毅深度学习-偏差,方差,过拟合,欠拟合]_第4张图片

红色部分: 真实的映射空间

蓝色空间:在训练得到的模型空间上,通过采样得到不同的分布

有4种关系

2.1   低偏差,低方差

         训练得到的模型 f^{*} 和真实 \hat{f} 空间一致,此刻偏差方差都很小

         理想情况。

 2.2  低偏差,高方差

       ​​​​​​​[PyTorch][chapter 3][李宏毅深度学习-偏差,方差,过拟合,欠拟合]_第5张图片

          模型f^{*} 比真实的\hat{f} 空间复杂,此刻偏差小,但是方差大。

         E(f^{*})=\bar{f}

  2.3  高偏差,第方差

         比如预测模型比较简单 f(x)=2 ,方差为0,

          真实的\hat{f}(x)=2x

        但是跟真实的偏差很大.

2.4  高偏差,高方差

            最糟糕的情况.

[PyTorch][chapter 3][李宏毅深度学习-偏差,方差,过拟合,欠拟合]_第6张图片


三  过拟合 和 欠拟合

[PyTorch][chapter 3][李宏毅深度学习-偏差,方差,过拟合,欠拟合]_第7张图片

     3.1 欠拟合

           当模型在训练集上表现的很糟糕,bias 偏差很大

           高偏差现象,要想办法降低偏差:

          增加模型的复杂度,或者重新设计模型,增加特征。

      3.2 过拟合

            模型在训练集的数据集上表现很好,但是在测试的时候

     很糟糕。

          这就是低偏差,高方差现象.要想办法降低方差

           解决方案:

          降低模型复杂度,正规化

          增加数据集

[PyTorch][chapter 3][李宏毅深度学习-偏差,方差,过拟合,欠拟合]_第8张图片


四  模型选择

      4.1  方案1 

     我们在train集上训练出来的模型和验证集上面得到Error 一般都是不一样的。

比如train 集上训练出多个model: model1,model2,model3

需要根据验证集上的表现综合考量,当选出最优模型可以,可以增加

数据集上的数据量再训练一次,降低模型方差,使得其在测试集上有更好的表现.

4.2  N-fold Cross Validation

 把数据集分为三份,通过不同的划分方式 依次训练出模型1,2,3

[PyTorch][chapter 3][李宏毅深度学习-偏差,方差,过拟合,欠拟合]_第9张图片

  根据Val Data 上的Error ,挑选出Error 平均值最小的。

[PyTorch][chapter 3][李宏毅深度学习-偏差,方差,过拟合,欠拟合]_第10张图片


五  概率论回顾

      1.1  数学期望 

            u=E(x)=\sum_{i=1}^{\infty } x_i p(x_i)

       1.2  方差

             用 var(x) or  D(x) 表示

              var(x)=E(x-u)^2

                             =E(x^2-2xu+u^2)

                            =E(x^2)-2 E(x)u+u^2

                           =E(x^2)-u^2

                  其中 

                   u=E(x)
 

      1.2  标准差,总体方差

            方差描述随机变量对于数学期望的偏离程度

              \sigma^2=\frac{1}{n}\sum_{i=1}^{n}(x_i-u)^2

     1.3 样本方差

              有偏估计   s^2=\frac{1}{n}\sum_{i}(x_i -\bar{x})^2

              无偏估计  s^2=\frac{1}{n-1}\sum_{i}(x_i -\bar{x})^2

               \bar{x}=\frac{1}{n}\sum_{i}^n x_i

       1.4  Var(\bar{x})

                var(\bar{x})=D(\frac{1}{n}\sum_{i}x_i)

                             =\frac{1}{n^2}D(\sum_{i}x_i)

                              =\frac{1}{n^2}(n \sigma^2)

                               =\frac{\sigma^2}{n}

      1.5  样本方差和标准差的联系

                 \sigma^2=\frac{n}{n-1}E(s^2)

      证明:

[PyTorch][chapter 3][李宏毅深度学习-偏差,方差,过拟合,欠拟合]_第11张图片

          所以

           \sigma^2=\frac{n}{n-1}E(s^2)

                     =\frac{n}{n-1}\frac{1}{n}\sum_{i}(x_i -\bar{x})^2

                      =\frac{1}{n-1}\sum (x_i-\bar{x})^2

参考:

(史上最全总结)总体方差,样本方差,标准差,抽样方差,标准误差,均方误差,协方差 ...........-CSDN博客

你可能感兴趣的:(深度学习,pytorch,人工智能)