写在前面
均方误差,偏置和方差都是统计学中非常重要的概念。
均方误差MSE
对于机器学习来说,MSE一般是计算两个东西的MSE,一个是参数估计的MSE,一个是模型预测的MSE。我主要关注的是参数估计的MSE。
定义
参数估计的MSE定义为MSE=Eθ[(θ^−θ)2]MSE = E_\theta[(\hat{\theta}-\theta)^2]MSE=Eθ[(θ^−θ)2],其中θ\thetaθ表示真值,θ^\hat{\theta}θ^表示预测值,EθE_\thetaEθ并不是表示在θ\thetaθ的分布上求期望,而是关于似然函数的期望,即Eθ[(θ^−θ)2]=∫x(θ^−θ)2f(x;θ)dxE_\theta[(\hat{\theta}-\theta)^2]=\int_{x}(\hat{\theta}-\theta)^2f(x;\theta)dxEθ[(θ^−θ)2]=∫x(θ^−θ)2f(x;θ)dx
,可以理解为在所有观测值上求平均。
方差偏置分解
MSE可以进行分解:
MSE=Eθ[(θ^−θ)2]=Eθ[θ^2+θ2−2θ^θ]=Eθ[θ^2]−Eθ[θ^]2+Eθ[θ^]2+θ2−2θEθ[θ^]=Vθ[θ^]+(θ−Eθ[θ^])2MSE = E_\theta[(\hat{\theta}-\theta)^2]
=E_\theta[\hat{\theta}^2+\theta^2-2\hat{\theta}\theta] \\=
E_\theta[\hat{\theta}^2]-E_\theta[\hat{\theta}]^2+E_\theta[\hat{\theta}]^2+\theta^2-2\theta E_\theta[\hat{\theta}]\\=V_\theta[\hat{\theta}]+(\theta-E_\theta[\hat{\theta}])^2
MSE=Eθ[(θ^−θ)2]=Eθ[θ^2+θ2−2θ^θ]=Eθ[θ^2]−Eθ[θ^]2+Eθ[θ^]2+θ2−2θEθ[θ^]=Vθ[θ^]+(θ−Eθ[θ^])2
定义估计的偏置(偏差)为:bias=Eθ[θ^]−θbias = E_\theta[\hat{\theta}]-\thetabias=Eθ[θ^]−θ
则上式进一步写为:
MSE=Vθ[θ^]+bias2MSE = V_\theta[\hat{\theta}]+bias^2MSE=Vθ[θ^]+bias2
如果利用蒙特卡洛积分估计MSE这个期望:
Eθ[(θ^−θ)2]=∫x(θ^−θ)2f(x;θ)dx=1N∑i=1N(θ^i−θ)2E_\theta[(\hat{\theta}-\theta)^2]=\int_{x}(\hat{\theta}-\theta)^2f(x;\theta)dx\\=
\frac{1}{N}\sum_{i=1}^{N}(\hat{\theta}_i-\theta)^2Eθ[(θ^−θ)2]=∫x(θ^−θ)2f(x;θ)dx=N1i=1∑N(θ^i−θ)2其中,θ^i\hat{\theta}_iθ^i是由第iii个数据估计得来。很多时候下,做机器学习的时候,我们都用这个均方误差来作为优化的目标。
无偏估计
当biasbiasbias为0的时候,该估计就是参数的无偏估计。
有时候,虽然估计是有偏的,但是当数据愈来愈多的时候,参数的估计能够依概率收敛到真实值上,称为相合:θ^→θ\hat{\theta}\rightarrow\thetaθ^→θ
最小二乘估计(OLS)的MSE
模型为:y=Xθ+ϵy = X\theta+\epsilony=Xθ+ϵ
多元最小二乘估计(多元高斯噪声最大似然估计)的解为:θ^=(XTX)−1XTy\hat{\theta}=(X^TX)^{-1}X^Tyθ^=(XTX)−1XTy
偏差为:E[(XTX)−1XTy]−θ=(XTX)−1XTE[y]−θ=(XTX)−1XTXθ−θ=θ−θ=0E[(X^TX)^{-1}X^Ty]-\theta\\=(X^TX)^{-1}X^TE[y]-\theta\\=(X^TX)^{-1}X^TX\theta-\theta\\=\theta-\theta=0E[(XTX)−1XTy]−θ=(XTX)−1XTE[y]−θ=(XTX)−1XTXθ−θ=θ−θ=0
若假设噪声的方差是σ2I\sigma^2Iσ2I,则估计量的方差是:
Vθ[(XTX)−1XTy]=(XTX)−1XT)Vθ[y](XTX)−1XT)T=σ2(XTX)−1V_\theta[(X^TX)^{-1}X^Ty]=(X^TX)^{-1}X^T)V_\theta[y](X^TX)^{-1}X^T)^T\\=\sigma^2(X^TX)^{-1}Vθ[(XTX)−1XTy]=(XTX)−1XT)Vθ[y](XTX)−1XT)T=σ2(XTX)−1
进一步,由方差-偏置分解可得MSE=0+trace(σ2(XTX)−1)=trace(σ2(XTX)−1)MSE=0+trace(\sigma^2(X^TX)^{-1})=trace(\sigma^2(X^TX)^{-1})MSE=0+trace(σ2(XTX)−1)=trace(σ2(XTX)−1)
这里使用trace是因为多元情形下方差是矩阵。