機(jī)器學(xué)習(xí)原理與應(yīng)用電子教案 5.11.1集成學(xué)習(xí)進(jìn)階_第1頁(yè)
機(jī)器學(xué)習(xí)原理與應(yīng)用電子教案 5.11.1集成學(xué)習(xí)進(jìn)階_第2頁(yè)
機(jī)器學(xué)習(xí)原理與應(yīng)用電子教案 5.11.1集成學(xué)習(xí)進(jìn)階_第3頁(yè)
機(jī)器學(xué)習(xí)原理與應(yīng)用電子教案 5.11.1集成學(xué)習(xí)進(jìn)階_第4頁(yè)
機(jī)器學(xué)習(xí)原理與應(yīng)用電子教案 5.11.1集成學(xué)習(xí)進(jìn)階_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

備課日期:年月日授課時(shí)間課時(shí)(理論+實(shí)驗(yàn))周次星期:節(jié)次:授課課題集成學(xué)習(xí)[進(jìn)階]教學(xué)目標(biāo)1.理解集成學(xué)習(xí)的高級(jí)集成框架(Boosting、Bagging與Stacking)基本原理。2.掌握Scikit-learn集成學(xué)習(xí)高級(jí)集成框架的實(shí)現(xiàn)方法。教學(xué)重點(diǎn)1.Boosting集成學(xué)習(xí)框架。2.Bagging集成學(xué)習(xí)框架。3.Stacking集成學(xué)習(xí)框架。教學(xué)準(zhǔn)備PPT、點(diǎn)名冊(cè)等。教學(xué)方法指導(dǎo)閱讀、實(shí)例演示。教學(xué)過(guò)程設(shè)計(jì)備注課題引入【思考】集成學(xué)習(xí)基礎(chǔ)集成策略的局限性?!娟P(guān)鍵】集成學(xué)習(xí)旨在訓(xùn)練多個(gè)“個(gè)體學(xué)習(xí)器”或者基學(xué)習(xí)器,然后以特定策略將其進(jìn)行組合以產(chǎn)生比單一學(xué)習(xí)器性能優(yōu)越的強(qiáng)學(xué)習(xí)器。從理論上而言,只要基分類器不比弱分類器差(瞎猜好一點(diǎn)的分類器),隨著個(gè)體分類器數(shù)目的增大,集成后的強(qiáng)分類器的錯(cuò)誤率會(huì)趨向于0,或者說(shuō)集成后的強(qiáng)分類器可以任意好!【時(shí)間】分鐘。教學(xué)步驟及主要內(nèi)容【主板】§15.集成學(xué)習(xí)框架[進(jìn)階]一、Boosting框架【主板】BoostingBoosting算法是一種可將弱學(xué)習(xí)器提升為強(qiáng)學(xué)習(xí)器的算法。1.基本原理【強(qiáng)化與拓展】先根據(jù)初始訓(xùn)練樣本訓(xùn)練初始基學(xué)習(xí)器,再根據(jù)初始基學(xué)習(xí)器的表現(xiàn)對(duì)訓(xùn)練樣本分布進(jìn)行調(diào)整,使得初始基學(xué)習(xí)器分類錯(cuò)誤的訓(xùn)練樣本在后續(xù)受到更多關(guān)注;然后基于調(diào)整后的訓(xùn)練樣本訓(xùn)練下一個(gè)基學(xué)習(xí)器(此基學(xué)習(xí)器將嘗試糾正先前基學(xué)習(xí)器的錯(cuò)誤),如此重復(fù)進(jìn)行直至基學(xué)習(xí)器數(shù)目達(dá)到事先指定值,最終將多個(gè)基學(xué)習(xí)器進(jìn)行加權(quán)組合以構(gòu)成性能更強(qiáng)的學(xué)習(xí)器。2.經(jīng)典算法:AdaBoost。AdaBoost首先選取一個(gè)基分類器在給定數(shù)據(jù)集上做出預(yù)測(cè)并記錄錯(cuò)誤分類的樣本,然后增加錯(cuò)誤分類樣本的權(quán)重以訓(xùn)練更新權(quán)重的訓(xùn)練集生成第二個(gè)基分類器,如此反復(fù)直至產(chǎn)生指定數(shù)量的基分類器(或擬合所有/大部分訓(xùn)練實(shí)例),進(jìn)而對(duì)基分類器進(jìn)行加權(quán)組合生成強(qiáng)分類器?!緩?qiáng)化與拓展】(1)使用加權(quán)后的訓(xùn)練數(shù)據(jù)代替隨機(jī)選取的訓(xùn)練樣本,可將模型訓(xùn)練的焦點(diǎn)集中在較難分的訓(xùn)練樣本上。(2)將弱分類器聯(lián)合起來(lái),使用加權(quán)的投票機(jī)制代替平均投票機(jī)制,進(jìn)而可使分類效果好的弱分類器具有較大的權(quán)重,而分類效果差的分類器具有較小的權(quán)重。(3)樣本權(quán)值更新。增大分類錯(cuò)誤樣本的權(quán)重,降低分類正確樣本的權(quán)重,以此突顯分錯(cuò)的樣本以構(gòu)成新的樣本分布。(4)弱分類器權(quán)值更新。增大準(zhǔn)確率較高的弱分類器的權(quán)重,降低準(zhǔn)確率較低的弱分類器?!糚PT〗基本原理。3.算法實(shí)現(xiàn)(1)庫(kù)導(dǎo)入fromsklearn.ensembleimportAdaBoostClassifierfromsklearn.ensembleimportAdaBoostRegressor(2)主函數(shù)sklearn.ensemble.AdaBoostClassifier(base_estimator=None,n_estimators=50)sklearn.ensemble.AdaBoostRegressor(base_estimator=None,n_estimators=50)【強(qiáng)化與拓展】(1)base_estimator:弱分類或回歸學(xué)習(xí)器,一般是CART決策樹(shù)或者神經(jīng)網(wǎng)絡(luò)MLP(默認(rèn)為決策樹(shù))。(2)n_estimators:弱學(xué)習(xí)器的最大個(gè)數(shù)(默認(rèn)為50);值太小容易欠擬合,太大容易過(guò)擬合。〖PPT〗編程實(shí)現(xiàn)過(guò)程。4.優(yōu)缺點(diǎn)(1)優(yōu)點(diǎn)【強(qiáng)化與拓展】(1)Adaboost算法不需要預(yù)先知道弱分類器的錯(cuò)誤率上限,且最后得到的強(qiáng)分類器的分類精度依賴于所有弱分類器的分類精度;而且可以根據(jù)弱分類器的反饋,自適應(yīng)地調(diào)整假定的錯(cuò)誤率。(2)Adaboost可以通過(guò)不改變訓(xùn)練數(shù)據(jù)而只改變數(shù)據(jù)權(quán)值分布的方式使數(shù)據(jù)在不同學(xué)習(xí)器中產(chǎn)生不同作用。(3)Adaboost可以使用各種回歸分類模型來(lái)構(gòu)建弱學(xué)習(xí)器,非常靈活。弱分類器可并行實(shí)現(xiàn)。(2)缺點(diǎn)【強(qiáng)化與拓展】(1)在Adaboost訓(xùn)練過(guò)程中,Adaboost會(huì)使得難于分類樣本的權(quán)值呈指數(shù)增長(zhǎng),訓(xùn)練將過(guò)于偏向此類樣本,導(dǎo)致其易受噪聲干擾。(2)Adaboost依賴于弱分類器,而弱分類器的訓(xùn)練時(shí)間往往很長(zhǎng)。(3)由于異常樣本在迭代中可能會(huì)獲得較高的權(quán)重,Adaboost因而對(duì)異常樣本敏感。二、Bagging框架【主板書(shū)】Bagging1.基本原理【強(qiáng)化與拓展】給定大小為n的樣本集,隨機(jī)從中取出1個(gè)樣本放入采樣集,然后再將其放回原樣本集以使下次采樣時(shí)該樣本仍有可能被選中;如此經(jīng)過(guò)n次隨機(jī)采樣操作則可得到包含大小為n的采樣集(初始樣本集中部分樣本可能在采樣集中多次出現(xiàn)或從未出現(xiàn))。類似地可采樣獲得T個(gè)大小為n的采樣集,然后對(duì)每個(gè)采樣集進(jìn)行訓(xùn)練以獲得基學(xué)習(xí)器,進(jìn)而將基學(xué)習(xí)進(jìn)行集成(如投票法)而生成強(qiáng)學(xué)習(xí)器。通過(guò)“少數(shù)服從多數(shù)”的原則來(lái)確定最終的結(jié)果。2.與Boosting的主要區(qū)別【強(qiáng)化與拓展】(1)樣本選擇:Boosting每一輪的訓(xùn)練集不變,只是訓(xùn)練集中每個(gè)樣例在分類器中的權(quán)重發(fā)生變化,而權(quán)值是根據(jù)上一輪的分類結(jié)果進(jìn)行調(diào)整。Bagging訓(xùn)練集是在原始集中有放回選取的,從原始集中選出的各輪訓(xùn)練集之間是獨(dú)立的。(2)樣例權(quán)值:Boosting根據(jù)錯(cuò)誤率不斷調(diào)整樣例的權(quán)值,錯(cuò)誤率越大則權(quán)重越大。Bagging使用均勻取樣,每個(gè)樣例的權(quán)重相等。(3)預(yù)測(cè)函數(shù):Boosting每個(gè)弱分類器都有相應(yīng)的權(quán)重,對(duì)于分類誤差小的分類器會(huì)有更大的權(quán)重。Bagging所有預(yù)測(cè)模型的權(quán)重相等。(4)計(jì)算方式:Boosting各個(gè)預(yù)測(cè)模型只能順序生成,因?yàn)楹笠粋€(gè)模型參數(shù)需要前一輪模型的結(jié)果。Bagging各個(gè)預(yù)測(cè)模型可以并行生成。3.經(jīng)典算法:隨機(jī)森林隨機(jī)森林的基本步驟如下:第一步:從原始數(shù)據(jù)集(Bootstrapping)創(chuàng)建隨機(jī)子集。第二步:在決策樹(shù)中的每個(gè)節(jié)點(diǎn)處,僅考慮一組隨機(jī)特征來(lái)決定最佳分割。第三步:在每個(gè)子集上擬合決策樹(shù)模型。第四步:通過(guò)對(duì)所有決策樹(shù)的預(yù)測(cè)求平均來(lái)計(jì)算最終預(yù)測(cè)?!緩?qiáng)化與拓展】在隨機(jī)森林中,對(duì)基決策樹(shù)的每個(gè)結(jié)點(diǎn),先從該結(jié)點(diǎn)的屬性集合中隨機(jī)選擇一個(gè)包含k個(gè)屬性的子集,然后再?gòu)倪@個(gè)子集中選擇一個(gè)最優(yōu)屬性用于劃分。用參數(shù)k控制隨機(jī)性引入程度,若令k=d,則基決策樹(shù)的構(gòu)建與傳統(tǒng)決策樹(shù)相同;若令k=1,則只隨機(jī)選擇一個(gè)屬性用于劃分;一般情況下,推薦k=log_2?d。通過(guò)這種方式引入屬性的隨機(jī)性?!糚PT〗Bagging基本原理。4.算法實(shí)現(xiàn)(1)庫(kù)導(dǎo)入fromsklearn.ensembleimportRandomForestClassifierfromsklearn.ensembleimportRandomForestRegressor(2)主函數(shù)RandomForestClassifier(n_estimators=10,criterion=‘gini’,max_depth=None)【強(qiáng)化與拓展】(1)n_estimators:隨機(jī)森林中要?jiǎng)?chuàng)建的決策樹(shù)數(shù)量(默認(rèn)值為10)。(2)criterion:采用信息熵或者基尼指數(shù)度量分裂質(zhì)量(默認(rèn)為基尼指數(shù))。(3)max_depth:樹(shù)的最大深度?!糚PT〗編程實(shí)現(xiàn)過(guò)程。三、Stacking框架【主板書(shū)】Stacking1.基本原理根據(jù)訓(xùn)練集訓(xùn)練出N個(gè)初級(jí)學(xué)習(xí)器(可為同構(gòu)基學(xué)習(xí)器或互不相同的異構(gòu)基學(xué)習(xí)器,如決策樹(shù)、神經(jīng)網(wǎng)絡(luò)等),然后以初級(jí)學(xué)習(xí)器的輸出作為特征輸入訓(xùn)練次級(jí)學(xué)習(xí)器(初始樣本的標(biāo)記仍被當(dāng)做是樣例標(biāo)記),進(jìn)而獲得最終的強(qiáng)學(xué)習(xí)器?!緩?qiáng)化與拓展】(1)通過(guò)使用上一層的預(yù)測(cè)結(jié)果作為下一層預(yù)測(cè)的特征,比起相互獨(dú)立的預(yù)測(cè)模型能夠有更強(qiáng)的非線性表述能力,降低泛化誤差。(2)Stacking是很強(qiáng)大的集成方式,在某種意義上和深度學(xué)習(xí)類似,縱向增加了學(xué)習(xí)深度,但也增加了模型復(fù)雜性和不可解釋性。2.算法實(shí)現(xiàn)(1)庫(kù)導(dǎo)入frommlxtend.classifierimportStackingClassifierfrommlxtend.regressorimportStackingRegressor【強(qiáng)化與拓展】Mlxtend是一個(gè)基于Python的開(kāi)源項(xiàng)目,主要為日常處理數(shù)據(jù)科學(xué)相關(guān)的任務(wù)提供了一些工具和擴(kuò)展。Mlxtend是一個(gè)用于日常數(shù)據(jù)科學(xué)任務(wù)的Python庫(kù)。(2)主函數(shù)StackingClassifier(classifiers,meta_classifier)StackingRegressor(regressors,meta_regressor)【強(qiáng)化與拓展】(1)classifiers/regressors:形式為數(shù)組形式的基分類器或回歸器。(2)meta_classifier/meta_regressor:元分類器或回歸器,即基分類器或回歸器集成后的分類器或回歸器?!糚PT〗編程實(shí)現(xiàn)過(guò)程。課堂練習(xí)其他無(wú)小結(jié)與作業(yè)課堂小結(jié)集成學(xué)習(xí)本身不是一個(gè)單獨(dú)的機(jī)器學(xué)習(xí)算法,而是通過(guò)構(gòu)建并結(jié)合多個(gè)個(gè)體學(xué)習(xí)器完成學(xué)習(xí)任務(wù)的策略(即常說(shuō)的“博采眾長(zhǎng)”)。集成學(xué)習(xí)可以用于分類問(wèn)題集成、回歸問(wèn)題集成、特征選取集成、異常點(diǎn)檢測(cè)集成等等,應(yīng)用非常廣泛。目前主流方法Boosting(代表:Adaboosting)、Bagging(代表:隨機(jī)森林)與Stacking等三種。對(duì)于模型組合方式,Bagging與Boosting采用多數(shù)投票或算術(shù)平均的線性組合策略,Stacking采用的是基本模型非線性組合的方式。此外,Bagging和Stacking中的基本模型須為強(qiáng)模型(低偏差高方差),Boosting中的基本模型為弱模型(低方差高偏差)。本課作業(yè)本課教學(xué)反思(課堂設(shè)計(jì)理念,實(shí)際教學(xué)效果及改進(jìn)設(shè)想)利用以下方法生成數(shù)據(jù)集,然后完成相關(guān)題目:fromsklearn.datasetsimportmake_classificationfromsklearn.model_selectionimporttrain_test_splitX,y=make_classification(n_samples=1000,n_features=4)x_train,x_test,y_train,y_test=train_test_split(x,y,test_

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論