人工智能算法與實踐-第9章 集成學習_第1頁
人工智能算法與實踐-第9章 集成學習_第2頁
人工智能算法與實踐-第9章 集成學習_第3頁
人工智能算法與實踐-第9章 集成學習_第4頁
人工智能算法與實踐-第9章 集成學習_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

9.4算法總結9.1算法概述9.2算法原理9.3算法案例目錄第9章集成學習人工智能算法與實踐—1

01算法概述PartTHREE—2

集成學習簡單理解就是采用多個分類器對數據集進行預測,從而提高整體分類器的泛化能力,有時也稱多分類器系統(tǒng)、基于委員會的學習等。集成學習廣泛用于分類和回歸任務,有時也被籠統(tǒng)地稱作提升(Boosting)方法,是通過一定的規(guī)則生成多個學習器,再采用某種集成策略進行組合,最后綜合判斷輸出最終結果。9.1算法概述—3

異質集成集成中包含不同類型的個體學習器個體學習器:由不同學習算法生成個體學習器:組件學習器(或直接稱個體學習器)同質集成集成中只包含同種類型的個體學習器個體學習器:基學習器對應算法:基學習算法9.1算法概述—4

例如,決策樹集成中全是決策樹,神經網絡集成中全是神經網絡例如,同時包含決策樹和神經網絡。9.1算法概述—5

集成學習優(yōu)點:通過將多個學習器進行結合,常常獲得比單一學習器顯著優(yōu)越的泛化性能。這對“弱學習器”(weaklearner)尤為明顯,因此集成學習的很多理論研究都是針對弱學習器的,而基學習器有時也被直接成為弱學習器。雖然從理論上來說使用弱學習器集成足以獲得好的性能,但在實踐中出于種種考慮,希望使用較少的個體學習器,人們常常會使用比較強的學習器。9.1算法概述—6

在二分類任務中:三個分類器在三個測試樣本上的表現(xiàn)如下:a.集成提升性能b.集成不起作用c.集成起負作用集成學習的結果通過投票法產生9.1算法概述—7

a.每個分類器都只有66.6%的精度,但集成學習卻達到了100%;b.三個分類器沒有差別,集成后性能沒有提高;c.每個分類器精度只有33.3%,集成學習結果變得更糟。以上例子顯示要獲得好的集成,個體學習器應“好而不同”,即每個學習器要有一定的“準確性”,即學習器不能太壞,并且要有“多樣性”。即學習器間具有差異性。9.1算法概述—8

9.1算法概述—9

9.1算法概述—10

上面的分析有一個關鍵假設:基學習器的誤差相互獨立現(xiàn)實任務中,個體學習器是為解決同一個問題訓練出來的,顯然不可能互相獨立事實上,個體學習器的“準確性”和“多樣性”本身就存在沖突如何產生“好而不同”的個體學習器是集成學習研究的核心集成學習大致可分為兩大類9.1算法概述—11

根據個體學習器的生成方式,集成學習可分為兩大類:個體學習器間存在強依賴關系、必須串行生成的序列化方法個體學習器間不存在強依賴關系、可同時生成的并行化方法代表:Boosting代表:Bagging和隨機森林(Randomforest)02算法原理PartTHREE—12

9.2算法原理—13

集成算法會考慮多個評估器的建模結果,匯總之后得到一個綜合的結果,以此來獲取比單個模型更好的回歸或分類表現(xiàn)。多個模型集成成為的模型叫做集成評估器(ensembleestimator),組成集成評估器的每個模型都叫做基評估器(baseestimator)。通常來說,有三類集成算法:裝袋法(Bagging),提升法(Boosting)和stacking。9.2.1AdaBoost算法—14

Boosting族算法中最著名的代表是AdaBoost,它是一種迭代算法。其核心思想是針對同一個訓練集訓練不同的分類器(弱分類器),然后把這些弱分類器集合起來,構成一個更強的最終分類器(強分類器)。其算法本身是通過改變數據分布來實現(xiàn)的,它根據每次訓練集之中每個樣本的分類是否正確,以及上次的總體分類的準確率,來確定每個樣本的權值。將修改通過的權值的新數據集送給下層分類器進行訓練,最后將每次訓練得到的分類器最后融合起來,作為最后的決策分類器。使用AdaBoost分類器可以排除一些不必要的訓練數據特征,并將關鍵放在關鍵的訓練數據上面。9.2.1AdaBoost算法—15

AdaBoost二分類問題算法偽代碼如下:2%10%75%100%55%0%9.2.2Bagging算法—16

Bagging是一種被廣泛使用的集成學習算法,其主要思路是通過對訓練集進行不同的處理方式,訓練得到差異性的分類器。其主要方法是從原始數據集中隨機有放回地選取若干個樣本構成新的訓練集,用分類算法訓練成分類器,形成集成分類器。然后用新來的數據對生成分類器的集成進行測試,投票選出分類結果。2%10%75%100%55%0%9.2.2Bagging算法—17

Bagging算法的基本流程由以下偽代碼可表示:2%10%75%100%55%0%9.2.2Bagging算法—18

時間復雜度低假定基學習器的計算復雜度為O(m),采樣與投票/平均過程的復雜度為O(s),則Bagging的復雜度大致為T(O(m)+O(s))由于O(s)很小且T是一個不大的常熟因此訓練一個bagging集成與直接使用基學習器的復雜度同階可使用包外估計2%10%100%55%0%9.2.3隨機森林算法—19

隨機森林是在以決策樹為基學習器構建Bagging集成的基礎上,進一步在決策樹的訓練過程中引入了隨機特征選擇,主要體現(xiàn)在四個部分:(1)隨機選擇樣本(放回抽樣);(2)隨機選擇特征;(3)構建決策樹;(4)隨機森林投票(平均)。請?zhí)鎿Q文字內容,修改文字內容,也可以直接復制你的內容到此。YOURTITLE請?zhí)鎿Q文字內容,修改文字內容,也可以直接復制你的內容到此。YOURTITLE請?zhí)鎿Q文字內容,修改文字內容,也可以直接復制你的內容到此。YOURTITLE請?zhí)鎿Q文字內容,修改文字內容,也可以直接復制你的內容到此。YOURTITLE9.2.3隨機森林算法—20

03算法案例PartTHREE—21

垃圾郵件分類應用本實驗選取具有兩個特征(“打購買、免費”等字眼的相關系數,被拉入黑名單的相關系數),數據被分為+1(垃圾郵件)或-1(非垃圾郵件)兩類,利用訓練集并結合Adaboost算法進行模型訓練。9.3算法案例—22

9.3算法案例—23

1.數據讀入cal_boundary(train_x)是求邊界的函數,用于求沒一個樣本中每一維數據作為邊界的情況。比如現(xiàn)在有一組一維數據[-3,-2,-1,0,1,2,3],不管他們的真實標簽,如果以-3作為邊界,則我們需要得到兩個列表,因為我們不知道-3的哪一邊是哪一類。9.3算法案例—24

2.訓練弱分類器9.3算法案例—25

3.迭代產生弱分類器9.3算法案例—26

4.求當前分類器權重9.3算法案例—27

如上圖所示,實驗通過Adaboost算法對訓練數據集進行三次迭代訓練后就已經達到1的預測準確率,圖9-9經過三個弱分類器的結合后,將平面區(qū)域分為6塊,每一塊給出了它的預測結果值,值為正號則歸為1,為負號則歸為-1,數字的絕對值越大說明分類結果越可信。04算法總結PartTHREE—28

9.4算法總結—29

通過本節(jié)的學習,我們掌握了集成學習的概念,基本原理以及算法流程和實現(xiàn)方法。本章主要介紹了集成學習的兩種方法Boosting和Bagging,二者有很大的區(qū)別。Bagging中的模型是強模型,偏差低,方差高。目標是降低方差。在Bagging中,每個模型的Bias和variance近似相同,但是互相相關性不太高,因此一般不能降低Bias,而一定程度上能降低variance。典型的Bagging是randomforest。Boosting中每個模型是弱模型,偏差高,方差低。目標是通過平均降低偏差。Boosting的基本思想就是用貪心法最小化損失函數,顯然能降低偏差,但是通常模型的相關性很

溫馨提示

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

評論

0/150

提交評論