機(jī)器學(xué)習(xí)應(yīng)用基礎(chǔ) 課件 第二章 模型評估選擇_第1頁
機(jī)器學(xué)習(xí)應(yīng)用基礎(chǔ) 課件 第二章 模型評估選擇_第2頁
機(jī)器學(xué)習(xí)應(yīng)用基礎(chǔ) 課件 第二章 模型評估選擇_第3頁
機(jī)器學(xué)習(xí)應(yīng)用基礎(chǔ) 課件 第二章 模型評估選擇_第4頁
機(jī)器學(xué)習(xí)應(yīng)用基礎(chǔ) 課件 第二章 模型評估選擇_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第二章模型評估選擇機(jī)器學(xué)習(xí)應(yīng)用基礎(chǔ)01020304模型的評估選擇模型驗(yàn)證模型性能評估模型優(yōu)化目錄CONTENTS模型的設(shè)計(jì)原則01案例張三(死記硬背)李四(心不在焉)王五(舉一反三)對人類來說,你所有訓(xùn)練題都做正確不算什么,重要的是每次測驗(yàn)題都能拿高分案例對機(jī)器來說,機(jī)器學(xué)習(xí)需要根據(jù)問題特點(diǎn)和已有數(shù)據(jù)確定具有最強(qiáng)解釋性或預(yù)測力的模型,其過程也可以劃分為類似于“學(xué)習(xí)-練習(xí)-考試”這樣的三個(gè)階段,每個(gè)階段的目標(biāo)和使用的資源可以歸納如下:模型擬合(modelfitting):利用訓(xùn)練數(shù)據(jù)集(trainingset)對模型的普通參數(shù)進(jìn)行擬合;模型選擇(modelselection):利用驗(yàn)證數(shù)據(jù)集(validationset)對模型的超參數(shù)進(jìn)行調(diào)整,篩選出性能最好的模型;模型評估(modelassessment):利用測試數(shù)據(jù)集(testset)來估計(jì)篩選出的模型在未知數(shù)據(jù)上的真實(shí)性能。沒有免費(fèi)午餐定理對于基于迭代的最優(yōu)化算法,不存在某種算法對所有問題(有限的搜索空間內(nèi))都有效.如果一個(gè)算法對某些問題有效,那么它一定在另外一些問題上比純隨機(jī)搜索算法更差.也就是說,不能脫離具體問題來談?wù)撍惴ǖ膬?yōu)劣,任何算法都有局限性.必須要“具體問題具體分析”。每個(gè)模型用于解決所有問題時(shí),其平均意義上的性能是一樣的。所有模型在等概率出現(xiàn)的問題上都有同樣的性能,這件事可以從兩個(gè)角度來理解:從模型的角度來看,如果單獨(dú)拿出一個(gè)特定的模型來觀察的話,這個(gè)模型必然會在解決某些問題時(shí)誤差較小,而在解決另一些問題時(shí)誤差較大;從問題的角度來看,如果單獨(dú)拿出一個(gè)特定的問題來觀察的話,必然有某些模型在解決這些問題時(shí)具有較高的精度,而另一些模型的精度就沒那么理想了。沒有免費(fèi)午餐定理NFL定理最重要的指導(dǎo)意義在于先驗(yàn)知識的使用,也就是具體問題具體分析。機(jī)器學(xué)習(xí)的目標(biāo)不是放之四海而皆準(zhǔn)的通用模型,而是關(guān)于特定問題有針對性的解決方案。因此在模型的學(xué)習(xí)過程中,一定要關(guān)注問題本身的特點(diǎn),也就是關(guān)于問題的先驗(yàn)知識。這就像學(xué)習(xí)數(shù)學(xué)有學(xué)習(xí)數(shù)學(xué)的方法,這套方法用來學(xué)習(xí)語文未必會有良好的效果,但它只要能夠解決數(shù)學(xué)的問題就已經(jīng)很有價(jià)值了。脫離問題的實(shí)際情況談?wù)撃P蛢?yōu)劣是沒有意義的,只有讓模型的特點(diǎn)和問題的特征相匹配,模型才能發(fā)揮最大的作用。奧卡姆剃刀原理“如無必要,勿增實(shí)體”簡單的模型泛化能力更好。如果有兩個(gè)性能相近的模型,我們應(yīng)該選擇更簡單的模型。因此,在機(jī)器學(xué)習(xí)的學(xué)習(xí)準(zhǔn)則上,我們經(jīng)常會引入?yún)?shù)正則化來限制模型能力,避免過擬合。機(jī)器學(xué)習(xí)學(xué)到的模型應(yīng)該能夠識別出數(shù)據(jù)背后的模式,也就是數(shù)據(jù)特征和數(shù)據(jù)類別之間的關(guān)系。當(dāng)模型本身過于復(fù)雜時(shí),特征和類別之間的關(guān)系中所有的細(xì)枝末節(jié)都被捕捉,主要的趨勢反而在亂花漸欲迷人眼中沒有得到應(yīng)有的重視,這就會導(dǎo)致過擬合(overfitting)的發(fā)生。反過來,如果模型過于簡單,它不僅沒有能力捕捉細(xì)微的相關(guān)性,甚至連主要趨勢本身都沒辦法抓住,這樣的現(xiàn)象就是欠擬合(underfitting)。訓(xùn)練誤差與泛化誤差在機(jī)器學(xué)習(xí)中,誤差被定義為學(xué)習(xí)器的實(shí)際預(yù)測輸出與樣本真實(shí)輸出之間的差異。模型在訓(xùn)練集上的誤差稱為“訓(xùn)練誤差”;模型在任一測試數(shù)據(jù)樣本上的誤差的期望稱為“泛化誤差”,常常通過測試數(shù)據(jù)集上的誤差來近似。假設(shè)訓(xùn)練數(shù)據(jù)集(訓(xùn)練題)和測試數(shù)據(jù)集(測試題)里的每一個(gè)樣本都是從同一個(gè)概率分布中相互獨(dú)立地生成的?;谠摢?dú)立同分布假設(shè),給定任意一個(gè)機(jī)器學(xué)習(xí)模型(含參數(shù)),它的訓(xùn)練誤差的期望和泛化誤差都是一樣的機(jī)器學(xué)習(xí)模型應(yīng)關(guān)注降低泛化誤差。偏差與方差偏差:模型預(yù)測值的期望和真實(shí)結(jié)果之間的區(qū)別,如果偏差為0,模型給出的估計(jì)的就是無偏估計(jì)。但這個(gè)概念是統(tǒng)計(jì)意義上的概念,它并不意味著每個(gè)預(yù)測值都與真實(shí)值吻合。方差:模型預(yù)測值的方差,也就是預(yù)測值本身的波動程度,方差越小意味著模型越有效。模型誤差=偏差(Biase)+方差(Variance)+噪聲(Noise)噪聲來源于數(shù)據(jù)自身的不確定性,體現(xiàn)的是待學(xué)習(xí)問題本身的難度,并不能通過模型的訓(xùn)練加以改善。除了噪聲之外,偏差和方差都與模型本身有關(guān)偏差與方差靶心就是我們的真實(shí)值,也就是我們完美預(yù)測的模型。離靶心的距離反映了我們的偏差的大小,離靶心越近,偏差越小;離靶心越遠(yuǎn),偏差越大。點(diǎn)的聚集程度反映了我們的方差的大小,點(diǎn)越分散,方差越大,點(diǎn)越聚攏,方差越小。偏差體現(xiàn)了射擊的準(zhǔn)確性,方差則體現(xiàn)穩(wěn)定性。偏差與方差理想的模型應(yīng)該是低偏差低方差的雙低模型模型的復(fù)雜度越低,其偏差也就越高;模型的復(fù)雜度越高,其方差也就越高。對模型復(fù)雜度的調(diào)整就是在偏差-方差的折中之間找到最優(yōu)解,使得兩者之和所表示的總誤差達(dá)到最小值。這樣的模型既能提取出特征和分類結(jié)果之間的關(guān)系,又不至于放大噪聲和干擾的影響。模型驗(yàn)證02訓(xùn)練集、驗(yàn)證集和測試集用來訓(xùn)練模型內(nèi)參數(shù)的數(shù)據(jù)集用來選擇模型就像是學(xué)生的課本,學(xué)生根據(jù)課本里的內(nèi)容來掌握知識就像是作業(yè),通過作業(yè)可以知道不同學(xué)生學(xué)習(xí)情況、進(jìn)步的速度快慢用來評價(jià)模型在未知樣本上的表現(xiàn),即泛化能力就像是考試,考的題是平常都沒有見過,考察學(xué)生舉一反三(泛化)的能力。訓(xùn)練集、驗(yàn)證集和測試集模型在驗(yàn)證集上的性能是模型選擇和評估的依據(jù)。無論使用什么樣的重采樣策略,驗(yàn)證集都需要滿足一個(gè)基本要求,就是不能和訓(xùn)練集有交集。模型本身就是在訓(xùn)練集上擬合出來的,如果再用相同的數(shù)據(jù)去驗(yàn)證的話,這種既當(dāng)運(yùn)動員又當(dāng)裁判員的做法就缺乏說服力了。所以在劃分時(shí),最基本的原則就是確保訓(xùn)練集、驗(yàn)證集和測試集三者兩兩互不相交。另一個(gè)需要注意的問題是訓(xùn)練、驗(yàn)證、測試集中樣例分布的一致性,避免在數(shù)據(jù)集之間出現(xiàn)不平衡。如果訓(xùn)練集和驗(yàn)證集中的樣本分布相差較大,這種分布差異將不可避免地給性能的估計(jì)帶來偏差,從而對模型選擇造成影響。數(shù)據(jù)集劃分方法留出法(hold-out):隨機(jī)采樣出一部分?jǐn)?shù)據(jù)作為訓(xùn)練集,再采樣出另一部分作為驗(yàn)證集通過留出法計(jì)算出來的泛化誤差本質(zhì)上也是個(gè)隨機(jī)變量,單次留出得到的估計(jì)結(jié)果就相當(dāng)于對這個(gè)分布進(jìn)行一次采樣,這單次采樣的結(jié)果沒辦法體現(xiàn)出隨機(jī)變量的分布特性。正因如此,在使用留出法時(shí)一般采用多次隨機(jī)劃分,在不同的訓(xùn)練、驗(yàn)證集上評估模型性能再取平均值的方式,以此來得到關(guān)于泛化誤差更加精確的估計(jì)。數(shù)據(jù)集劃分方法K折交叉驗(yàn)證:將原始數(shù)據(jù)集隨機(jī)劃分為k個(gè)大小相同的子集,并進(jìn)行k輪驗(yàn)證。每一輪驗(yàn)證都選擇一個(gè)子集作為驗(yàn)證集,而將剩余的k?1個(gè)子集用作訓(xùn)練集。k值的選取直接決定估計(jì)結(jié)果的精確程度。較小的k值意味著更少的數(shù)據(jù)被用于訓(xùn)練模型,這將導(dǎo)致每一輪估計(jì)得到的結(jié)果更加集中,但都會偏離真正的泛化誤差,也就是方差較小而偏差較大。隨著k的不斷增加,越來越多的數(shù)據(jù)被用在模型擬合上,計(jì)算出的泛化誤差也會越來越接近真實(shí)值。數(shù)據(jù)集劃分方法自助法:是有放回的隨機(jī)抽樣,即從已知數(shù)據(jù)集中隨機(jī)抽取一條樣本,然后將該樣本放入測試集的同時(shí)放回原數(shù)據(jù)集,繼續(xù)下一次抽樣,重復(fù)這樣的過程。自助法在數(shù)據(jù)集較小、難以有效劃分訓(xùn)練/測試集時(shí)很有用;此外,自助法能從初始數(shù)據(jù)集中產(chǎn)生多個(gè)不同的訓(xùn)練集,這對集成學(xué)習(xí)(強(qiáng)學(xué)習(xí)分類器)等方法有很大的好處,然而,自助法產(chǎn)生數(shù)據(jù)集改變了初始數(shù)據(jù)集的分布,這會引入估計(jì)偏差數(shù)據(jù)集劃分方法留出法優(yōu)點(diǎn)

實(shí)現(xiàn)簡單,方便,在一定程度上能夠評估泛化誤差;測試集和訓(xùn)練集分開,緩解了過擬合。缺點(diǎn)

一次劃分,結(jié)果偶然性大;數(shù)據(jù)被拆分以后,用于訓(xùn)練,測試的數(shù)據(jù)更少了。交叉驗(yàn)證法優(yōu)點(diǎn)

K可以根據(jù)實(shí)際情況設(shè)置,充分利用了所有樣本;多次劃分,評估結(jié)果相對穩(wěn)定。缺點(diǎn)

計(jì)算比較繁瑣,需要進(jìn)行k次訓(xùn)練和評估。自助法優(yōu)點(diǎn)

樣本量比較小的時(shí)候可以通過自助法產(chǎn)生多個(gè)自助樣本集,且有約36.8%的測試樣本;對于總體的理論分布沒有要求。缺點(diǎn)

無放回抽樣引起額外的偏差。已知數(shù)據(jù)集樣本量充足時(shí),通常采用留出法或者K折交叉驗(yàn)證法;對于已知數(shù)據(jù)集比較小且難以有效劃分訓(xùn)練集/測試集的時(shí)候,采用自助法;對于已知數(shù)據(jù)集比較小且可以有效劃分訓(xùn)練集/測試集的時(shí)候,采用留一法;數(shù)據(jù)集劃分方法train_test_split方法用于將數(shù)據(jù)集切分成訓(xùn)練集和測試集。sklearn.model_selection.train_test_split(*arrays,**options)Kfold類實(shí)現(xiàn)了數(shù)據(jù)集的K

折交叉切分。classsklearn.model_selection.KFold(n_splits=3,shuffle=False,random_state=None)數(shù)據(jù)集劃分方法split方法用于切分?jǐn)?shù)據(jù)集為訓(xùn)練集和測試集。返回測試集的樣本索引、訓(xùn)練集的樣本索引split(X[,y,groups])LeaveOneOut類實(shí)現(xiàn)了數(shù)據(jù)集的留一法拆分(簡稱LOO)。它是個(gè)生成器classsklearn.model_selection.LeaveOneOut(n)模型性能評估03回歸模型的評估指標(biāo)均方差(MSE)為所有樣本誤差(真實(shí)值與預(yù)測值之差)的平方和,然后取均值。

均方差的平方根(RMSE)均方差的平方根,即在MSE的基礎(chǔ)上,取平方根?;貧w模型的評估指標(biāo)平均絕對值誤差(MAE)為所有樣本誤差的絕對值和。用來表示模型擬合性的分值,值越高表示模型擬合性越好,最高為1可能為負(fù)值。

決定系數(shù)分類模型的評估指標(biāo)

預(yù)測值實(shí)際值

正樣本負(fù)樣本正樣本真的正樣本(TP)假的負(fù)樣本(FN)負(fù)樣本假的正樣本(FP)真的負(fù)樣本(TN)混淆矩陣TP:將正樣本識別為正樣本的數(shù)量(或概率)FN:將正樣本識別為負(fù)樣本的數(shù)量(或概率)FP:將負(fù)樣本識別為正樣本的數(shù)量(或概率)TN:將負(fù)樣本識別為負(fù)樣本的數(shù)量(或概率)分類模型的評估指標(biāo)正確率衡量模型對數(shù)據(jù)集樣本預(yù)測正確的比例分類模型的評估指標(biāo)召回率/查全率(recall)模型對真實(shí)正樣本的判斷能力,通俗地說,召回率則要求把盡可能少的真實(shí)正樣本判定為預(yù)測負(fù)樣本(FN)。預(yù)測為正樣本的樣本(TP)占參與預(yù)測樣本中正樣本樣本(TP+FN)的比率分類模型的評估指標(biāo)精度/查準(zhǔn)率(precision)正樣本預(yù)測值(positivepredictivevalue),表示的是預(yù)測為正樣本的樣本(TP+FP)中真正為正樣本的樣本(TP)的比率,也就是模型預(yù)測結(jié)果的準(zhǔn)確程度,通俗地說,查準(zhǔn)率要求把盡可能少的真實(shí)負(fù)樣本(TF)判定為預(yù)測正樣本(FP)。分類模型的評估指標(biāo)P-R曲線和F1值一般情況下,查準(zhǔn)率和查全率是魚和熊掌不可兼得的一對指標(biāo)。將查準(zhǔn)率和查全率畫在同一個(gè)平面直角坐標(biāo)系內(nèi),得到的就是P-R

曲線,它表示了模型可以同時(shí)達(dá)到的查準(zhǔn)率和查全率。在P-R曲線中,當(dāng)查準(zhǔn)率和查全率的平衡點(diǎn)是兩者相等時(shí),它是另外一種度量方式,即F1值:分類模型的評估指標(biāo)ROC曲線圖形的縱軸為真正樣本率(TPR—TruePositiveRate),橫軸為假正樣本率(FPR—FalsePositiveRate)。其中,真正樣本率與假正樣本率定義為:AUCAUC(AreaUndertheCurve)是指ROC曲線下的面積,使用AUC值作為評價(jià)標(biāo)準(zhǔn)是因?yàn)楹芏鄷r(shí)候ROC曲線并不能清晰的說明哪個(gè)分類器的效果更好,而AUC作為數(shù)值可以直觀的評價(jià)分類器的好壞,值越大越好。模型評估指標(biāo)的scikit-learn實(shí)現(xiàn)mean_absolute_error用于計(jì)算回歸預(yù)測誤差絕對值的均值(meanabsoluteerror:MAE)sklearn.metrics.mean_absolute_error(y_true,y_pred,sample_weight=None,multioutput='uniform_average')返回預(yù)測誤差絕對值的均值。mean_squared_error用于計(jì)算回歸預(yù)測誤差平方的均值(meansquareerror:MSE)sklearn.metrics.mean_squared_error(y_true,y_pred,sample_weight=None,multioutput='uniform_average')返回預(yù)測誤差的平方的平均值。模型評估指標(biāo)的scikit-learn實(shí)現(xiàn)accuracy_score用于計(jì)算分類結(jié)果的準(zhǔn)確率sklearn.metrics.accuracy_score(y_true,y_pred,normalize=True,sample_weight=None)如果normalize為True,則返回準(zhǔn)確率;如果normalize為False,則返回正確分類的數(shù)量。precision_score用于計(jì)算分類結(jié)果的查準(zhǔn)率sklearn.metrics.precision_score(y_true,y_pred,labels=None,pos_label=1,average='binary',sample_weight=None)返回查準(zhǔn)率模型評估指標(biāo)的scikit-learn實(shí)現(xiàn)返回F1值recall_score用于計(jì)算分類結(jié)果的查全率sklearn.metrics.recall_score(y_true,y_pred,labels=None,pos_label=1,average='binary',sample_weight=None)返回查全率f1_score用于計(jì)算分類結(jié)果的F1值sklearn.metrics.f1_score(y_true,y_pred,labels=None,pos_label=1,average='binary',sample_weight=None)模型評估指標(biāo)的scikit-learn實(shí)現(xiàn)classification_report以文本方式給出了分類結(jié)果的主要預(yù)測性能指標(biāo)。sklearn.metrics.classification_report(y_true,y_pred,labels=None,target_names=None,sample_weight=None,digits=2)返回一個(gè)格式化的字符串,給出了分類評估報(bào)告。confusion_matrix給出了分類結(jié)果的混淆矩陣。sklearn.metrics.confusion_matrix(y_true,y_pred,labels=None)返回一個(gè)格式化的字符串,給出了分類結(jié)果的混淆矩陣。模型評估指標(biāo)的scikit-learn實(shí)現(xiàn)precision_recall_curve用于計(jì)算分類結(jié)果的P-R曲線。sklearn.metrics.precision_recall_curve(y_true,probas_pred,pos_label=None,sample_weight=None)roc_curve用于計(jì)算分類結(jié)果的ROC曲線。sklearn.metrics.roc_curve(y_true,y_score,pos_label=None,sample_weight=None,drop_intermediate=True)模型評估指標(biāo)的scikit-learn實(shí)現(xiàn)roc_auc_score用于計(jì)算分類結(jié)果的ROC曲線的面積AUC。sklearn.metrics.roc_auc_score(y_true,y_score,average='macro',sample_weight=None)返回值為AUC值模型優(yōu)化04超參數(shù)往往機(jī)器學(xué)習(xí)的算法中包含了成千上百萬的參數(shù),這些參數(shù)有的可以通過訓(xùn)練來優(yōu)化,我們稱為參數(shù)(Parameter);也有一部分參數(shù)不能通過訓(xùn)練來優(yōu)化,我們稱為超參數(shù)(Hyperparameter)。機(jī)器學(xué)習(xí)中的超參數(shù)優(yōu)化旨在尋找使得機(jī)器學(xué)習(xí)算法在驗(yàn)證數(shù)據(jù)集上表現(xiàn)性能最佳的超參數(shù)。超參數(shù)與一般模型參數(shù)不同,超參數(shù)是在訓(xùn)練前提前設(shè)置的。超參數(shù)優(yōu)化找到一組超參數(shù),這些超參數(shù)返回一個(gè)優(yōu)化模型,該模型減少了預(yù)定義的損失函數(shù),進(jìn)而提高了給定獨(dú)立數(shù)據(jù)的預(yù)測或者分類精度。超參數(shù)優(yōu)化方法手動調(diào)參依靠試錯(cuò)法手動對超參數(shù)進(jìn)行調(diào)參優(yōu)化,這一方法依賴大量的經(jīng)驗(yàn),并且比較耗時(shí),因此發(fā)展出了許多自動化超參數(shù)優(yōu)化方法。網(wǎng)格化尋優(yōu)(GridSearch)網(wǎng)格化尋優(yōu)可以說是最基本的超參數(shù)優(yōu)化方法。使用這種技術(shù),我們只需為所有超參數(shù)的可能構(gòu)建獨(dú)立的模型,評估每個(gè)模型的性能,并選擇產(chǎn)生最佳結(jié)果的模型和超參數(shù)。超參數(shù)優(yōu)化方法隨機(jī)尋優(yōu)(RandomSearch)通常并不是所有的超參數(shù)都有同樣的重要性,某些超參數(shù)可能作用更顯著。而隨機(jī)尋優(yōu)方法相對于網(wǎng)格化尋優(yōu)方法能夠更準(zhǔn)確地確定某些重要的超參數(shù)的最佳值。隨機(jī)尋優(yōu)方法在超參數(shù)網(wǎng)格的基礎(chǔ)上選擇隨機(jī)的組合來進(jìn)行模型訓(xùn)練。可以控制組合的數(shù)量,基于時(shí)間和計(jì)算資源的情況,選擇合理的計(jì)算次數(shù)。超參數(shù)優(yōu)化方法的scikit-learn實(shí)現(xiàn)GridSearchCV類用于實(shí)現(xiàn)網(wǎng)格化超參數(shù)優(yōu)化classsklearn.model_selection.GridSearchCV(estimator,param_grid,scoring=None,fit_params=None,n_jo

溫馨提示

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

評論

0/150

提交評論