2023年6月20日 多雲
終於開始動筆寫點隨機森林的東西,隨機森林之前也接觸過,但第一次感受到隨機森林的魅力是看了周志華團隊的這篇文章:deep forest: towards an alternative to deep neural networks,github上也有原始碼,除錯了一番也跑出來(建議在linux環境下跑).
說起隨機森林,就必然要談到決策樹學習.決策樹學習是很多先進演算法的基礎,包括隨機森林和boosting演算法,也是被用作隨機森林和boosting演算法等模型的基石,因此,了解單個決策樹的所有演算法細節也是深入分析這些方法的先決條件.
最初的決策樹學習演算法是心理學家兼計算機科學家e.b.hunt2023年在研究人類的概念學習過程時提出來的cls(concept learning system),這個演算法確立了決策樹「分而治之」的學習策略.隨後,hunt的學生羅斯·昆蘭2023年到史丹福大學訪學,寫了乙個類似於cls的程式完成了一項作業,這項改進是引入了資訊增益準則.2023年將他自己的工作整理出來並發表出來,這就是id3演算法.2023年昆蘭應邀machine learning雜誌社,重新發表了id3演算法,掀起了決策樹研究的熱潮.而後的幾年間,更多的決策樹演算法問世,id4、id5等名字被其他研究者占用,昆蘭也只好將自己的id3後繼演算法命名c4.0,在此基礎上進一步提出了著名的c4.5演算法.
決策樹優點有如下幾點:
·決策樹是非引數的,它們可以模擬出複雜的輸入和輸出的關係,不需要任何的先驗假設.
·決策樹能夠處理不同種類的資料(有序的或分類變數,或者兩者的混合).
·決策樹本質上實現了特徵選擇.
·決策樹會無視異常值或標籤中錯誤.
·決策樹是可分析的,容易被理解的.
一般的,一顆決策樹包含乙個根節點、若干個內部節點和若干個葉節點;葉節點對應於決策結果,其他每個節點則對應於乙個屬性測試;每個節點包含的樣本集合根據屬性測試的結果被劃分到子節點中;根節點包含樣本全集.從根節點到每個葉節點的路徑對應了乙個判定測試序列.
決策樹學習的目的是為了產出一顆泛化能力強的決策樹,其基本流程遵循簡單且直觀的「分而治之」策略.
對於決策樹學習,如何選擇最優劃分屬性.目前主要有三種劃分方式:
·資訊增益:id3演算法
·增益率:c4.5演算法
·基尼指數:cart(classification and regression tree)演算法
為了防止決策樹學習演算法「過擬合」,會採用剪枝(pruning)的手段.決策樹剪枝的基本策略有「預剪枝」和「後剪枝」.
決策樹對於連續值和缺失值的處理都有著良好的適應性.
以上是對決策樹有了個大致的介紹.具體內容參閱周志華的《機器學習》p73-p95.
隨機森林隨筆 二
2018年6月26日 多雲 隨機森林隨筆 一 粗略地介紹了決策樹學習,下面開始談談隨機森林的構建.在說到隨機森林之前,還得提到乙個概念 整合學習.整合學習 ensemble learning 通過構建並結合多個學習器來完成學習任務,有時也被稱為多分類器系統 multi classifier syst...
隨機森林隨機 三
2018年7月22日 陣雨 感冒發燒喉嚨疼,只因為一杯正常冰的奶蓋!以後得少喝加冰的東西了.前面說的是整合學習的兩種形式,這跟隨機森林有啥關係呢?隨機森林是bagging的乙個擴充套件變體.簡單的來說,當bagging演算法中的base learner為決策樹並在訓練決策樹的過程中加入隨機屬性選擇,...
隨機森林演算法
random forest是加州大學伯克利分校的breiman leo和adele cutler於2001年發表的 中提到的新的機器學習演算法,可以用來做分類,聚類,回歸,和生存分析,這裡只簡單介紹該演算法在分類上的應用。random forest 隨機森林 演算法是通過訓練多個決策樹,生成模型,然...