機器學習 模型評估與選擇

2021-10-09 13:57:06 字數 2186 閱讀 2556

錯誤率為分類錯誤的樣本數佔樣本總數的比例,相應的精度=1-錯誤率,模型的實際**輸出與樣本的真實輸出之間的差異稱為「誤差」,模型在訓練集上的誤差稱為「訓練誤差」,在新樣本上的誤差稱為「泛化誤差」。我們希望得到在新樣本上表現好的學習器,也就是泛化誤差小的學習器,但是並不是泛化誤差越小越好,我們應該盡可能出訓練樣本中學出適用於所有潛在樣本的「普遍規律」,然而模型把訓練樣本學的太好,很可能把訓練完本自身的特點當做所有潛在樣本都具有的一般性質,這樣就導致了泛化效能下降,這種現象稱為「過擬合」,相對立的是「欠擬合」,是指訓練樣本的一般性質尚未學好。欠擬合比較容易克制,例如在決策樹學習中擴充套件分支、在神經網路中增加訓練輪數,然而過擬合是無法避免的,我們所能做的就是盡量「緩解」,在現實生活中,我們往往有有多種學習演算法可供選擇,對於同一演算法,當使用不同引數配置時,也會產生不同的模型。

通過「訓練集」訓練出機器學習模型,通過「測試集」來測試模型對新樣本的判別能力,然後以測試集上的「測試誤差」作為泛化誤差近似,當需要注意的是,測試集應該盡可能與測試集互斥,即測試樣本盡量不在訓練樣本**現、未在訓練過程中使用。解釋為什麼(老師出了10道習題供同學們練習,考試時老師又用同樣的這10道題作為考題,這個考試成績是否能反應出同學們真實情況,機器學習的模型是希望得到泛化能力強的模型,獲得舉一反三的能力)。

我們一共包含m個樣例的資料集d=...,(xm,ym)}},既要訓練,又要測試,我們通常對d進行適當的處理,從中產出訓練集s和測試集t。

「留出法」直接將資料集d劃分為兩個互斥的集合,其中乙個集合作為訓練集s,另乙個作為測試集t,\(} = s \cup t,s \cap t = \emptyset\)需要注意的是,訓練/測試的劃分要盡可能的保持資料的一致性,避免應資料的劃分過程引入額外的偏差而對最終結果產生影響,也就是兩個集合中樣本類別比例要相似,這種保留類別比例的取樣方式稱為「分層取樣」。可即使是這樣,仍然存在多種劃分方式, 例如可以把d中的樣本排序,然後把前350個正例放到訓練集中,也可以把最後350個正例放到訓練集中,.....這不同的劃分將導致不同的訓練/測試集,模型估計必然會有偏差,

因此,單次使用留出法得到的估計結果往往不夠穩定可靠,在使用留出法時,一般要採用若干次隨機劃分、重複實驗取平均值作為留出法的結果。此外我們使用留出法對資料集d進行劃分,會有乙個很尷尬的局面,當訓練集s過多,訓練出的模型可能更加接近用d訓練出的結局,但是由於測試集t太少,評估結果不夠穩定精確;若令訓練集t的樣本數過多,這訓練出的模型和用整個資料集d訓練出的模型相差就更加大了,這個問題沒有完美的解決方法,常見做法是將2/3~4/5的樣本用於訓練。

「交叉驗證法」先將資料集d劃分為k個大小相似的互斥子集,即\(d = \cup .... \cup , \cap = \emptyset (i \ne j)\),每個子集\(\)都盡可能保持資料分布的一致性,即從d中通過分層取樣得到。然後,每次用k-1 個子集的並集作為訓練集,其餘的那個子集作為測試集;這樣就可獲得k組訓練/測試集,從而可進行k 次訓練和測試,最終返回的是這k 個測試結果的均值。通常把交叉驗證法稱為「k折交叉驗證」。

與留出法類似,k折交叉驗證要隨機使用不同的劃分重複p次,最終的評估結果是這p 次k 折交叉驗證結果的均值。

「留一法」是資料集d包含m個樣本,若令k=m,得到交叉驗證的乙個特例,留一法不收隨機樣本劃分方式的影響,劃分方式為m個子集,每個子集乙個樣本,使得訓練集和初始資料集只少乙個樣本,所以被訓練出的模型很接近實際的評估模型,但是留一法也有缺點,當資料集m很大的時候,根本無法承受訓練m個模型的計算(m等於一百萬)。

即通過自助來樣,初始資料集d 中約有36.8% 的樣本未出現在取樣資料集d'中.於是我們可將d' 用作訓練集, d\d' 用作測試集;這樣實際評估的模型與期望評估的模型都使用m個訓練樣本,而我們仍有資料總量約1/3 的、沒在訓練集**現的樣本用於測試.這樣的測試結果,亦稱"包外估計"

自助法在資料集較小、難以有效劃分訓練/測試集是很有用;此外,自助法產生的資料集改變了初始資料集的分布,這會引起估計偏差,因此在資料量足夠大的時候還是留出法和交叉驗證法更常用一些。

在進行模型評估與選擇的時候,除了要對使用學習演算法進行選擇,還需對演算法引數進行設定,這就是常說的「引數調節」簡稱「調參」。對每種引數配置都訓練出模型,然後把最好的模型作為結果,但是對每種引數訓練出模型是不可行的,現實中常用的做法,是對每個引數選定乙個範圍和變化步長,例如[0,0.2],步長選定0.05,則實際要評估的引數為5個,但即便是這樣同樣是不可行的,假設乙個演算法有3個引數,每個引數有5個候選引數,那麼一共需要考慮\( = 125\)個模型,引數調的不好往往直接影響模型的關鍵效能。

這就需要在計算開銷和效能估計中進行折中考慮。

機器學習 模型評估與選擇

1.擬合 接近目標的遠近程度。過擬合 學習能力過強導致過於擬合。過於學習學到認為女生必須是長頭髮。欠擬合 學習能力低下導致欠擬合。學習能力低下,擁有長髮的都是女生。2.評估方法 目標 所選模型的泛化誤差最小 一 留出法 step 1 將資料集d 互斥 的分成訓練集s和測試集t,d sut。step ...

機器學習 模型評估與選擇

1 經驗誤差和過擬合 錯誤率 分類錯誤的樣本數佔樣本總數的比例 精度 1 錯誤率 誤差分為訓練誤差 或稱經驗誤差 和泛化誤差 訓練誤差 在訓練集上的誤差 泛化誤差 在新樣本上的誤差 機器學習的目標是得到泛化誤差最小的學習器。學習器把訓練樣本學得 太好 了的時候,很可能已經把訓練樣本自身的一些特點當做...

機器學習 模型評估與選擇

第二章 模型評估與選擇 一 概覽 對於同一資料集而言,給定不同的演算法,會提取不同的模型,甚至對於同一演算法給定不同的引數,也會得到不同的模型,選擇最佳的模型的過程稱為模型選擇。模型選擇會遵循一定的標準,首先需要將資料集分成若干部分,一部分用於訓練模型,一部分用於測試模型的泛化能力,對於測試的結果給...