[李宏毅 機器學習] 2.誤差來源

您可以在我的個人博客 blog.pengwill.info 獲得更好的閱讀體驗。

思維導圖

在這裏插入圖片描述

系統的誤差來自兩個方面,Bias和Variance

數理統計中的方差和偏差

當我們需要隨機變量xx所服從的總體分佈的均值和方差的時候,有不同的估計方法。然而在選擇估計量進行估計的時候,可能會有偏差,據此可以分爲有偏估計無偏估計。下面爲均值和方差的估計方法。

估計均值μ\mu

  1. 首先從總體抽樣,獲得一個樣本集,如抽NN個樣本X1,X2,,XNX^1,X^2,\dots,X^N構成一個樣本集
  2. 計算此樣本集的均值m=i=1NXiNm=\frac{\sum^N_{i=1}X_i}{N}
  3. 多次採樣,即得出多個樣本集,如共得到KK個樣本集,計算樣本集均值的均值E[m]=E[1Ni=1NXi]=1NE[i=1NXi]E[m] = E[\frac{1}{N}\sum_{i=1}^{N}X_i]=\frac{1}{N}E[\sum_{i=1}^{N}X_i]

上述表述即爲中心極限定理,mm爲總體均值μ\mu的一個無偏估計。

估計方差σ2\sigma^2

  1. 首先從總體抽樣,獲得一個樣本集,如抽NN個樣本X1,X2,,XNX^1,X^2,\dots,X^N構成一個樣本集
  2. 計算此樣本集的均值m=i=1NXiNm=\frac{\sum^N_{i=1}X_i}{N},計算樣本集的二階中心矩S2=1Ni=1N(Xim)2S^2=\frac{1}{N}\sum_{i=1}^{N}(X_i-m)^2
  3. 多次採樣,即得出多個樣本集,如共得到KK個樣本集,計算樣本集二階中心距的均值E[S2]=1NE[i=1N(Xim)2]E[S^2]=\frac{1}{N}E[\sum_{i=1}^{N}(X_i-m)^2]
  4. 此時的估計爲有偏估計,與真實的方差之間的差別爲E[S2]=N1Nσ2E[S^2]=\frac{N-1}{N}\sigma^2

由此可知S2S^2爲總體方差的σ2\sigma^2的一個有偏估計。

爲什麼會有這樣的結果

假定我們對於參數爲θ\theta的某個分別連續採樣,想要通過觀測值來估計參數θ\theta,估計的到的參數記爲θ^\hat{\theta},那麼估計的偏差爲Bias[θ^]=E[θ^]θBias[\hat{\theta}]=E[\hat{\theta}]-\theta。那麼無偏估計爲Bias[θ^]=0Bias[\hat{\theta}] = 0的估計。

對於均值的估計偏差

\[
\begin{align*}
E[m] &=\frac{1}{N}E[\sum_{i=1}^{N}X_i] \\ &= \frac{1}{N}\sum_{i=1}^NE(X_i) \\ &=\frac{1}{N}\sum_{i=1}^{N}\mu\&=\mu
\end{align*}
\]

可以看到樣本均值即爲總體均值,故爲無偏估計。

對於方差估計偏差

E[S2]=E[1ni=1n(Xim)2]=E[1ni=1n((Xiμ)(mμ))2] =E[1ni=1n((Xiμ)22(mμ)(Xiμ)+(mμ)2)] =E[1ni=1n(Xiμ)22n(mμ)i=1n(Xiμ)+1n(mμ)2n] =E[1ni=1n(Xiμ)22n(mμ)i=1n(Xiμ)+(mμ)2] =E[1ni=1n(Xiμ)22n(mμ)n(mμ)+(mμ)2] =E[1ni=1n(Xiμ)22(mμ)2+(mμ)2] =E[1ni=1n(Xiμ)2(mμ)2] =E[1ni=1n(Xiμ)2]E[(mμ)2] =σ2E[(mμ)2]=(11n)σ2<σ2 \begin{aligned} \mathrm{E}\left[S^{2}\right] &=\mathrm{E}\left[\frac{1}{n} \sum_{i=1}^{n}\left(X_{i}-m\right)^{2}\right]=\mathrm{E}\left[\frac{1}{n} \sum_{i=1}^{n}\left(\left(X_{i}-\mu\right)-(m-\mu)\right)^{2}\right] \\\ &=\mathrm{E}\left[\frac{1}{n} \sum_{i=1}^{n}\left(\left(X_{i}-\mu\right)^{2}-2(m-\mu)(X_{i}-\mu)+(m-\mu)^{2}\right)\right] \\\ &=\mathrm{E}\left[\frac{1}{n} \sum_{i=1}^{n}\left(X_{i}-\mu\right)^{2}-\frac{2}{n}(m-\mu) \sum_{i=1}^{n}\left(X_{i}-\mu\right)+\frac{1}{n}(m-\mu)^{2} \cdot n\right] \\\ &=\mathrm{E}\left[\frac{1}{n} \sum_{i=1}^{n}\left(X_{i}-\mu\right)^{2}-\frac{2}{n}(m-\mu) \sum_{i=1}^{n}\left(X_{i}-\mu\right)+(m-\mu)^{2}\right] \\\ &=\mathrm{E}\left[\frac{1}{n} \sum_{i=1}^{n}\left(X_{i}-\mu\right)^{2}-\frac{2}{n}(m-\mu) \cdot n \cdot(m-\mu)+(m-\mu)^{2}\right] \\\ &=\mathrm{E}\left[\frac{1}{n} \sum_{i=1}^{n}\left(X_{i}-\mu\right)^{2}-2(m-\mu)^{2}+(m-\mu)^{2}\right] \\\ &=\mathrm{E}\left[\frac{1}{n} \sum_{i=1}^{n}\left(X_{i}-\mu\right)^{2}-(m-\mu)^{2}\right] \\\ &=\mathrm{E}\left[\frac{1}{n} \sum_{i=1}^{n}\left(X_{i}-\mu\right)^{2}\right]-\mathrm{E}\left[(m-\mu)^{2}\right] \\\ &=\sigma^{2}-\mathrm{E}\left[(m-\mu)^{2}\right]=\left(1-\frac{1}{n}\right) \sigma^{2}<\sigma^{2} \end{aligned}

當樣本均值mm和總體均值μ\mu相等時,二階中心矩的期望和總體方差σ2\sigma^2相等,否則二階中心距期望小於總體方差σ2\sigma^2

話說回來

如果我們對一個量進行估計,若估計的本身就是有偏的,那麼無論我們估計的再準,最終結果也會有偏差。這就好比使用二階中心距來估計總體方差,無論二階中心距計算的再準,也是會有偏差的(即bias)。使用修正後的公式後則不會出現這個問題。

如果我們在估計時選擇無偏估計量,那麼如何進一步評價這個估計量的好壞呢?我們一般認爲越有效的估計量越好。有效性指的是估計量與總體參數的離散程度,即方差的大小,方差越小,則估計量越有效。

模型的方差和偏差

模型的方差

簡單的模型受數據的影響較小,因爲簡單模型參數少,在數據不同的時候,變化較小。
複雜的模型受數據的影響較大,因爲複雜模型參數多,在數據不同的時候,變化較大。

複雜系統的穩定性小,簡單模型的穩定性大。

模型的偏差

簡單模型的偏差可能會很大,因爲簡單模型所能表達的有限,故有可能會使得最後的偏差很大。當出現這種情況的時候,這是說明沒有很好的擬合數據(underfitting)。

複雜模型的表達能力更強,但是受數據影響較大,即每次得出的模型方差會很大,出現這種情況的時候,說明已經過頭擬合了數據(overfitting)。

模型診斷

判斷

  1. 如果模型在訓練集上的表現很差(高bias),即不能很好的擬合訓練集,則說明模型比較簡單,處於欠擬合(underfitting)的狀態。
  2. 如果模型在訓練集上的表現很好,但是在測試集上的表現不好(高variance),則說明模型複雜,且處於過擬合(overfitting)的狀態。

調整

  1. 當欠擬合的狀態,應該提高模型複雜度,在模型中加入更多的特徵。
  2. 當過擬合的時候,應該增加數據量,或者增加正則項。

模型選擇

我們希望找到一個模型,他的方差很小,他的偏差也很小。

劃分驗證集

將Training Set分爲兩組,一組爲Training Set,另一組爲Validation Set(驗證集)。首先使用Training Set進行訓練,訓練出多個模型後,使用Validation Set選擇一個誤差最小的模型。然後提交這個模型。這個模型在Public Set上的誤差可以代表在Private Set上的誤差。

切記不要通過Public Set來調整模型。比如在貓狗分類中,查看在Public Set上誤分類的貓,來進一步提高貓的分類效果。這樣的操作相當於過擬合Public Set,會導致看起來在Public Set上的效果很好,但是最後在Private Set的效果很差,最後訓練的模型沒有很好的泛化能力。

N折交叉驗證

將Training Set平均爲N組,每一次訓練,都將N組中其中一組作爲Validation Set,其餘作爲Training Set。當訓練好多個模型的時候,進行評估時,同樣執行N次,每一次用其中的Validation Set評估,計算出誤差,最後求出N個誤差的均值,作爲這個模型的平均誤差。選取平均誤差最小的作爲最後的模型。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章