目錄
- 前文回顧
- 5.決策樹中的熵和信息增益
- 6.什么是基尼不純度
- 7.決策樹與回歸問題
- 8.隨機森林是什么
前文回顧
上一篇文章地址:鏈接
5.決策樹中的熵和信息增益
熵和信息增益是在決策樹中用于特征選擇的重要概念,它們幫助選擇最佳特征進行劃分。
- 熵(Entropy):熵是信息論中用來度量不確定性或混亂程度的概念。在決策樹中,熵被用來度量一個節點的不純度,即該節點包含多少不同類別的樣本,熵的計算公式為,對于節點t, p i p_i pi?表示類別i在節點t中的樣本比例
E n t r o p y ( t ) = ? ∑ i = 1 c p i log ? 2 ( p i ) Entropy(t) = - \sum_{i = 1}^{c} p_i \log_2(p_i) Entropy(t)=?i=1∑c?pi?log2?(pi?)
其中,c表示類別的數量。熵的值在0和1之間,越接近0表示節點越純凈,越接近1表示節點的不純度越高。
- 信息增益(Information Gain):信息增益用于選擇最佳特征來劃分數據集。它衡量了通過選擇某個特征進行劃分后,父節點的熵減少了多少,即子節點的不純度相對于父節點而言減少了多少, 信息增益的計算公式為
I n f o r m a t i o n G a i n ( D , A ) = E n t r o p y ( D ) ? ∑ v ∈ V a l u e s ( A ) ∣ D v ∣ ∣ D ∣ E n t r o p y ( D v ) Information \ Gain(D, A) = Entropy(D) - \sum_{v \in Values(A)} \frac{|D_v|}{|D|} Entropy(D_v) Information?Gain(D,A)=Entropy(D)?v∈Values(A)∑?∣D∣∣Dv?∣?Entropy(Dv?)
其中,D是父節點的數據集,A是要劃分的特征, V a l u e s ( A ) Values(A) Values(A)是特征A的取值集合, D v D_v Dv?是特征A取值為v時的子節點數據集,信息增益的目標是選擇使得信息增益最大的特征來進行劃分,因為最大的信息增益意味著劃分后的子節點更純凈,不確定性更低。因此,信息增益可以幫助決策樹選擇最能有效地劃分數據的特征,從而構建更加有用的決策樹模型
需要注意的是,信息增益在選擇特征時有一定的偏向性,它傾向于選擇取值較多的特征,因此在某些情況下可能不適用。為了解決這個問題,基尼不純度(Gini Impurity)是另一種可選的劃分準則,它在某些情況下更適用于特征選擇。在實際應用中,可以根據具體問題和數據集選擇適當的劃分準則
6.什么是基尼不純度
基尼不純度是一種用于決策樹中的劃分準則,它用來度量一個節點的不純度或混亂程度,基尼不純度越低,表示節點的純度越高,即該節點包含的樣本更傾向于屬于同一類別。與信息增益不同,基尼不純度不依賴于對數,計算相對較為簡單。基尼不純度的計算公式為,對于節點t, p i p_i pi?表示類別i在節點t中的樣本比例
G i n i ( t ) = 1 ? ∑ i = 1 c ( p i ) 2 Gini(t) = 1 - \sum_{i = 1}^{c} (p_i)^2 Gini(t)=1?i=1∑c?(pi?)2
其中,c表示類別的數量。基尼不純度的值在0和1之間,越接近0表示節點越純凈,越接近1表示節點的不純度越高,與信息增益相比,基尼不純度有一些不同之處:
- 計算方式:信息增益使用對數計算,而基尼不純度使用平方計算。這意味著基尼不純度對誤分類的懲罰相對較小,因此更偏向于選擇具有最大基尼不純度下降的特征
- 取值范圍:信息增益的取值范圍在0到1之間,而基尼不純度的取值范圍也在0到1之間,但通常基尼不純度的值略高于信息增益
- 應用場景:基尼不純度在某些情況下更適用于特征選擇。特別是在處理多分類問題(類別數較多)時,基尼不純度通常表現更好,因為它偏向于選擇取值較少的特征,可以降低樹的復雜度
在選擇劃分特征時,可以根據具體問題和數據集的特點選擇使用信息增益或基尼不純度。通常情況下,它們都是有效的劃分準則,但在不同情況下可能表現出不同的優勢。機器學習庫(如Scikit-Learn)通常提供了兩者的選項,以便根據問題需求進行選擇
7.決策樹與回歸問題
決策樹是一種用于分類和回歸問題的機器學習模型,它們的主要區別在于應用的問題類型和輸出變量的性質。
- 分類問題:在分類問題中,目標是將輸入數據分為預定義的類別或標簽中的一個。決策樹用于解決分類問題時,每個葉子節點代表一個類別,模型通過從根節點到葉子節點的路徑來確定數據點的類別。例如,可以使用決策樹來判斷電子郵件是垃圾郵件還是正常郵件、患者是否患有某種疾病等
- 回歸問題:在回歸問題中,目標是預測一個連續的數值輸出,而不是分類標簽。決策樹用于解決回歸問題時,每個葉子節點代表一個數值,模型通過從根節點到葉子節點的路徑來預測數據點的數值輸出。例如,可以使用決策樹來預測房屋價格、股票價格等連續性輸出
- 主要區別:主要區別在于輸出變量的性質。分類問題的輸出是離散的類別標簽,而回歸問題的輸出是連續的數值。決策樹的構建和評估方法在兩種問題中基本相同,但葉子節點的表示和預測方式不同
- 將決策樹應用于回歸問題:要將決策樹應用于回歸問題,需要對其進行一些適應性修改
以下是一些將決策樹用于回歸問題的關鍵點:
- 葉子節點的表示:在回歸決策樹中,葉子節點不再代表類別標簽,而代表數值。通常,葉子節點的數值是該節點中所有訓練樣本的目標變量值的平均值
- 劃分準則:在回歸決策樹中,常用的劃分準則包括均方誤差(Mean Squared Error)和平均絕對誤差(Mean Absolute Error)。劃分時選擇使均方誤差或平均絕對誤差最小化的特征和取值
- 剪枝:與分類決策樹類似,回歸決策樹也可以進行剪枝操作,以減小樹的復雜度,提高泛化能力
- 評估指標:在回歸問題中,通常使用均方誤差、平均絕對誤差、決定系數(R-squared)等指標來評估模型的性能
8.隨機森林是什么
隨機森林(Random Forest)是一種集成學習算法,用于改進單個決策樹模型的性能。是一種強大且廣泛應用的機器學習方法,隨機森林的核心思想是通過構建多個決策樹,并將它們的預測結果結合起來,來提高整體模型的性能和魯棒性,以下是隨機森林是如何改進單個決策樹模型性能的主要方式
- 隨機抽樣(Bootstrap抽樣):在構建每棵決策樹時,隨機森林從訓練數據中使用有放回抽樣(Bootstrap抽樣)來創建不同的訓練子集。這意味著每棵樹使用的數據集都是略有不同的,從而增加了模型的多樣性
- 隨機特征選擇:在每次分裂決策樹節點時,隨機森林不考慮所有特征,而是從所有特征中隨機選擇一個子集用于分裂。這樣可以防止某些特征在模型中占據主導地位,增加了模型的多樣性,同時也提高了計算效率
- 多數投票或平均:當隨機森林中的所有決策樹都構建完成后,它們的預測結果會被結合起來。對于分類問題,采用多數投票的方式,即每棵樹投票選擇類別,最終選擇得票最多的類別作為模型的預測結果。對于回歸問題,采用平均的方式,即將所有樹的預測結果取平均值作為最終預測值
- 降低過擬合風險:由于隨機森林的每個決策樹都是在不同的子集上訓練的,因此它們具有較高的多樣性,降低了過擬合的風險。這意味著即使訓練數據中存在噪聲或異常值,隨機森林也能夠產生穩健的預測
- 高性能:隨機森林通常在處理大規模數據集時表現良好,因為每棵決策樹可以并行構建,從而提高了訓練速度。此外,它們通常不需要太多的超參數調整,使其易于使用
總的來說,隨機森林通過組合多個決策樹,利用隨機性和投票策略,改進了單個決策樹的性能,提高了模型的泛化能力和魯棒性,適用于各種機器學習任務,包括分類、回歸和特征選擇