機器學習原理及應用課件:模型評估與調優(yōu)_第1頁
機器學習原理及應用課件:模型評估與調優(yōu)_第2頁
機器學習原理及應用課件:模型評估與調優(yōu)_第3頁
機器學習原理及應用課件:模型評估與調優(yōu)_第4頁
機器學習原理及應用課件:模型評估與調優(yōu)_第5頁
已閱讀5頁,還剩38頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

模型評估與調優(yōu)思維導圖2.1訓練誤差和過擬合錯誤率:是指分類錯誤的樣本數(shù)占總樣本數(shù)的比例精度:1-錯誤率誤差:把學習器的實際預測輸出與樣本的真實輸出之間的差異訓練誤差:學習器在訓練集上的誤差泛化誤差:在新樣本上的誤差01思考題那是不是訓練誤差越小越好呢?我們希望得到泛化誤差小的學習器,然而,我們實現(xiàn)并不知道新樣本是什么樣?我們能做的是努力使訓練誤差最小化。模型選擇模型選擇的目標:新樣本上表現(xiàn)好的學習器模型學習方法:應該從訓練樣本中盡可能學出適用于所有潛在樣本的“普遍規(guī)律”過擬合:把訓練樣本的自身特點當做了所有潛在樣本都會具有的一般性質,這樣反而會導致泛化性能下降;欠擬合:對訓練樣本的一般性質沒有學好。欠擬合:比較容易克服,在決策樹學習中擴展分支,在神經(jīng)網(wǎng)絡中增加訓練輪數(shù)。過擬合:很麻煩,過擬合是機器學習面臨的關鍵障礙。各類學習算法都必然帶有一些針對過擬合的措施,然而必須認識到,過擬合是無法徹底避免的,人們所能做的只是緩解,或者說減少風險。應對措施02思考題在現(xiàn)實任務中,有多種學習算法可供選擇,甚至對同一個學習算法,當使用不同的參數(shù)配置時,也會產(chǎn)生不同的模型,那么應該選用哪一種學習算法(模型)、使用哪一種參數(shù)配置呢?這就是機器學習中的模型選擇問題。2.2評估方法理想解決方案:對候選模型的泛化誤差進行評估,然后選擇泛化誤差最小的那個模型,但無法直接獲得泛化誤差;訓練誤差又由于過擬合現(xiàn)象的存在不適合作為標準?,F(xiàn)實解決方案:測試誤差作為泛化誤差的近似,使測試誤差最小。測試樣本也是從樣本真實分布中獨立同分布采樣而得,測試集和訓練集盡可能互斥,即測試樣本盡量不在訓練集中出現(xiàn)、未在訓練過程中使用過。需使用一個“測試集”(testset)來測試學習器對新樣本的判別能力,然后以測試集上的“測試誤差”作為泛化誤差的近似。03思考題測試樣本為什么要盡可能不出現(xiàn)在訓練集中呢?04思考題只有一個包含m個樣本的數(shù)據(jù)集D,既要訓練又要測試,怎樣才能做到呢?2.2評估方法2.2.1留出法2.2.2交叉驗證法2.2.4自助法2.2.3留一法交叉驗證2.2.1留出法將數(shù)據(jù)集隨機劃分成訓練集和測試集。使用訓練集來訓練模型。使用測試集來評估模型的性能。根據(jù)測試集上的性能指標來選擇最優(yōu)的模型。留出法步驟02它將數(shù)據(jù)集(D)隨機地分成訓練集(train_set)和測試集(test_set)兩部分(8:2),這兩個集合互斥,然后使用訓練集來訓練模型,使用測試集來評估模型的性能,用測試誤差作為對泛化誤差的估計。留出法01留出法優(yōu)缺點克服缺點1)需要進行若干次隨機劃分、重復進行試驗評估后取平均值作為留出法的評估結果。2)沒有完美的解決方案,2/3到4/5的樣本用于訓練缺點數(shù)據(jù)集劃分存在隨機性評估結果存在不穩(wěn)定性優(yōu)點簡單易用,計算速度快,適用于小規(guī)模的數(shù)據(jù)集。2.2.2交叉驗證法交叉驗證法評估結果的穩(wěn)定性和保真性在很大程度上取決于k的取值,“k折交叉驗證”k折交叉驗證02交叉驗證法01圖2-210折交叉驗證示意圖重復p次不同的劃分,p次k折交叉驗證結果的均值圖2-3訓練誤差和測試誤差隨折數(shù)不同的變化圖訓練誤差趨于穩(wěn)定,測試誤差剛開始下降比較迅速,但當?shù)?次迭代以后,也趨于穩(wěn)定。10折交叉驗證回歸模型的平均訓練誤差為0.2130,說明模型在訓練數(shù)據(jù)上擬合得相對不錯。平均測試誤差為0.3360,測試誤差略高于訓練誤差,但相對來說,這個誤差值仍然相對較小,說明該模型在未見過的數(shù)據(jù)上也能表現(xiàn)良好?!纠?-1】下面對包含了100個樣本點的數(shù)據(jù)集用一元線性回歸進行擬合。此數(shù)據(jù)集使用np.random.rand(80)來生成一個包含100個隨機樣本的數(shù)組x,然后通過正弦函數(shù)和噪聲生成對應的標簽y。然后對100個樣本點進行使用了KFold類來執(zhí)行K折交叉驗證。將數(shù)據(jù)集分為10個折(K=10),然后迭代每個折,依次將每個折作為驗證集,其他折作為訓練集,訓練模型并計算訓練誤差和測試誤差。2.2.3留一法交叉驗證留一法不受隨機采樣劃分方式的影響留一法的評估結果往往被認為比較準確優(yōu)點02定義01留一法交叉驗證是k折交叉驗證的特殊情況,當k等于數(shù)據(jù)集大小時,每個子集只包含一個樣本。當數(shù)據(jù)集D比較大時,訓練m個模型的計算開銷可能是難以忍受的。留一法的估計結果也未必永遠比其他評估方法準確。缺點03圖2-4留一法的測試誤差和訓練誤差變化圖留一法的訓練誤差比較穩(wěn)定,平均值為0.2185,說明模型在訓練數(shù)據(jù)上擬合得相對不錯。留一法的測試誤差在剛開始時下降迅速,當?shù)螖?shù)為4次以后逐漸趨于穩(wěn)定,平均測試誤差為0.2284,測試誤差略高于訓練誤差,但相對來說,這個誤差值仍然相對較小,說明該模型在未見過的數(shù)據(jù)上也能表現(xiàn)良好。10折交叉驗證的平均測試誤差為0.3360,由此表明留一法表現(xiàn)較好?!纠?-2】假設有100個樣本(生成方式與例1相同,用一元線性回歸模型進行擬合數(shù)據(jù)點),拿99個做訓練集,留1個測試。完成之后每份數(shù)據(jù)都恰好被用作一次測試集,對這100次測試的擬合度做平均,則可以得出這個模型的擬合度。03思考題希望評估的是用D訓練出的模型。但在留出法和交叉驗證法中,由于保留了一部分樣本用于測試,因此實際評估的模型比使用的訓練集D小,這必然會引入一些因訓練樣本規(guī)模不同而導致的估計偏差。留一法受訓練樣本規(guī)模變化的影響較小,但計算復雜度太高。有沒有什么辦法可以減少訓練樣本規(guī)模不同造成的影響,同時還能比較高效地進行實驗估計呢?2.2.4自助法0102圖2-5自助采樣法訓練誤差和測試誤差變化情況此方法訓練誤差在0.15和0.32之間波動,測試誤差在0.11和0.36之間波動;平均訓練誤差為0.2167,平均測試誤差為0.2292;和留一法的訓練誤差相比較低,但沒有留一法穩(wěn)定,測試誤差比留一法偏高,所以相對而言,留一法表現(xiàn)較好?!纠?-3】采用100個數(shù)據(jù)樣本點,其生成方式與例1和例2相同,用一元線性回歸模型進行擬合數(shù)據(jù)點),訓練集和測試集的劃分采用自助采樣法,這里選擇100次采樣。自助法優(yōu)缺點適用場景在初始數(shù)據(jù)量足夠時,留出法和交叉驗證法更常用一些;當初始數(shù)據(jù)量較小時,可采用自助法。缺點自助法產(chǎn)生的數(shù)據(jù)集改變了初始數(shù)據(jù)集的分布,這會引入估計偏差優(yōu)點在數(shù)據(jù)集較小、難以有效劃分訓練集和測試集時很有用。能從初始數(shù)據(jù)集中產(chǎn)生多個不同的訓練集,有利于集成學習。2.3優(yōu)化參數(shù):從訓練數(shù)據(jù)集中學習到的參數(shù)超參數(shù):單獨優(yōu)化的算法參數(shù),此參數(shù)一般由人工設定。邏輯回歸的正則化參數(shù)或者決策樹的深度參數(shù)。調參:參數(shù)配置不同,學得模型的性能往往有顯著差別;還需對參數(shù)進行設定,“參數(shù)調節(jié)”或簡稱“調參”。模型選擇基本的思路:對每種參數(shù)配置都訓練出模型,然后把對應最好模型的參數(shù)作為結果。模型選擇的基本思路參數(shù)取值問題在實數(shù)范圍內(nèi)取值,對每種參數(shù)配置都訓練出模型來是不可行的。對每個參數(shù)選定一個范圍和變化步長,[0,0.2]步長為0.05,5個參數(shù)。參數(shù)組合問題每一組訓練/測試集就有55=3125個模型需要考察導致極大的調參工程驗證集從訓練集劃分出來的集合稱為驗證集,專門用來調參數(shù)的,通過驗證集把參數(shù)確定好,也就是最終的模型確定好,然后用測試集來對模型進行評估。對每種參數(shù)配置都訓練出模型,然后把對應最好模型的參數(shù)作為結果。2.3.1用學習和驗證曲線調試算法在調試機器學習算法時,學習曲線和驗證曲線是兩個非常有用的工具,它們可以幫助人們了解模型的性能和訓練過程中的問題。驗證曲線通過調整模型參數(shù)來調優(yōu)模型。學習曲線可以幫助人們評估模型圖2-6學習曲線【例2-4】用支持向量機對鳶尾花數(shù)據(jù)集進行分類,使用Python中的scikit-learn庫來創(chuàng)建和訓練模型,然后使用matplotlib庫來繪制學習曲線和驗證曲線圖2-7驗證曲線

2.3.2通過網(wǎng)格搜索調優(yōu)機器學習模型網(wǎng)格搜索方法非常簡單,它屬于暴力窮舉搜索類型,預先定義好不同的超參數(shù)值,然后讓計算機針對每種組合分別評估模型的性能,從而獲得最優(yōu)組合參數(shù)值。通過嵌套式交叉驗證選擇算法通過網(wǎng)格搜索調優(yōu)超參數(shù)1.通過網(wǎng)格搜索調優(yōu)超參數(shù)(1)利用網(wǎng)格搜索交叉驗證來尋找SVM模型在鳶尾花數(shù)據(jù)集上的最佳參數(shù)組合,并在測試集上評估模型的性能,代碼實現(xiàn)如下:importnumpyasnpfromsklearn.datasetsimportload_irisfromsklearn.model_selectionimporttrain_test_splitfromsklearn.svmimportSVCfromsklearn.model_selectionimportGridSearchCV#加載數(shù)據(jù)集iris=load_iris()X,y=iris.data,iris.target#將數(shù)據(jù)集分為訓練集和測試集X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.2,random_state=42)#創(chuàng)建一個SVM分類器svm_classifier=SVC()1.通過網(wǎng)格搜索調優(yōu)超參數(shù)(2)#定義參數(shù)網(wǎng)格param_grid={'C':[0.1,1,10],'gamma':[0.1,1,10],'kernel':['linear','rbf']}#創(chuàng)建GridSearchCV實例grid_search=GridSearchCV(svm_classifier,param_grid,cv=5,scoring='accuracy')#在訓練集上執(zhí)行網(wǎng)格搜索grid_search.fit(X_train,y_train)#輸出最佳參數(shù)和對應的交叉驗證準確率print("BestParameters:",grid_search.best_params_)print("BestCross-ValidationAccuracy:",grid_search.best_score_)#在測試集上評估模型性能best_model=grid_search.best_estimator_test_accuracy=best_model.score(X_test,y_test)print("TestAccuracy:",test_accuracy)根據(jù)三個參數(shù)的不同取值構造出了3×3×2=18種模型。1.通過網(wǎng)格搜索調優(yōu)超參數(shù)(3)運行結果:2.通過嵌套式交叉驗證選擇算法內(nèi)層循環(huán)通過網(wǎng)格搜索等方式選擇最佳的參數(shù)組合或模型;在外層循環(huán)中,使用選定的算法、參數(shù)或模型在測試集上評估性能。05思考題如何評估模型的性能優(yōu)劣?泛化性能實驗估計方法性能度量:衡量模型泛化能力的評價標準任務需求2.4.1錯誤率與準確率預測為真,實際上也為真的數(shù)據(jù)真陽性(TP)預測為真,實際上為假的數(shù)據(jù)假陽性(FP)預測為假,但實際上為真的數(shù)據(jù)假陰性(FN)預測為假,實際上也為假的數(shù)據(jù)真陰性(TN)錯誤率是分類任務中的一種性能度量,它表示分類器在所有樣本中預測錯誤的比例?;煜仃囀怯糜诿枋龇诸惾蝿罩蟹诸惼餍阅艿囊环N矩陣。

表2-1混淆矩陣

預測為陽性

預測為陰性實際為陽性 TPFN實際為陰性 FPTN錯誤率(Err)=(預測錯誤的樣本數(shù))/(總樣本數(shù))準確率=(預測正確的樣本數(shù))/(總樣本數(shù))03思考題錯誤率和準確率雖常用,但并不能滿足所有任務需求,做研究經(jīng)常查閱資料,假如想搜索關于分類學習目前都有哪些算法?在搜索結果中會關心“檢索出的信息中有多少比例是關于分類學習算法的?”或者“所有分類學習算法有多少比例被挑了出來?”2.4.2查準率、查全率與F1(1)它表示分類器預測為正例的樣本中,實際為正例的比例。查準率(Precision)01F1值越大,性能越好。F1度量03又稱召回率,它表示實際為正例的樣本中,被分類器正確預測為正例的比例。查全率(Recall)02P-R曲線特別適用于不平衡數(shù)據(jù)集。它顯示了在不同閾值下的查準率(Precision)和查全率(Recall)之間的關系。2.4.2查準率、查全率與F1(2)04平均查全率06平均查準率05平均F1值072.4.3ROC與AUC是指實際觀測為陽的樣本中,模型能夠正確識別出來的比例。真陽性率(TPR)是指實際觀測為陰的樣本中,被模型

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論