李巨集毅機器學習筆記(3) error

2021-09-22 01:37:35 字數 3108 閱讀 6575

這一講主要聊的是誤差到底是從**來的,誤差主要**於兩個地方,即w和b,這兩個引數其實也代表了上一講提到過的回歸模型。通過了解誤差的**,我們可以提公升模型。這節課大量知識都是概率論中學的,很基礎很有趣。

我們不知道實際情況下模型到底是什麼樣子的,但是我們能通過訓練資料,擬合出模型,這個模型實際上可以算是估計值,但是估計值不等於實際值,兩者之差即為誤差,誤差可能**於偏差或者特徵的引數。

以下我們需要複習一些知識為之後的學習做鋪墊:

圖 1-1 樣本均值

概率論中學到過均值,可以利用均值估計,但是平均值很難等於實際估測值。當資料足夠多,樣本的期望其實會趨近於實際的均值的。

圖1-2 無偏估計方差

同樣,概率論中很初步的知識,方差也可以進行描述出樣本的偏差的情況,方差越大,樣本分佈點越分散。

圖 1-3 有偏估計方差

這裡可以使用數理統計中的知識進行對應了,上圖中的s2

由上面的知識我們可以回歸主題:誤差從何而來?

圖1-4 偏差與變數對誤差影響

誤差**於兩個地方,如圖1-4,可以想象為打靶,實際的樣本點就是靶心紅色區域,我們目標是通過模型估測值盡量趨近於靶心。bias的誤差會導致我們的估計值會偏離精確值(靶心),偏差的誤差會導致我們瞄準靶心時沒有瞄準。variance的誤差會導致估計值分布較為分散,會導致我們打靶分布會分散。圖上,我們當然希望兩者的誤差都很小。

不同的模型,在不同的實際情況會導致完全不同的誤差,說的更具體一下,做不同的實驗,經常結果也會不同。

圖2-1 不同模型對實際情況的影響

接著上文來說,我們使用不同的模型做大量的實驗。如圖2-1,使用不同模型經過多次分析,發現。使用較為簡單的模型,在實際情況下,會有較小的變數上的誤差(左圖),而複雜的模型varience上的誤差影響較大(左圖)。很容易明白,模型越複雜,不同的樣本對模型的影響就會更大。

圖3-1 bias對模型影響

再來考慮bias,如圖3-1。可以看出,使用較為簡單的模型,會導致偏差誤差會較大,即實際情況下據目標中心偏差較大(左圖)。而較為複雜的模型,bias誤差較小,據實際目標中心偏差較小(右圖)。

詳細來說,看圖3-1,黑線是實際的線,紅線是做了5000次實驗後擬合模型的線,藍色為紅線的平均的模型。通過兩圖對比,結論顯而易見了,如果模型較為簡單,那麼這個模型包含的靶子上區域可能就比較小,甚至就沒有包含我們的實際目標。相反複雜的模型可能包含了我們的實際目標,但它的包含的區域太大了,我們很難準確找出這個精確的目標。(這段可以聽一下老師講的)

圖4-1 過擬合與欠擬合

上面我們了解到了不同的模型會導致的結果,這裡我們就要引出兩個重要的觀點了。根據圖4-1我們可知,當出現模型過於簡單時,容易出現bias誤差較大,而varience誤差較小,我們稱為欠擬合。欠擬合意味著我們的模型過於簡單並沒有較好的反映了實際的情況。

相反的是模型較為複雜,bias小,varience大,我們稱此為過擬合。過擬合意味著我們的模型過於適應樣本而不適用於實際情況,導致泛化能力較差。

如果,你的模型不能擬合較多的樣本點,無法較好的適應模型,會發生欠擬合。而當你的模型幾乎全部的包含了樣本點,但是產生了擬合中的巨大的錯誤,很可能是過擬合。

對於欠擬合,你可以重新設計你的模型:

在輸入中,增加新的因素

選擇更為複雜的模型

對於varience大:

正則化:使曲線平滑(上節提到過,正則化算是乙個比較有用的工具嘍)

圖4-2 過大的variance

根據上文所說啊,其實我們希望選取平衡兩者的模型。

實際情況下,我們會使用測試集去對模型測試,當然測試集是有一定的參考價值的,但我們更應該去仔細考量實際情況下進行測試的誤差,而且我們經常會發現實際情況下的誤差往往會比我們測試集上的誤差要大哦,如圖5-1。

圖5-1模型測試

通常,我們在模型設計時,會將訓練資料直接分成兩組,一組訓練集,一組驗證集(validation set),訓練之後可以進行驗證評估,我們稱為交叉驗證(交叉驗證這個建議去看西瓜書,周老師這裡講的還是比較全面的)。交叉驗證, 重複的使用資料,把得到的樣本資料進行切分,組合為不同的訓練集和測試集,用訓練集來訓練模型,用測試集來評估模型**的好壞。在此基礎上可以得到多組不同的訓練集和測試集,某次訓練集中的某樣本在下次可能成為測試集中的樣本,即所謂「交叉」。如圖5-2。

圖5-2 交叉驗證

當然,我們可以把樣本集分成n份,取其中1份為測試集,剩下n-1份為訓練集,之後模型測試。後更改測試集,不斷重複這種實驗,每個模型求平均誤差,如圖5-3。(這個也可以看周老師的西瓜書,寫的很詳細)

圖5-3 n階交叉驗證

ML 李巨集毅機器學習一 error

error反映的是整個模型的準確度,bias反映的是模型在樣本上的輸出與真實值之間的誤差,即模型本身的精準度。variance反映的是模型每一次輸出結果與模型輸出期望值之間的誤差,即模型的穩定性 1.where does the error come from?error有兩種 分別是bias和va...

李巨集毅機器學習 學習筆記

function set就是model 機器學習3大步驟 1.定義模型 function 集合 2.指定模型 function 好壞的評價指標 3.通過演算法選擇到最佳的模型 function alphago下棋模型抽象為棋局向下一步的分類問題 減少擁有label的data用量的方法 1.semi ...

李巨集毅機器學習 Introduction

人工智慧是我們想要達到的目標,即讓機器和人一樣智慧型。而機器學習是方法,讓機器從資料中學習,從而得到智慧型的方法。智慧型是什麼呢?對於人類智慧型而言,根據霍華德 加德納的多元智慧型理論,人類的智慧型分為以下七種智慧型 這不僅涵蓋了現在人工智慧的研究領域,計算機視覺 語音識別 自然語言處理等。而且也指...