基本概念
決策樹是一種常見的機器學習演算法,它是類似流程圖的結構,其中每個內部節點表示乙個測試功能,即類似做出決策的過程(動作),每個葉節點都表示乙個類標籤,即在計算所有特徵之後做出的決定(結果)。
決策樹表示給定特徵條件下,類的條件概率分布,這個條件概率分布表示在特徵空間的劃分上,將特徵空間根據各個特徵值不斷進行劃分,就將特徵空間分為了多個不相交的單元,在每個單元定義了乙個類的概率分布,這樣,這條由根節點到達葉節點的路徑就成了乙個條件概率分布。決策樹學習是由訓練資料集估計條件概率模型。基於特徵空間劃分的類的條件概率模型有無窮多個。我們選擇的條件概率模型應該不僅對訓練資料有很好地擬合,而且對未知資料有很好地**,既有很好的泛化能力。
決策樹學習的損失函式通常是正則化的極大似然函式。決策樹學習的策略是以損失函式為目標函式的最小化。
決策樹通常有三個步驟:
特徵選擇
決策樹的生成
決策樹的修剪
決策樹學習的演算法通常是乙個遞迴地選擇最優特徵,並根據該特徵對訓練資料進行分割,使得對各個子資料集有乙個最好的分類的過程。這一過程對應著對特徵空間的劃分,也對應著決策樹的構建。決策樹生成和決策樹剪枝是個相對的過程,決策樹生成旨在得到對於當前子資料集最好的分類效果(區域性最優),而決策樹剪枝則是考慮全域性最優,增強泛化能力。
特徵選擇
資訊熵表示隨機變數的不確定度。對於一組資料來說,越隨機、不確定性越高,資訊熵越大;不確定性越低,資訊熵越小。
在劃分資料集前後資訊發生的變化稱為資訊增益,獲得資訊增益最高的特徵就是最好的選擇。資訊增益就是:以某特徵劃分資料集前後的熵的差值。
在使用增益資訊比時,並不是直接選擇資訊增益率最大的特徵,而是現在候選特徵中找出資訊增益高於平均水平的特徵,然後在這些特徵中再選擇資訊增益率最高的特徵。
基尼係數(gini),也被稱為基尼不純度,表示在樣本集合中乙個隨機選中的樣本被分錯的概率。gini係數越小表示集合中被選中的樣本被分錯的概率越小,也就是說集合的純度越高,反之,基尼指數集合越不純。即:基尼指數(基尼不純度)= 樣本被選中的概率 * 樣本被分錯的概率,有如下公式:
修剪決策樹非常容易產生過擬合,實際所有非引數學習演算法,都非常容易產生過擬合。
因此,對於決策樹的構建還需要最後一步,即決策樹的修剪。兩個目的:降低複雜度,解決過擬合。
決策樹的修剪,也就是剪枝操作,主要分為兩種:
預剪枝(pre-pruning)
後剪枝(post-pruning)
預剪枝是指在決策樹生成過程中,對每個節點在劃分前先進行估計,若當前節點的劃分不能帶來決策樹泛化效能的提公升,則停止劃分並將當前節點標記為葉節點。
後剪枝是先從訓練集生成一顆完整的決策樹,然後自底向上地對非葉節點進行考察,若將該節點對應的子樹完全替換為葉節點能帶來決策樹繁花性的提公升,則將該子樹替換為葉節點。
機器學習 決策樹
一 基本概念 決策樹 decision tree 是一種基本的分類與回歸方法。決策樹模型呈樹形結構,在分類問題中,表示屬於特徵對例項進行分類的過程,它可以認為是if then規則的集合,也可以認為是電議在特徵空間與類空空上的條件概率分布,其主要優點是模型具有可讀性,分類速度快。決策樹的學習通常包括3...
機器學習 決策樹
我覺得決策樹是機器學習所有演算法中最可愛的了 沒有那麼多複雜的數學公式哈哈 下圖是一棵決策樹,用來判斷西瓜是好瓜還是壞瓜 決策過程中提出的每個判定問題都是都對某個屬性的測試,每個測試結果要麼推導出最終結論,要麼匯出進一步判斷的問題,在上次決策結果限定的範圍內做進一步判斷。從上圖可以看出,葉節點對應決...
機器學習 決策樹
一 演算法簡介 決策樹一般都是自上而下來生成的,每個決策後事件 即自然狀態 都可能引出兩個或多個事件,導致結果的不同,把這種結構分支畫成形狀很像一棵樹的枝幹,故稱為決策樹。決策樹能夠讀取資料集合,並且決策樹很多任務都是為了資料中所蘊含的知識資訊,因此決策樹可以使用不熟悉的資料集合,並從中提取一系列規...