機器學習之-整合演算法【人工智慧工程師--AI轉型必修課】

CSDN學院發表於2020-04-04

【我們們的目標】系列演算法講解旨在用最簡單易懂的故事情節幫助大家掌握晦澀無趣的機器學習,適合對數學很頭疼的同學們,小板凳走起!

這裡寫圖片描述今天我們們就來討論一下傳說中的整合演算法,之前我們們講的演算法都是單兵作戰的(單個模型得到結果),但是回過頭來想一想現在是不是幹啥都講究個合作共贏,所以我們們的模型也是如此。單個演算法確實勢單力薄,假如我們可以把它們組合起來會不會得到更好的效果呢?(演算法們要揭竿起義了,今亡亦死舉大計亦死。。。編不下去了)

在整合演算法中,有三個核心模組,我們們就一一道來,先來概述一下:

Bagging整合:並行的構造多個基礎模型(隨機森林),每一個基礎模型都各自為政,然後把它們的結果求一個平均就好!

Boosting整合:序列的構造多個基礎模型(Xgboost),每一個基礎模型都要嚴格篩選,在前面的基礎上加進來的新模型後,它們整體的效果起碼得沒加這個新的基礎模型前要強吧!

Stacking整合:多種演算法群毆一起上!選擇多個機器學習演算法做同一件事,最後把它們的結果合併就OK啦!

這裡寫圖片描述先來看看第一個傢伙Bagging模型,其典型代表就是隨機森立了,簡單來說就是並行的訓練一堆樹模型,然後求其平均結果,在這裡我們要討論一個問題,就是每個樹模型該怎麼構造呢?如果不加入任何限制,那每個樹模型不都差不多嘛,那最後的平均結果又會有什麼變化呢?所以為了結果的泛化能力更強,必須要使得每個樹模型表現出多樣性,也就是儘可能的讓每個樹模型都不一樣!

這裡寫圖片描述這該怎麼做呢?什麼影響模型呢?資料絕對是最大的影響因子,這裡的森林很好理解了,就是把樹放在一起,那麼隨機又是什麼呢?為了保證每個樹的多樣性,在構建模型時,我們做了二重隨機(我自創的詞。。。)第一重就是對樣本的選擇,每次隨機的有放回的選擇部分樣本作為一棵樹的訓練樣本(比如選擇百分之八十作為訓練集)。第二重還要考慮特徵了,既然樣本資料能隨機,那麼特徵也是一樣的,每棵樹選擇的特徵也是不一樣的隨機選擇部分特徵來建模!

這裡寫圖片描述隨機的意義非常重要,這是隨機森林的精神所在!

這裡寫圖片描述隨機森林作為灰常經典的機器學習演算法,優勢自然少不了,當我們建模完之後,還可以對特徵進行重要性評估,其實簡單來說一個特徵的重要與否可以取決於建模的時候如果把這個特徵換成噪音特徵再去看看結果的錯誤率是不是顯著上升,如果顯著上升,那麼這個特徵自然很重要,如果沒變化,那這個特徵就沒啥用了,因為它和噪音沒啥區別!

這裡寫圖片描述隨機森林中樹的個數是不是越多越好呢?理論上越多的樹效果應該會更好吧,但是實際上我們把樹的個數增加到一定的時候比如100棵了已經,再往上增加樹的個數結果也只會發生小範圍的浮動,基本也就穩定了!

這裡寫圖片描述Boosting整合中典型的代表就屬Xgboost啦,一個大殺器,這個演算法由於涉及的數學比較多,我們們後續來一個專題去講Xgboost,我們先來看看簡單些的Adaboost。

這裡寫圖片描述Adaboost演算法概述來說就是,首選我有一個非常簡單的模型,比如深度為1的樹模型,然後我去預測一下結果,在結果中我發現某些樣本預測錯了,這個時候第二個簡單的樹模型就來了,還是同樣的任務只不過資料的權重發生了變換,一開始所有的資料都是相同的權重,但是第二次會把前面那次預測錯的資料的權重增大,相對來說預測對的資料的權重就會減小。說白了就是讓後面的模型更注重我之前哪些資料分錯了,這回好能分對它!(好比我們在考試前都會複習之前做錯的題)

這裡寫圖片描述最後來看一下堆疊模型吧,社會我Stacking,人狠話不多,不需要多解釋,做了一堆演算法,然後把它們的結果堆疊起來,每個演算法都有自己的預測結果,這些結果組合在一起那不相當於一個新的特徵嘛,再把它們結果組成的特徵去做一個分類或者回歸,又得到了一個唯一的結果。

更多內容,參見課程:

機器學習30天系統掌握【升級】

講師介紹:
唐宇迪,計算機博士,專注於機器學習與計算機視覺領域,深度學習領域一線實戰專家,善於實現包括人臉識別,物體識別,關鍵點檢測等多種應用的最新演算法。參與多個國家級計算機視覺專案,多年資料領域培訓經驗,豐富的教學講解經驗,出品多套機器學習與深度學習系列課程,課程生動形象,風格通俗易懂。

課程介紹:
這將是你成為機器學習工程師的最佳實踐指南,通過30天實訓,層層遞進,徹底掌握機器學習!
知識系統性歸納+實時答疑+原始碼共享+案例實戰,五大模組的支撐,這才是從零入門的正確開啟方式!課程分為四個階段:基礎講解+演算法進階+案例實戰+行業應用。全程採用案例實戰,為快速與實際專案接軌打定基礎!
課程從機器學習經典演算法的數學原理推導與例項講解,通過原理分析,通俗解讀,案例實戰讓大家快速掌握機器學習經典演算法原理推導與工作流程,掌握Python資料分析與建模庫使用方法,從案例角度思考如何應用及其學習演算法解決實際問題。

目標人群:
1. 適合零基礎!對機器學習感興趣,或致力於從事人工智慧領域的開發者!
2. N+知識點+手把手掌握+原始碼共享+實時答疑,系統性學習與消化!
3. 全程案例實戰,從案例中學習,事半功倍!報名就贈:Python機器學習必備庫!全程金牌輔導!

課程特色:
專屬答疑+課件資料提供+視訊無限時回放+VIP交流群

開課時間:
隨到隨學,自由支配

點我試看: http://edu.csdn.net/course/detail/6108?utm_source=blog11

相關文章