版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第8章機器學習基礎算法建模機器學習分類算法回歸算法集成學習算法聚類算法關聯(lián)規(guī)則算法智能推薦算法集成學習算法在機器學習的有監(jiān)督學習算法中,目標是學習出一個穩(wěn)定的且在各個方面表現(xiàn)都較好的模型,但實際情況往往達不到理想狀態(tài),有時只能得到多個有偏好的模型(弱分類器,在某些方面表現(xiàn)較好)。集成學習集成學習是組合多個弱分類器,得到一個更好且更全面的強分類器,即將多個分類器聚集在一起,以提高分類的準確率。這些分類器可以是不同的算法,也可以是相同的算法。如果把單個分類器比作一個決策者,那么集成學習的方法就相當于多個決策者共同進行一項決策。集成學習算法集成學習的作用將多個弱分類器合并,實現(xiàn)更好的效果。分類器間存在一定的差異性,會導致分類的邊界不同,可以理解為分類器是一個比較專精的專家,它有它自己一定的適用范圍和特長。通過一定的策略將多個弱分類器合并后,即可拓展模型的適用范圍,減少整體的錯誤率,實現(xiàn)更好的效果。集成學習算法數(shù)據(jù)過大時會導致訓練一個模型太慢,而集成學習可以分別對數(shù)據(jù)集進行劃分和有放回的操作,從而產(chǎn)生不同的數(shù)據(jù)子集,再使用數(shù)據(jù)子集訓練不同的分類器,最終再將不同的分類器合并成為一個大的分類器。數(shù)據(jù)過小時則會導致訓練不充分,而集成學習可以利用Bootstrap方法進行抽樣,得到多個數(shù)據(jù)集,分別訓練多個模型后再進行組合。如此便可提高訓練的準確度和速度,使得之前很難利用的數(shù)據(jù)得到充分的利用。集成學習在各個規(guī)模的數(shù)據(jù)集上都有很好的策略。集成學習算法將多個模型進行融合。對于存在多個異構的特征集的時候,很難進行融合,可以考慮使用集成學習的方式,將每個數(shù)據(jù)集構建一個分類模型,然后將多個模型進行融合。集成學習算法目前常見的集成學習算法BoostingBaggingBoostingBoostingBoosting方法是一種用于提高弱分類器準確度的方法,這種方法從原始訓練數(shù)據(jù)出發(fā),通過調(diào)整訓練數(shù)據(jù)的概率分布(權值分布)來生成多個子分類器,多個子分類器的產(chǎn)生是有序的,即一個分類器依賴于前一個分類器,并且著重關注于前一個分類器錯誤分類的樣本,提升錯誤分類樣本的權重,由于新的分類器重點關注錯誤分類的樣本,生成新的分類器的過程中就會不斷的降低誤差,從而降低整個模型的偏差。Boosting——Adaboost算法Adaboost是Boosting中較為代表的算法,基本思想是通過訓練數(shù)據(jù)的分布構造一個分類器,然后通過誤差率求出這個弱分類器的權重,通過更新訓練數(shù)據(jù)的分布,迭代進行,直至達到迭代次數(shù)或者損失函數(shù)小于某一閾值。由于Adaboost屬于Boosting中的算法,采用的是加權模型,對每個學習器的輸出結果加權處理,只會得到一個輸出預測結果,所以標準的Adaboost只適用于二分類任務。Boosting——Adaboost算法的數(shù)據(jù)輸入Adaboost算法的輸入要求訓練數(shù)據(jù)集。各個弱分類器。Boosting——Adaboost算法的輸出Adaboost算法通過模型訓練后的輸出為強分類器。Boosting——Adaboost算法的優(yōu)缺點Adaboost算法的優(yōu)點可以將不同的分類算法作為弱分類器。很好的利用了弱分類器進行級聯(lián)。具有很高的精度。Boosting——Adaboost算法的優(yōu)缺點Adaboost算法的缺點容易受到噪聲干擾。訓練時間過長。執(zhí)行效果依賴于弱分類器的選擇。Boosting——Adaboost算法的應用Adaboost算法主要應用方向用于特征選擇;用于做分類任務的baseline;用于對badcase的修正。Boosting——Adaboost算法的應用實例Python機器學習庫scikit-learn的ensemble模塊提供的AdaBoostClassifier類用于構建Adaboost模型。AdaBoostClassifier類基本使用語法sklearn.ensemble.AdaBoostClassifier(base_estimator=None,n_estimators=50,learning_rate=1.0,algorithm='SAMME.R',random_state=None)AdaBoostClassifier類的主要參數(shù)及其說明參數(shù)名稱說明base_estimator接收object。表示選擇的分類學習器,默認為“DecisionTreeClassifier”n_estimators接收int。表示弱學習器的最大迭代次數(shù),默認為50learning_rate接收float。表示每個弱學習器的權重縮減系數(shù),取值范圍為0到1,默認為1.0algorithm接收str。選擇Adaboost分類算法,可選擇的值為“SAMME”和“SAMME.R”,其含義如下“SAMME”:使用對樣本集分類效果作為弱學習器權重“SAMME.R”:使用對樣本集分類的預測概率大小作為弱學習器權重默認為“SAMME.R”Boosting——Adaboost算法的應用實例Boosting——GBDT算法GBDT全稱為GradientBoostingDecisionTree(梯度提升迭代決策樹),是一種基于迭代所構造的決策樹算法,這種算法在實際問題中將生成多棵決策樹,并將所有樹的結果進行匯總而得到最終答案。所以該算法將決策樹與集成思想進行了有效的結合。GBDT是由梯度提升(GradientBoosting,GB)算法而來。Boosting——GBDT算法GB算法的主要思想在之前建立模型的損失函數(shù)的梯度下降方向上建立新的模型。損失函數(shù)損失函數(shù)是評價模型性能(一般為擬合程度+正則項),認為損失函數(shù)越小,性能越好。讓損失函數(shù)持續(xù)下降,可以使得模型不斷調(diào)整提升性能,其最好的方法是使損失函數(shù)沿著梯度方向下降。GBDT在GB算法的基礎上,通過損失函數(shù)的負梯度的進行損失誤差的擬合,從而解決分類回歸問題。Boosting——GBDT算法的數(shù)據(jù)輸入GBDT算法的輸入要求訓練數(shù)據(jù)集?;跊Q策樹算法的弱分類器。Boosting——GBDT算法的輸出GBDT算法通過模型訓練后的輸出為強分類器。Boosting——GBDT算法的優(yōu)缺點GBDT算法的優(yōu)點預測的精度高。適合低維數(shù)據(jù)??梢蕴幚矸蔷€性數(shù)據(jù)??梢造`活處理各種類型的數(shù)據(jù),包括連續(xù)值和離散值。使用一些健壯的損失函數(shù),對異常值的魯棒性非常強。Boosting——GBDT算法的優(yōu)缺點GBDT算法的缺點由于弱學習器之間存在依賴關系,難以并行訓練數(shù)據(jù)。如果數(shù)據(jù)維度較高時,會加大算法的計算復雜度。執(zhí)行效果依賴于弱分類器的選擇。Boosting——GBDT算法的應用GBDT算法的應用GBDT算法幾乎可用于所有回歸問題,包含線性和非線性的回歸問題,也可以用于二分類問題。Boosting——GBDT算法的應用實例Python機器學習庫scikit-learn的ensemble模塊提供的GradientBoostingClassifier類用于構建GBDT模型。GradientBoostingClassifier類基本使用語法sklearn.ensemble.GradientBoostingClassifier(loss='deviance',learning_rate=0.1,n_estimators=100,subsample=1.0,criterion='friedman_mse',min_samples_split=2,min_samples_leaf=1,min_weight_fraction_leaf=0.0,max_depth=3,min_impurity_decrease=0.0,min_impurity_split=None,init=None,random_state=None,max_features=None,verbose=0,max_leaf_nodes=None,warm_start=False,presort='deprecated',validation_fraction=0.1,n_iter_no_change=None,tol=0.0001,ccp_alpha=0.0)GradientBoostingClassifier的主要參數(shù)及其說明參數(shù)名稱說明loss接收str。表示算法中的損失函數(shù),可選擇的值為“deviance”和“exponential”,其含義如下“deviance”:對數(shù)似然損失函數(shù)“exponential”:指數(shù)損失函數(shù)默認為“deviance”learning_rate接收float。表示每個弱學習器的權重縮減系數(shù),取值范圍為0到1,默認為0.1n_estimators接收int。表示弱學習器的最大迭代次數(shù),默認為100subsample接收float。表示是否子采樣,如果取值為1,則全部樣本都使用,如果取值小于1,則只有一部分樣本會去做GBDT的決策樹擬合。選擇小于1的比例可以減少方差,即防止過擬合,但是會增加樣本擬合的偏差,因此取值不能太低。推薦在[0.5,0.8]之間,默認為1.0Boosting——GBDT算法的應用實例BaggingBaggingBagging全稱是bootstrapaggregation,基本思想是訓練多個分類器,各個分類器之間不存在強依賴關系,再對計算結果求平均值。隨機森林算法是其中的典型代表。BaggingBagging全稱是bootstrapaggregation,基本思想是訓練多個分類器,各個分類器之間不存在強依賴關系,再對計算結果求平均值。隨機森林算法是其中的典型代表。Bagging——隨機森林算法隨機森林算法隨機森林算法是上世紀80年代Breiman等人提出來的,其基本思想是構造很多棵決策樹,形成一個森林,再用這些決策樹共同決策輸出類別是什么。Bagging——隨機森林算法在整個隨機森林算法的過程中,有兩個隨機過程。第一個是輸入數(shù)據(jù)是隨機的從整體的訓練數(shù)據(jù)中選取一部分作為一棵決策樹的構建,而且是有放回的選取;第二個是每棵決策樹的構建所需的特征是從整體的特征集隨機的選取的。這兩個隨機過程使得隨機森林在很大程度上避免了過擬合現(xiàn)象的出現(xiàn)。Bagging——隨機森林算法隨機森林算法的過程Bagging——隨機森林算法從訓練數(shù)據(jù)中選取n個數(shù)據(jù)作為訓練數(shù)據(jù)輸入。一般情況下,n遠小于整體的訓練數(shù)據(jù)N,這樣就會造成有一部分數(shù)據(jù)是無法被取到,這部分數(shù)據(jù)稱為袋外數(shù)據(jù),可以使用袋外數(shù)據(jù)做誤差估計。選取了輸入的訓練數(shù)據(jù)后,需要構建決策樹。構建的具體方法是每一個分裂結點從整體的特征集M中選取m個特征構建,一般情況下m遠小于M。Bagging——隨機森林算法決策樹的構建在構造每棵決策樹的過程中,按照選取最小的基尼系數(shù)進行分裂節(jié)點的選取,然后進行決策樹的構建。決策樹的其他結點都采取相同的分裂規(guī)則進行構建,直至該節(jié)點的所有訓練樣本都屬于同一類或達到樹的最大深度。Bagging——隨機森林算法重復步驟(2)和步驟(3)多次,每一次輸入數(shù)據(jù)對應一棵決策樹,即可得到隨機森林,用于對預測數(shù)據(jù)進行決策。選擇輸入的訓練數(shù)據(jù)后,多棵決策樹也隨之構建成功。對預測數(shù)據(jù)進行預測,輸入一個待預測數(shù)據(jù),會有多棵決策樹同時進行決策,最后采用多數(shù)投票的方式進行類別的決策。Bagging——隨機森林算法構建隨機森林時需要注意以下3點。在構建決策樹的過程中是不需要剪枝的。整個森林的樹的數(shù)量和每棵樹的特征需要人為設定。構建決策樹時,分裂節(jié)點的選擇是依據(jù)最小基尼系數(shù)。Bagging——隨機森林算法的數(shù)據(jù)輸入隨機森林算法的輸入要求訓練數(shù)據(jù)集。各弱決策樹分類器。Bagging——隨機森林算法的輸出隨機森林算法通過模型訓練后的輸出為強分類器。Bagging——隨機森林算法的優(yōu)缺點隨機森林算法的優(yōu)點能夠處理很高維度的數(shù)據(jù),并且不用做特征選擇。能夠處理很高維度的數(shù)據(jù),并且不用做特征選擇。訓練成功后,能夠給出哪些特征比較重要的結論。對于不平衡的數(shù)據(jù)集,可以平衡誤差。如果有很大一部分的特征遺失,那么仍可以維持準確度。Bagging——隨機森林算法的優(yōu)缺點隨機森林算法的缺點在某些噪音較大的分類或回歸問題上,容易出現(xiàn)過擬合問題。對于有不同取值的特征的數(shù)據(jù),取值劃分較多的特征會對隨機森林產(chǎn)生更大的影響。對于小數(shù)據(jù)或者低維數(shù)據(jù),分類效果不是很好。計算過程是個黑盒子,只能調(diào)整參數(shù)來改變結果,可解釋性差。計算過程是個黑盒子,只能調(diào)整參數(shù)來改變結果,可解釋性差。Bagging——隨機森林算法的應用隨機森林算法主要應用方向很容易處理含有類別型、數(shù)值型等不同類型特征的數(shù)據(jù);適用于處理維數(shù)較高的數(shù)據(jù)集。Bagging——隨機森林算法的應用實例Python機器學習庫scikit-learn的ensemble模塊提供的RandomForestClassifier類用于構建隨機森林模型RandomForestClassifier類基本使用語法skl
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 狼瘡性腎炎復發(fā)預測指標與預防策略
- 人力資源專員面試全攻略與題目
- 堆焊電焊條項目可行性分析報告范文
- 程序員業(yè)務一部經(jīng)理考試題集含答案
- 家具裝飾機械建設項目可行性分析報告(總投資12000萬元)
- 中國電信員工招聘面試題庫及答案解析
- 深度解析(2026)《GBT 18794.2-2002信息技術 開放系統(tǒng)互連 開放系統(tǒng)安全框架 第2部分鑒別框架》
- 超聲波切割機項目可行性研究報告(總投資25000萬元)(89畝)
- 特殊人群(過敏體質)PONV的預防方案
- 書體演變課件
- 2025年新《中國傳統(tǒng)文化》考試復習題(附答案)
- 醫(yī)保支付改革與科室績效激勵性調(diào)整策略
- 貨車掛靠租賃協(xié)議書
- 3D打印與機器人融合的個體化骨科精準手術方案
- 綿竹市2025年公開招聘社區(qū)專職工作者(91人)考試筆試備考試題及答案解析
- 2026審計署京內(nèi)直屬事業(yè)單位招聘國內(nèi)高校應屆畢業(yè)生20人筆試考試參考試題及答案解析
- 長期照護師安全理論模擬考核試卷含答案
- 2025年行政事業(yè)單位資產(chǎn)管理自檢自查報告
- 基于VAR的證券投資組合優(yōu)化模型畢業(yè)論文
- 2025年天津紅日藥業(yè)股份有限公司招聘考試筆試參考題庫附答案解析
- 卓有成效的管理者要事優(yōu)先
評論
0/150
提交評論