《機器學(xué)習(xí)-Python實戰(zhàn)(微課版)》課件 第八章 隨機森林_第1頁
《機器學(xué)習(xí)-Python實戰(zhàn)(微課版)》課件 第八章 隨機森林_第2頁
《機器學(xué)習(xí)-Python實戰(zhàn)(微課版)》課件 第八章 隨機森林_第3頁
《機器學(xué)習(xí)-Python實戰(zhàn)(微課版)》課件 第八章 隨機森林_第4頁
《機器學(xué)習(xí)-Python實戰(zhàn)(微課版)》課件 第八章 隨機森林_第5頁
已閱讀5頁,還剩55頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第八章隨機森林通過本章學(xué)習(xí)可以:掌握集成學(xué)習(xí)算法的原理掌握Bagging概念掌握隨機森林算法的原理和應(yīng)用掌握隨機森林算法的scikit-learn實現(xiàn)學(xué)習(xí)目標(biāo)集成學(xué)習(xí)Bagging隨機森林隨機森林的scikit-learn實現(xiàn)應(yīng)用案例三個臭皮匠,頂個諸葛亮。眾人拾柴火焰高。這些古話有什么樣的寓意?引入集成學(xué)習(xí):Ensemble

Learning。集成學(xué)習(xí)通過構(gòu)建并結(jié)合多個“個體學(xué)習(xí)器”(individual

learner)來完成學(xué)習(xí)任務(wù),有時也被稱為多分類器系統(tǒng)(multi-classifier

system)。依據(jù)每個個體學(xué)習(xí)器所采用的學(xué)習(xí)算法是否相同,可以分為同質(zhì)集成和異質(zhì)集成。同質(zhì)集成中,個體學(xué)習(xí)器由相同的學(xué)習(xí)算法生成,個體學(xué)習(xí)器稱為基學(xué)習(xí)器。異質(zhì)集成中,個體學(xué)習(xí)器由不同的學(xué)習(xí)算法生成,個體學(xué)習(xí)器稱為組件學(xué)習(xí)器。集成學(xué)習(xí)通過將多個學(xué)習(xí)器進行結(jié)合,通??色@得比單一學(xué)習(xí)器更優(yōu)的效果。集成學(xué)習(xí)先產(chǎn)生一組“個體學(xué)習(xí)器”,然后通過某種策略將它們結(jié)合起來。集成學(xué)習(xí)一般結(jié)構(gòu)個體學(xué)習(xí)器1個體學(xué)習(xí)器2個體學(xué)習(xí)器T……結(jié)合策略輸出投票法:對分類任務(wù)來說,最常見的結(jié)合策略是投票法。平均法:對數(shù)值型輸出,最常見的結(jié)合策略就是平均法。學(xué)習(xí)法:當(dāng)訓(xùn)練數(shù)據(jù)很多時,一種更強大的組合策略是“學(xué)習(xí)法”,解決投票法和平均法誤差較大的問題。集成學(xué)習(xí)結(jié)合策略投票法通常用于分類問題。做法:每個模型的預(yù)測都被視為一次“投票”。票數(shù)最多的預(yù)測結(jié)果被用作最終預(yù)測結(jié)果。即對T個學(xué)習(xí)器的分類結(jié)果做一個統(tǒng)計,出現(xiàn)次數(shù)最多的類作為預(yù)測類。例如:當(dāng)你讓5位朋友來評價你拍的短視頻(1-10分);假設(shè)其中三位將它評為8分,而另外兩位將它評為9分。由于多數(shù)人的評分結(jié)果為8分,所以最終評分為8分。此時,可以將此結(jié)果當(dāng)作采用了所有預(yù)測的眾數(shù)(mode)。投票法平均法主要處理數(shù)值類問題。做法:對每個數(shù)據(jù)樣本的多次預(yù)測結(jié)果進行算數(shù)平均。也就是把所有模型的預(yù)測結(jié)果取平均值作為最終預(yù)測。平均法可用于回歸問題或在分類問題計算概率時使用。例如,在前一頁的問題中,平均法將取所有值的平均值。即(8+8+8+9+9)/5=8.4。平均法平均法和投票法是對弱學(xué)習(xí)器的結(jié)果做平均或者投票,相對比較簡單,但是可能學(xué)習(xí)誤差較大,于是就有了學(xué)習(xí)法。學(xué)習(xí)法是一種更為強大的結(jié)合策略,即通過另一個學(xué)習(xí)器來進行結(jié)合。Stacking是學(xué)習(xí)法的典型代表。Stacking先從初級數(shù)據(jù)集訓(xùn)練出初級學(xué)習(xí)器,然后“生成”一個新數(shù)據(jù)集用于訓(xùn)練次級學(xué)習(xí)器。在這個新數(shù)據(jù)集中,初級學(xué)習(xí)器的輸出被當(dāng)作樣例輸入特征。學(xué)習(xí)法

集成學(xué)習(xí)的一般過程描述根據(jù)弱學(xué)習(xí)器之間是否存在依賴性,分為Bagging和Boosting。Bagging:核心思想是對訓(xùn)練集進行有放回地抽取,從而為每一個基本分類器都構(gòu)造出一個同樣大小但各不相同的的訓(xùn)練集,從而訓(xùn)練出不同的基分類器。代表算法是隨機森林。Boosting:是一種可以用來減小監(jiān)督學(xué)習(xí)中偏差的機器學(xué)習(xí)算法。在分類問題中,它通過改變訓(xùn)練樣本的權(quán)重,學(xué)習(xí)多個分類器,并將這些分類器進行線性組合,提升分類的性能。代表算法有Adaboost和GradientBoostingTree(GBDT)。集成學(xué)習(xí)分類Bagging的思想Boosting的思想集成學(xué)習(xí)Bagging隨機森林隨機森林的scikit-learn實現(xiàn)應(yīng)用案例Bagging[Breiman,1996a]是并行式集成學(xué)習(xí)方法最著名的代表。Bagging是BootstrapAggregating的簡寫。Bootstrap稱為自助法,它是一種有放回的抽樣方法。在Bagging方法中,利用bootstrap方法從整體數(shù)據(jù)集中采取有放回抽樣得到T個包含m個樣本的數(shù)據(jù)集,在每個數(shù)據(jù)集上學(xué)習(xí)出一個基學(xué)習(xí)器,最后將這T個基學(xué)習(xí)器進行結(jié)合。具體地:分類問題采用簡單投票法,回歸問題采用簡單平均法。BaggingBagging運行原理圖M個訓(xùn)練樣本第1個樣本采樣集第2個樣本采樣集隨機采樣….第T個樣本采樣集弱學(xué)習(xí)器2弱學(xué)習(xí)器3弱學(xué)習(xí)器T弱學(xué)習(xí)器1強學(xué)習(xí)器訓(xùn)練訓(xùn)練訓(xùn)練訓(xùn)練從大小為M的原始數(shù)據(jù)集D中獨立隨機地抽取m個數(shù)據(jù)(m<=M),形成一個自助數(shù)據(jù)集;重復(fù)上述過程,產(chǎn)生出T個獨立的自助數(shù)據(jù)集;利用T個自助數(shù)據(jù)集訓(xùn)練出T個最優(yōu)模型;分類問題:最終的分類結(jié)果由這T個最優(yōu)模型各自的判別結(jié)果投票決定;回歸問題:對T個模型的值求平均得到最終結(jié)果。Bagging算法流程Bagging通過降低基學(xué)習(xí)器的方差改善了泛化誤差:bagging對樣本進行有放回的重采樣,學(xué)習(xí)結(jié)果是各個學(xué)習(xí)模型的平均值。由于重采樣的樣本集具有相似性以及使用相同的學(xué)習(xí)器模型,因此,各學(xué)習(xí)模型的結(jié)果相近,即模型有近似相等的偏差和方差。我們可以看到,均值沒變,但是方差卻減小到只有原方差的1/n^2。另外由于每一個樣本被選中的概率相同,因此bagging并不側(cè)重于訓(xùn)練數(shù)據(jù)集中的任何特定實例。因此對于噪聲數(shù)據(jù),裝袋不太受過分?jǐn)M合的影響。Bagging特點(1)Bagging是一個很高效的集成學(xué)習(xí)算法,其復(fù)雜度與基學(xué)習(xí)器同階。由于每一個樣本被選中的概率相同,因此bagging并不側(cè)重于訓(xùn)練數(shù)據(jù)集中的任何特定實例。因此對于噪聲數(shù)據(jù),bagging不太受過分?jǐn)M合的影響。關(guān)于bagging的一個問題:bagging的代價是不用單個學(xué)習(xí)器來做預(yù)測,具體哪個變量起到重要作用變得未知,所以bagging改進了預(yù)測準(zhǔn)確率但損失了解釋性。Bagging特點(2)集成學(xué)習(xí)Bagging隨機森林隨機森林的scikit-learn實現(xiàn)應(yīng)用案例隨機森林(RandomForest,簡稱RF)

[Breiman,2001a]是Bagging的一個擴展變體。RF在以決策樹為基學(xué)習(xí)器構(gòu)建Bagging集成的基礎(chǔ)上,進一步在決策樹的訓(xùn)練過程中引入了隨機屬性選擇。

Bagging+決策樹=隨機森林隨機森林1.自助采樣法:同bagging;2.隨機屬性選擇:傳統(tǒng)決策樹在選擇劃分屬性時是在當(dāng)前結(jié)點的屬性集合(假定有d個屬性)中選擇一個最優(yōu)屬性。在隨機森林中,對基決策樹的每個結(jié)點,先從該結(jié)點的屬性集合中隨機選擇一個包含k個屬性的子集,然后再從這個子集中選擇一個最優(yōu)屬性用于劃分。這里的參數(shù)k控制了隨機性的引入程度:若令k=d,則基決策樹的構(gòu)建與傳統(tǒng)決策樹相同;若令k=1,則是隨機選擇一個屬性用于劃分。隨機森林核心思想

隨機森林算法流程模型擬合曲線隨機森林?jǐn)M合曲線目的:根據(jù)已有訓(xùn)練集生成里對應(yīng)的隨機森林,隨機森林利用某個人的5個特征來預(yù)測他的收入層次。收入層次:Band1:Below$40,000Band2:$40,000–150,000Band3:Morethan$150,000案例(1)這里假設(shè)森林中有5棵CART樹,總特征個數(shù)N=5,生成每棵樹時特征樹取m=1(即假設(shè)每棵CART樹對應(yīng)一個不同的特征)。CART1:VariableAge案例(2)CART2:VariableGenderCART3:VariableEducation案例(3)CART4:VariableResidenceCART5:VariableIndustry案例(4)模型形式案例(5)假設(shè)要預(yù)測的某個人的信息如下:Age:35years;

Gender:Male;

HighestEductaionalQualification:Diploma;Industry:Manufacturing;Residence:Metro;根據(jù)這5顆CART樹的分類結(jié)果,我們可以針對這個人的信息建立收入層次的分布情況;最后我們得出結(jié)論,這個人的收入層次70%是Band1,大約24%為Band2,6%為Band13,所以最終認(rèn)定該人屬于Band1收入層次(小于$40,000)。案例(6)森林中任意兩棵樹的相關(guān)性:相關(guān)性越大,錯誤率越大;森林中每棵樹的分類能力:每棵樹的分類能力越強,整個森林的錯誤率越低。隨機森林的影響因素簡單、容易實現(xiàn)、計算開銷小、準(zhǔn)確率高;能夠有效地運行在大數(shù)據(jù)集上,可以實現(xiàn)并行訓(xùn)練;能夠處理具有高維特征的輸入樣本,而且不需要降維;能夠評估各個特征在分類問題上的重要性;對部分缺失特征不敏感;由于是樹模型,不需要歸一化,可直接使用;在生成過程中,能夠獲取到內(nèi)部生成誤差的一種無偏估計,同時不需要通過交叉驗證或者用一個獨立的測試集來獲得該無偏估計,它可以在內(nèi)部進行評估。隨機森林優(yōu)點隨機森林已經(jīng)被證明在某些噪音較大的分類或回歸問題上會過擬合。對于有不同取值的屬性的數(shù)據(jù),取值劃分較多的屬性會對隨機森林產(chǎn)生更大的影響,所以隨機森林在這種數(shù)據(jù)上產(chǎn)出的屬性權(quán)值是不可信的。隨機森林缺點國內(nèi)外大賽如百度校園電影推薦系統(tǒng)大賽、阿里巴巴天池大數(shù)據(jù)競賽、Kaggle數(shù)據(jù)科學(xué)競賽中,隨機森林的使用有很高的占比。對于市場營銷,隨機森林算法可以用于統(tǒng)計客戶來源,留存和流失;對于銀行,隨機森林算法可用于發(fā)現(xiàn)忠誠客戶以及客戶欺詐行為等;對于股市,隨機森林算法可以用于識別股票的波動行為,預(yù)估損失或收益;……隨機森林應(yīng)用Extremelyrandomizedtrees,極端隨機樹,簡稱ET。Extratree是RF的一個變種,區(qū)別在于:對于每棵決策樹的訓(xùn)練集,RF使用的是自助采樣(bootstrap)法選擇采樣集作為每個決策樹的訓(xùn)練集,而extratree一般不采用隨機采樣,即每個決策樹采用原始訓(xùn)練集。RF隨機選擇k個特征,然后會基于信息增益,基尼系數(shù),均方差來選擇一個最優(yōu)的特征值進行劃分。而Extratree則是隨機地選擇一個特征值來進行劃分。隨機森林的變種-ExtraTree隨機森林屬于有監(jiān)督學(xué)習(xí)算法的范疇,與其他算法相比存在如下幾方面的區(qū)別:與線性回歸類算法相比,隨機森林算法采用的是折線擬合的方式,其本質(zhì)在于屬性空間拆分,因此當(dāng)樹足夠多時,其訓(xùn)練數(shù)據(jù)擬合效果會比較好,同時由于樣本和屬性選擇的隨機性,以及類別權(quán)重控制,對于處理傾斜數(shù)據(jù)存在一定效果,而由于其本身主要的關(guān)注點在于樣本本身,當(dāng)訓(xùn)練數(shù)據(jù)與實際數(shù)據(jù)存在分布差異時,效果會有所下降。與最近鄰算法和貝葉斯算法相比,決策樹類算法專注的是類別邊界的求取,與概率和距離類算法區(qū)分類別差異性存在較大的區(qū)別,在面對樣本類別分不均勻問題的時,前者表現(xiàn)會較好,而后者極易受到多占比樣本的影響,從而喪失對小樣本的區(qū)分能力。綜上所述,當(dāng)處理實際有監(jiān)督分類問題時,當(dāng)離散屬性占比較多,樣本分布不均勻時,推薦使用隨機森林算法。與其他監(jiān)督學(xué)習(xí)算法對比集成學(xué)習(xí)Bagging隨機森林隨機森林的scikit-learn實現(xiàn)應(yīng)用案例由于隨機森林屬于集成學(xué)習(xí)算法的范疇,因此隨機森林被放置在scikit-learn的sklearn.ensemble包中,其包含兩種實現(xiàn)方式,分別是:RandomForestClassifier和RandomForestRegressor,而Extra

Tree的方法分別是:ExtraTreesClassifier和ExtraTreesRegressor。隨機森林調(diào)用方式如下:fromsklearn.ensembleimportRandomForestClassifierfromsklearn.ensembleimportRandomForestRegressorextra

tree算法的調(diào)用方式如下:fromsklearn.ensembleimportExtraTreesClassifierfromsklearn.ensembleimportExtraTreesRegressor隨機森林的scikit-learn實現(xiàn)超參數(shù):在機器學(xué)習(xí)中,超參數(shù)是在開始學(xué)習(xí)過程之前設(shè)置值的參數(shù),而不是通過訓(xùn)練得到的參數(shù)數(shù)據(jù)。通常情況下,需要對超參數(shù)進行優(yōu)化,給學(xué)習(xí)機選擇一組最優(yōu)超參數(shù),以提高學(xué)習(xí)的性能和效果。隨機森林常用超參數(shù)分別是:max_features:尋找最佳分裂點時考慮的屬性數(shù)目隨機森林允許單個決策樹使用特征的最大數(shù)量。用于構(gòu)造不同類型的樹,增強模型的泛化能力,取值有:Auto/None,sqrt等;n_estimators:森林中樹的個數(shù)。主要用于提升模型的復(fù)雜度,從而提升模型預(yù)測的準(zhǔn)確性;max_depth:樹的最大深度,約束單顆樹的復(fù)雜度,防止過擬合,integer或者None;min_samples_split:分裂內(nèi)部節(jié)點需要的最少樣例數(shù)。應(yīng)用于約束模型樹的生長;min_samples_leaf:葉子節(jié)點上應(yīng)有的最少樣例數(shù)。對樹進行剪枝處理,防止過擬合;class_weight:

“banlanced”模式是根據(jù)y標(biāo)簽值自動調(diào)整權(quán)值與輸入數(shù)據(jù)的類頻率成反比,計算公式是:n_samples/(n_classes

np.bincount(y)).用于處理傾斜數(shù)據(jù)集;criterion:切分策略:gini或者entropy,默認(rèn)是gini,與樹相關(guān)。隨機森林的scikit-learn實現(xiàn)–超參數(shù)最重要的兩個參數(shù)n_estimators:森林中樹的數(shù)量,初始越多越好,但是會增加訓(xùn)練時間,到達一定數(shù)量后模型的表現(xiàn)不會再有顯著的提升。max_features:各個基學(xué)習(xí)器進行切分時隨機挑選的特征子集中的特征數(shù)目,數(shù)目越小模型整體的方差會越小,但是單模型的偏差也會上升,經(jīng)驗性的設(shè)置回歸問題的max_features為整體特征數(shù)目,而分類問題則設(shè)為整體特征數(shù)目開方的結(jié)果。隨機森林的scikit-learn主要優(yōu)化參數(shù)模型主要輸出參數(shù):predict(X):返回輸入樣本的預(yù)測類別,返回類別為各個樹預(yù)測概率均值的最大值;predict_proba(X):返回輸入樣本X屬于某一類別的概率,通過計算隨機森林中各樹對于輸入樣本的平均預(yù)測概率得到,每棵樹輸出的概率由葉節(jié)點中類別的占比得到;score(X,y):返回預(yù)測的平均準(zhǔn)確率。特征重要性評估:feature_importances_:一棵樹中的特征的排序(比如深度)可以用來作為特征相對重要性的一個評估,居于樹頂端的特征相對而言對于最終樣本的劃分貢獻最大(經(jīng)過該特征劃分所涉及的樣本比重最大),這樣可以通過對比各個特征所劃分的樣本比重的一個期望值來評估特征的相對重要性,可以用于特征選擇。隨機森林的scikit-learn主要輸出參數(shù)集成學(xué)習(xí)Bagging隨機森林隨機森林的scikit-learn實現(xiàn)應(yīng)用案例本案例旨在通過鳶尾花卉的表征特征,從而實現(xiàn)花卉的識別和區(qū)分。Iris數(shù)據(jù)集是機器學(xué)習(xí)任務(wù)中常用的分類實驗數(shù)據(jù)集,由Fisher在1936收集整理。Iris中文名是安德森鳶尾花卉數(shù)據(jù)集,是一類多重變量分析的數(shù)據(jù)集。應(yīng)用案例-背景介紹Iris一共包含150個樣本,分為3類,每類50個數(shù)據(jù),每個數(shù)據(jù)包含4個屬性??赏ㄟ^花萼長度,花萼寬度,花瓣長度,花瓣寬度4個屬性預(yù)測鳶尾花卉屬于(Setosa,Versicolour,Virginica)三個種類中的哪一類。Id:鳶尾花編號SepaLengthCm:

花萼長度,單位cmSepalWidthCm:

花萼寬度,

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論