機器學習-決策樹(Entscheidungsbäume)
決策樹
基礎知識
樹的構成:
1.每一個內部節點代表一個屬性測試
2.每個分支對應特定的屬性值
3.每個葉子節點對應一個分類
樹的描述:
對於樹通常可以用一個析取正規化表示,每一個klausel對應著樹上從跟到葉子節點的一條路徑
比如:
決策樹適用範圍
1.例項可以用“屬性-值”對進行表示的
2.對應輸出域是離散的
3.任意兩個假設都應該是不相交的(Disjunkte Hypothesen erforderlich)
4.訓練用的例子允許存在干擾
(Beispieldaten sind möglicherweise verrauscht)
5.訓練用的例子中可能含有錯誤的屬性值
(Beispieldaten enthalten evtl. fehlende Attributwerte)
常用的決策樹方法
1.ID3(Quinlan 1986):
非遞增方法
(nicht inkrementelles Verfahren)
2.C4.5(Quinlan,1993):
通過一般化規則(剪枝)優化ID3
商業系統//不知何意????
(kommerzielles System)
3.ID5R(Utgoff,1989):
inkrementelles Verfahren
//inkrementell為遞增的意思
ID3:從上往下構建決策樹
ID3演算法的一般表述
1.A
2.把A作為下一步決策用的屬性
3.為A的每個可能的取值增加一個後續的節點
(Füge für jeden möglichen Wert von A einen Nachfolgeknoten ein)
//不該啊不是應該就加葉子了嗎??怎麼還要加入子節點,感覺這都應該是下一個迴圈的事了。
4.根據屬性值對訓練資料進行分類
5.當決策已經能夠很好的進行分類時,終止演算法。否則則重複上述步驟
熵值(Entropie)
那麼應該如何選取最優的測試屬性呢???
我們用熵值來表示訓練資料的齊次性
(Die Entropie als Maß der Homogenität der Trainingsdaten)
//為什麼是表示齊次性呢???有點搞不懂啊????但是想要幹嘛確實知道的。。。。
其中:
S表示訓練集
//前面把例子例項化了,針對的是兩類問題,一類用正表示,一類用負表示
//他們正負概率相加不是1嗎??所以有必要兩個都寫嗎??回到多類問題就有必要了
目標是通過確定屬性值v使得正負類儘量的區分開來。也就是說逐漸的縮小對應的熵值。(sukzessive die Entropie maximal zu reduzieren)
//一個屬性對應的熵值不是固定的嗎??不應該是找出是熵值最小得屬性嗎??另外為什麼是就看這個屬性的熵值,不應該是求整體的熵值,然後做到全域性最優嗎???
資訊增益(Informationsgewinn)
//應該是交資訊增益吧,因為說得就是這個意思了,但是和其他的資訊增益的公式比起來,怎麼就長得不一樣呢???
Gewinn(S,A):表示通過加入屬性A後,熵值減少的量
V(A)表示A的所有可能的值。
目標是在決策樹的深度儘可能淺的情況下是增益最大
例子:S16-18
/*S18-20沒看懂不知他要表達的是神馬意思
Es gibt typischerweise viele Entscheidungsbäume,die mit den Trainingsbeispielen konsistent sind???
Hypothesenraum ist bei Bäumen vollständig, d.h. Zielfunktion ist enthalten
Suche der Hypothese:,Simple to complex” oder “hill climbing” nach Informationsgewinn???
Lokale Minima(Wie bei allen hill climbing Algorithmen) möglich???
Präferenzbias:
Ordnung auf dem Raum der Hypothesen??
Wähle Hypothese h mit der höchsten Präferenz??
Restriktionsbias:
Einschränkung des Hypothesenraums,z.B. auf lineare Schwellwertfunktionen??
H ist bei ID3 die Potenzmenge der möglichen Instanzen X??
Nicht ganz:
Präferenz für kleine Bäume und für Bäume, deren Attribute nahe der Wurzel einen hohen Informationsgewinn besitzen.
ID3-Bias ist eine Präferenz für bestimmte Hypothesen, aber keinen Restriktion des Hypothesenraums H.???
Occam’s Razor:Bevorzuge die einfachste Hypothese, die mit den Trainingsdaten übereinstimmt.
*/
Occam‘s Razor
Occam’s Razor說得是,相對於長的複雜的假設,更喜歡短的簡單的假設
原因是:
1.就數量上而言,短的假設相對於長的來說比較少
2.一個能夠正確描述資料的短的假設是巧合的概率比較小
3.和2相反一個比較長的假設,他能夠描述這些資料可能只是因為巧合
4.決策樹比較小得化效率比較高不是嗎
Overfitting
存在問題:
如果在ID3操作過程中:
每個分支都根據增益進行擴充套件直到所有的都正確分類。
在下面情況下,
1.訓練用的例子收到干擾
2.訓練例子不具有代表性
不僅會增加複雜度,而且可能存在更多的潛在的錯誤
Overfitting
定義:
我們說一個假設h對資料D過適應,當存在另一個滿足下面條件的可用於替換原假設的假設h’:
其中函式F表示存在的錯誤的數量。
對策
1.提前停止樹的擴充套件
2.生成樹後在進行剪枝(實際中比較有用)
確定最優樹的大小的標準時什麼呢??
1.分離測試資料
2.對訓練資料進行統計測試//這個真不懂要幹嘛???
/*
Statistischer Test auf den Trainingsdaten
z.B.
*/
3.測量訓練資料和決策樹的編碼複雜度//不懂+1
/*
Maß für die Kodierungskomplexität der Trainingsbeispiele und des Entscheidungsbaums
Prinzip der Minimalen Beschreibungslänge
*/
剪枝(Reduced Error Pruning)
1.把資料分為訓練資料和測試資料兩部分
2.只要剪枝不會導致測試效果表差,就充分下列操作
2.1.用測試資料評價去掉各個節點(及其後續)後決策樹的好壞程度
2.2.去掉使決策樹提升最多的節點
/*
Evaluiere die Auswirkungen des Entfernens jedes Knotens(und seiner Nachfolgeknoten) auf die Klassifikationsgüte bzgl. der Testdaten.
Entferne den Knoten, dessen Entfernen die Klassifikationsrate bzgl. der Testdaten am meisten erhöht.
*/
//不懂????什麼叫變形,為什麼是子樹的變形??
(Liefert die kleinste Variante des akkuratesten Unterbaums)
存在的問題:
當資料量不足的時候,把資料進行分類可能反而提高了他的出錯率(原文是錯誤的敏感度??)
(Bei wenigen Daten erhöht das Aufteilen der Daten die Fehlerfälligkeit noch weiter)
值域比較大的屬性
存在的問題:
在ID3中通過比較Gewinn(S,A)值域比較大的屬性比值域比較小的屬性更容易被選作下一個測試的屬性
對策:
加如懲罰措施:
其中:
屬性值為連續的
已知:屬性A的值是連續的
採取的措施:
動態定義新的離散的屬性值
那麼現在的問題是:如何選取這個閥值c
我們採用的方法是利用資訊增益:
1.按照對應的值的大小,對訓練的例子進行排序
(原文應該翻譯為分類,但我感覺應該是排序才比較正確吧???)
2.如果相鄰的兩個值屬於不同的類,那麼最佳的閥值就在這兩個值之間。取出所有的符合上面條件的值,計算其各自的資訊增益,然後取出增益最大的作為閥值。
//課件裡帶有一個例子,佔地一格。S33
屬性值未知
存在的問題是:
決策樹
基礎知識
樹的構成:
1.每一個內部節點代表一個屬性測試
2.每個分支對應特定的屬性值
3.每個葉子節點對應一個分類
樹的描述:
對於樹通常可以用一個析取正規化表示,每一個klausel對應著樹上從跟到葉子節點的一條路徑
比如:
( -1 最優 bsp p s 分享 log cnblogs 學習 tex
基本流程:
決策樹:
根結點:屬性測試,包含樣本全集
內部結點:屬性測試,根據屬性測試的結果被劃分到子結點中
葉結點:決策結果
劃分選擇:如何選擇最優劃分屬性。目標 images dot grid acc port tree special orm criterion
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn. 人工智能 其他 1. 概念決策樹是通過一系列規則對數據進行分類的過程,它提供一種在什麽條件下會得到什麽值的類似規則的方法。決策樹分為分類樹和回歸樹兩種,分類樹對離散變量做決策樹,回歸樹對連續變量做決策樹。分類決策樹模型是一種描述對實例進行分類的樹形結構。決策樹由結點和有向邊組成。結點有兩種類型:內部節
認識決策樹
決策樹思想的來源非常樸素,程式設計中的條件分支結構就是if-then結構,最早的決策樹就是利用這類結構分割資料的一種分類學習方法。
下面以一個問題引出決策樹的思想
這個問題用圖來表示就是這樣:
為什麼先把年齡放在第一個呢,下面就是一個概念:資訊熵
資訊熵
機器學習中分類和預測演算法的評估:
1.準確率
2.速度
3.強壯性
4.可規模性
5.可解釋性
1.什麼是決策樹/判定樹
判定樹是一個類似於流程圖的樹結構:其中,每個內部結點表示在一個屬性上的測試,每個分支代表一個屬性輸出,而每個樹葉結點代表類或類分佈。樹
一、演算法表述
決策樹學習的目的是為了產生一顆泛化能力強的數。
一般來說,一顆決策樹包含一個根節點,若干個內部節點和若干個葉節點。
葉節點對應決策結果,其他每個節點對應一個屬性測試。
每個節點包含的樣本集合根據屬性測試的結果被劃分到子節點中,根節點包含樣本全集。
從
機器學習中分類和預測演算法的評估:
準確率
速度
強壯性(演算法中當有噪音和某些值缺失時,演算法能否依然很好)
可規模性
可解釋性(能否很好的解釋模型)
一、什麼是決策樹?
1、判定樹(決策樹)是一個類似於流程圖的樹結構,其中,每個內部節點表示在一個屬性上的
決策樹是一個類似於流程圖的樹結構,分支節點表示對一個特徵進行測試,根據測試結果進行分類,樹葉節點代表一個類別。
要判斷從哪個特徵進行分裂,就要對資訊進行量化,量化的方式有:
ID3: 資訊增益
條件熵:
其中pi=P(X=xi),X,Y代表了兩個事件,而它們之間有
1 import numpy as np
2 import pandas as pd
3 from sklearn.feature_extraction import DictVectorizer
4 from sklearn.model_selection import train_test_sp
決策樹
概念 有關決策樹的理論參考: https://blog.csdn.net/gunhunti4524/article/details/81506012 不再贅述 要注意的是,sklearn預設使用的是 基尼係數 同是介紹一個數據集網站 http://biostat.mc.v
1.Python
2.Python機器學習的庫:scikit-learn
2.1 特性:
簡單高效的資料探勘和機器學習分析
對所有使用者開放,根據不同需求高度可重用性
基於Numpy,SciPy和matplotlib
開源的,且可達到商用級別,獲
機器學習 - 決策樹(下)- CART 以及與 ID3、C4.5的比較
CART
迴歸樹
分類樹
剪枝
剪枝
選擇
決策樹特點總結
ID3,C4.
機器學習 - 決策樹(中)- ID3、C4.5 以及剪枝
決策樹簡述
決策樹過程
ID3
C4.5
過擬合
剪枝定義
剪枝過程
機器學習 - 決策樹 and 資訊理論基礎
熵
自資訊
夏農熵
交叉熵
條件熵
互資訊(ID3 所使用的資訊增益)
KL 散度(相對熵)
,用到決策樹一般都會出現過擬合問題,因此需要對決策樹進行剪枝,闡述了常用的幾種剪枝的方法(這些方法都出現在了sklearn的決策樹建構函式的引數中),後面總結了sklearn調包分析用決策樹做分類和迴歸的幾個例子,下面通過一個簡單的例子,提煉出構建一棵分類決策樹的演算法思想,進一步體會下決策樹的分類原
概念:
決策樹:節點間的組織方式像一棵倒樹,以attribute為節點,以attribute的不同值為分支。
重點概念:
1. 資訊熵:
熵是無序性(或不確定性)的度量指標。假如事件A的全概率劃分是(A1,A2,...,An),每部分發生的概率是(p1,p2,...,pn
一、特徵選擇中的資訊增益
什麼是資訊增益?
資訊增益是特徵選擇中的一個重要的指標,它定義為一個特徵能為分類系統帶來多少資訊,資訊越多,該特徵就越重要。
這樣就又有一個問題:如何衡量一個特徵為分類系統帶來了多少資訊呢?
對一個特徵而言,系統有它的時候和沒有它的時候資訊量將會發
決策樹
---------------------------------------------------------------------
1.描述:
以樹為基礎的方法可以用於迴歸和分類。
樹的節點將要預測的空間劃分為一系列簡單域
劃分預測空間的規則可以被建模為
演算法介紹
什麼是決策樹演算法
決策樹又稱判定樹,是一個類似於流程圖的樹結構:其中,每個內部結點表示在一個屬性上的測試,每個分支代表一個屬性輸出,而每個樹葉結點代表類或類分佈。樹的最頂層是根結點。
構造決策樹的基本演算法
主要評估標準,準確率,速度,健壯性,可規模性,可解
如果存在一些屬性值並不清楚,那麼應該如何使用這些資料呢???
//有點模糊,是一個屬性所有的屬性值都不清楚,還是??
對應的措施是:
還是用老方法對例子進行分類,缺失的屬性值用下面的方法獲得:
1.使用例子中對應的最常出現的值
2.使用同一分類的該屬性最常出現的那個值
//值還缺著呢是怎麼進行分類的???
3.取每個值的概率由該值出現的頻率決定
(jedem Wert 相關推薦
機器學習-決策樹(Entscheidungsbäume)
機器學習--決策樹
機器學習—決策樹
AI機器學習-決策樹算法-概念和學習過程
機器學習——決策樹和隨機森林演算法
機器學習-決策樹演算法
機器學習--決策樹演算法學習筆記
機器學習-決策樹(decision tree)
機器學習--決策樹及泰坦尼克號生存預測
機器學習——決策樹
機器學習 決策樹 隨機森林演算法
機器學習---決策樹decision tree的應用
機器學習 - 決策樹(下)- CART 以及與 ID3、C4.5的比較
機器學習 - 決策樹(中)- ID3、C4.5 以及剪枝
機器學習 - 決策樹(上)- 資訊理論基礎
機器學習決策樹:提煉出分類器演算法
機器學習-決策樹-ID3, C4.5
[機器學習]決策樹中的資訊增益和資訊增益比
機器學習 —— 決策樹及其整合演算法(Bagging、隨機森林、Boosting)
機器學習決策樹演算法解決影象識別