集成學習方法:隨機森林與梯度提升機(GBM)
集成學習是一種強大的機器學習方法,通過組合多個基學習器來提升整體模型的性能。在眾多集成學習算法中,隨機森林和梯度提升機(GBM)是最常用的兩種方法。本文將簡單介紹它們的原理、特點,并通過代碼展示如何使用 Python 實現它們。
1. 隨機森林(Random Forest)
隨機森林是一種基于決策樹的集成方法,它通過以下兩個隨機化步驟來構建多個弱學習器(決策樹):
計算原理:
· 樣本隨機性:為了生成不同的決策樹,隨機森林對訓練數據進行有放回的抽樣(bootstrap sampling),即每次抽取一個子集,這些子集的大小和原始數據集相同,但可能會有重復的樣本。這意味著每棵樹可能會看到不同的數據,增強了模型的多樣性。
· 特征隨機性:在構建每棵決策樹時,隨機森林不會使用所有的特征來劃分節點。相反,隨機選擇一個特征的子集,并在該子集上找到最佳劃分。這樣可以使得每棵決策樹具有不同的視角,進一步減少過擬合。
計算過程:
ü 訓練階段:
o 隨機抽取多個子樣本數據集。
o 對每個子樣本集構建一棵決策樹,在每個節點上隨機選擇特征。
o 重復上述過程,直到生成預設數量的決策樹。
ü 預測階段:
o 對每個新樣本,所有決策樹分別進行預測(分類問題為投票,回歸問題為平均)。
o 最終的輸出是所有決策樹的輸出結果的聚合(如使用投票或平均方法)。
這種集成方式減少了單棵決策樹的誤差,提高了模型的穩定性和準確性。
數學原理
基礎概念:決策樹
隨機森林是由多棵決策樹構成的集成學習方法。每棵決策樹的構建和預測過程都依賴于信息增益、基尼指數等指標。