樹模型(一)——樹的構造

2021-01-17 機器學習軟體工程方法

前言

樹模型是最常見的機器學習方法之一,也是入門機器學習必須掌握的基礎。

樹模型通常分為分類樹和回歸樹。

在分類樹中,即主要針對目標變量是離散變量(一般為二元變量)的情形,樹模型的普遍使用是源於其構造方法成熟且相對簡單,易於從概念上理解。一棵樹的構建可以簡單理解為多個判斷規則的多路徑分類,根據單個樣本分到其中一類。從數據的分類規則上看,樹模型可以理解為一系列if-then-else組合;從統計學上理解,樹模型可以看成是在特徵組合空間與類別之間的條件概率分布。

回歸樹是針對目標變量是連續型的情況。

本章主要先闡述決策樹的定義,然後對如何構建一棵樹展開詳細介紹,主要針對特徵選擇,針對決策樹過擬合問題講解決樹的剪枝,最後介紹對連續變量和缺失值的處理。

樹模型

在樹的構建上,分類樹主要是二分類樹,它是最常見和應用最廣泛的。首先我們從數據結構上認識樹。

樹結構

樹(tree)的數據結構是由n(n≥0)個有限結點組成的一個具有層次關係的集合。把它叫作「樹」是因為它看起來像一棵倒掛的樹,也就是說它是根在上而葉朝下的。

樹是包含n(n≥0)個結點的有窮集,樹中的每個元素稱為結點(node);最頂層的叫作根結點或樹根(root)。

除根結點之外的其餘元素被分為m(m≥0)個互不相交的集合T1,T2,…,Tm-1,其中每一個集合Ti(1≤i≤m)本身也是一棵樹,被稱作原樹的子樹(subtree)。

樹結構的常見概念:

結點的度:某結點的度定義為該結點子結點的個數。案例中根結點A的度是3,結點E的度是2。葉子結點:度為0的結點,即案例中的J、K、L結點。樹的度:一棵樹中,最大結點的度稱為樹的度。案例樹的度為3,樹的度大於2是多叉樹。如果樹的度最大為2則為二叉樹。結點的高度:從該結點起到葉子結點的最長無重複邊的路徑的邊數。D結點高度為2。結點的層數:從根開始定義起,根為第1層,根的子結點為第2層,以此類推。結點B的層數為2,結點L的層數為4。結點的層數被稱為結點的深度。樹的層數:根結點的層數。案例樹的層數為4。樹的層數被稱為樹的深度。從樹結構的概念可以得出樹結構結點數和層級的關係大體如下:樹總結點數等於所有結點的度數加1;度為n的樹中,根結點是第1層,則第i層上最多有n(i-1)個結點。決策樹

樹結構是一種常見的決策方式。在日常生活中應用很廣泛。在決策的過程中,把影響該事件的過程進行層層拆解,將最重要的因素排在前面,層層決策,最後得到結論。整個過程會依賴於人的經驗,而在機器學習的決策樹進行決策的過程中,會把之前的經驗進行量化處理,以最終目標為導向(目標函數),利用一定的規則(熵、基尼係數以及均方誤差等)篩選特徵,構建一組簡單而有效的決策規則。

機器學習中把構建的樹稱為決策樹(Decision Tree)。單棵樹是由結點和有向邊組成,結點分為根結點、分裂結點和葉子結點。

分裂結點又稱內部結點,表示模型中的特徵分裂條件,葉子結點表示最終的結論。

決策樹的結構簡單、直觀,其決策思想自上而下,分而治之。如下是一個簡單的決策樹示意圖。

從圖中可以很直觀地看出某個樣本/決策是因為哪個特徵而分裂,最後流向了哪個葉子結點。

在分裂結點的內部,包含經過計算出來的閾值。很明顯樹模型是一系列的if-then-else組合,進而構建一條直觀的路徑,並且每個樣本有且只有一種路徑,所以該決策路徑(決策規則)相互之間是互斥且完備的。

再進一步看,後面的分割是在前面的決策基礎上進行的,即後面的決策依賴於前面的決策,從這個角度看,決策樹是基於特定特徵下的條件概率分布,單個樣本的類別是依賴於前面特徵的切分,在每次進行特徵切分時,都將樣本劃分為互斥且完備的空間,決策樹的一個路徑決定了一個劃分單元,從而決定最終的類別。

決策樹的目標函數通常是正則化的極大似然函數,決策樹的學習策略是最小化目標函數

如果決策樹的目標變量是離散變量,則稱它為分類樹(Classification Tree);如果目標變量是連續變量,則稱它為回歸樹(Regression Tree)。scikit-learn已經有現成的API接口:

分類樹sklearn.tree.DecisionTreeClassifier使用的特徵分裂指標是熵和基尼指數,對應配置參數criterion{「gini」,「entropy」},默認值為「gini」,熵和基尼指數在3.1節進行介紹。回歸樹sklearn.tree.DecisionTreeRegressor使用特徵分裂指標是均方誤差和平均絕對誤差,對應配置參數criterion{「mse」,「friedman_mse」,「mae」},默認值為「mse」決策樹算法

構建決策樹常見算法的有3種:ID3、C4.5以及CART。這3種算法是機器學習中的經典算法,本節將針對這3種不同的算法的特徵選擇過程、決策樹的生成細節進行逐步展開。決策樹的構造核心在於如何分支,即如何選取最優的特徵和劃分點依據,需要一個統一的指標(信息量)。

熵和基尼指數

構建一棵樹的基礎是挑選出最有用的特徵——特徵選擇。特徵選擇的依據是特徵的貢獻度。ID3、C4.5以及CART分類樹挑選特徵的依據是使用熵和基尼指數。

熵(entropy)是由資訊理論之父克勞德-香農(Claude Elwood Shannon)在1948年提出的概念。

在資訊理論中,熵用來度量隨機變量的不確定性。一個系統越有序,熵越小;系統越混亂,則熵越大,所以說熵是用來衡量一個系統的有序程度。

在機器學習中,變量的不確定越大,熵越大。假設隨機變量可能的取值為x1,x2,…xn,其概率分布如下所示:

此時隨機變量X的熵定義為:

log函數通常是以2為底或者以自然對數e為底。熵的大小與X的取值無關,只依賴X的分布。對於樣本集合D來說,隨機變量X是樣本的類別,假設樣本中有k個類別,對於樣本集合D的經驗熵為:

對於隨機變量只有兩個取值的情況下,假如分類變量中只有0和1的取值,熵可以簡化為:

在二分類問題中,熵和概率的關係會呈現一個倒U曲線,熵隨著p值先增大,後縮小,在p等於0.5時,熵達到最大值。

基尼指數

基尼指數(GINI)最初是用於經濟學,用來衡量收入分配公平的程度。基尼指數越大,代表貧富差距越大,反之則差距越小。

在機器學習中的含義和經濟學中相似:基尼指數越大,樣本集合的不確定性越大。

在二分類問題中,用基尼指數衡量變量的重要程度。基尼指數也稱為基尼不純度,表示樣本集合中一個隨機選中的樣本被分錯的概率。

基尼指數越小表示被分錯的概率越小,即集合的純度越高;反之,集合越不純。

全體集合的基尼指數:在二分類問題中,基尼指數的計算非常簡單。若樣本屬於正類的概率為p,此時概率分布的基尼指數為如下:

GINI指數的求解方式相對簡單,計算耗時少,並且易於理解。

ID3算法

ID3算法是20個世紀80年代Quinlan對其算法原理進行總結並提出的,是決策樹最初期的一種理論和方法。其算法核心是利用各個結點上的信息增益選擇特徵,構建決策樹。

主要實現過程是:從根結點開始,計算各特徵的信息增益,選擇信息增益最大的特徵作為分裂結點,完成一層分割之後,產生新的結點,再在新的結點上重複上述方法。

ID3的求解過程就是計算特徵上的信息增益。信息增益是計算某特徵分割前後的熵差。差值越大,說明不純度減少越多,該特徵則越有用。給定數據集D和特徵A,定義信息增益g(D,A)為:

H(D)代表未經過分割之前的信息熵,即對整個數據集進行分類的不確定性,H(D|A)稱為條件經驗熵,代表在特徵A已知的情況下,對數據集進行分類的不確定性;它們的差值即代表信息增益,表示因為特徵A而使得不確定性減少的程度。

在工程中,具體的實現方式是使用所有的特徵對樣本集進行切分,從這些特徵中選取信息增益最大的。

在構建樹的過程中,越簡單的樹越好,因此會有限選擇最有用的特徵以求更快達到更高純度的集合,這裡的「更快速」和優化算法中的梯度算法是一個原理。

ID3用到的特徵選擇方法是信息增益,計算比較簡單,但ID3的局限性在於:

整棵樹是完全生長的,沒有進行剪枝操作,因此很容易過擬合;容易選擇取值較多的特徵,當某個特徵的取值越多,該特徵的信息增益偏大C4.5算法

C4.5算法是在ID3算法上的一個改進。針對ID3算法會傾向於選擇包含可能值比較多的特徵。C4.5採用信息增益率(information gain ratio)來代替信息增益。把原來的絕對增量轉換為相對增量,一定程度上避免了由於特徵取值較多而被選中。信息增益率的計算公式為:

信息增益的本質是在信息增益的計算過程中加入了一個懲罰係數,當特徵取值個數越多時,分母的值越大;反之分母的值越小。

根據經驗上取值越大,分母會越大,這樣對因為特徵個數而導致信息增益變大的特徵進行了懲罰。

C4.5相對於ID3進行了如下優化:

使用信息增益率來代替信息增益,一定程度上避免了由於特徵取值較多而被選中。

C4.5也有局限性如下:

採用的悲觀剪枝是從上而下的剪枝策略,這種剪枝策略會導致和預剪枝同樣的問題,可能會造成過度剪枝;需要計算熵,裡面有大量的對數運算,如果特徵是連續值則還有大量的排序運算,計算比較耗時。CART

CART(Classification And Regression Tree)由Breiman等人在1984年提出,表示分類和回歸樹,是目前機器學習算法樹模型中應用最廣泛的一種。從名稱中可以看出,CART樹既可用於分類,也可用於回歸。在CART樹的構建過程中,內部結點分成二叉樹(前面兩種算法可能產生多叉樹)。

CART分類樹

在CART的分類樹中,特徵選擇會使用基尼指數。在特徵選擇的過程中,不僅會選出最優的切分特徵,也會確定最優特徵的最佳切分點。基尼指數越小,代表不確定越小,特徵越有效。條件基尼指數:在一個總量為D的樣本集中,根據特徵A是否可以取某值m,可將D劃分為D1和D2,此時在特徵A的條件下,集合D的基尼指數為:

CART分類樹與C4.5相比,C4.5是多叉樹且需要進行大量耗時的對數運算,CART分類樹計算速度更快。

CART回歸樹

CART回歸樹和分類樹的區別在於目標變量是連續的,在生成樹的過程中,選取特徵的準則也不一樣,採取均方誤差(而不是基尼係數)。對於給定的數據集D = {(

在平方誤差最小的基礎上求解每個單元的最優輸出值。在回歸樹的輸入空間進行劃分時,會對所有變量的所有值進行遍歷嘗試,以此尋找當前最優的切分變量j和最優切分點s。問題最終轉化成求解如式:

在上式中,

樹的剪枝

決策樹的生成過程要使用遞歸算法。完全生長的決策樹的學習是很充分的,但是對於未知的數據預測效果一般會很差,即出現了過擬合現象。過擬合的原因是在於學習的過程中過多學習了訓練集的信息。通常可利用剪枝來降低樹的複雜度,提高樹對未知數據的泛化能力。決策樹剪枝方法可分為兩類:預剪枝和後剪枝。

預剪枝

預剪枝是指在決策樹的生成過程中,在結點劃分前進行評估判斷。若當前結點已經滿足截止條件或劃分後不能帶來性能的提升,則停止劃分並將當前結點標記為葉子結點。預剪枝常見的策略如下所示:

樹的最大深度:如果某個結點的深度已經達到預先設定的樹的最大深度,那麼就停止分支, 該結點被設定為葉結點;葉子最小樣本數量:一般來說, 葉結點的樣本量越多,泛化越強,反之越容易過擬合。限制葉結點的最小樣本量有助於提升決策樹的泛化能力,如果當前結點樣本量已經低於預先設定的閾值,那麼停止分支;純度準則:分支過程若導致結點上不斷地降低Gini不純度/熵/結點內方差等,說明純度一直在改進。達到特定的純度即可停止分支。

在實際的建模工作中,預剪枝的截止條件閾值在配置時需要選擇合適的參數,如果參數配置的不當,可能會產生欠擬合或過擬合。參數閾值選擇可參考本書的模型調參章節,選擇適合當前模型項目的參數閾值才能使模型的訓練預測效果和泛化能力達到較好的水準。

後剪枝

後剪枝是先等訓練集生成的決策樹長成後,對樹進行剪枝得到簡化版的決策樹。後剪枝的剪枝過程是刪除一些子樹,然後用其葉子結點代替,這個葉子結點所標識的類別通過多數表決法決定。

常見的後剪枝方法的主要分為3種方法:

錯誤率降低剪枝(Reduced-Error Pruning,REP)悲觀剪枝(Pesimistic-Error Pruning,PEP)代價複雜度剪枝(Cost-Complexity Pruning,CCP)

第3節介紹的3種決策樹算法中,C4.5算法基於悲觀策略剪枝,CART算法是代價複雜度策略剪枝,ID3算法沒有使用後剪枝策略。

1.錯誤率降低剪枝REP

REP方法考慮將樹上的每個結點作為修剪的候選對象,對於完全決策樹中的每一個非葉子結點的子樹,嘗試著把它替換成一個葉子結點,然後比較替換前後兩棵決策樹在測試數據集中的表現,如果替換後的決策樹在測試數據集中的錯誤比較少(小於等於),那麼該子樹就可以被替換成葉子結點。該算法以自底向上的方式遍歷所有的子樹,直至沒有任何子樹可以替換使得測試數據集的表現得以改進時,算法就可以終止。

2.悲觀剪枝PEP

PEP方法是了克服 REP 方法缺點而提出的,它不需要分離的剪枝數據集。PEP是根據剪枝前後的錯誤率來判定子樹的修剪。該方法引入了統計學上連續修正的概念彌補REP中的缺陷。PEP算法實用的從上而下的剪枝策略,這種剪枝方法會導致剪枝過度。。

3.代價複雜度剪枝CCP

CCP方法會生成一系列樹,每個樹都是通過將前面的樹的某個或某些子樹替換成一個葉節點而得到的,這一系列樹中的最後一棵樹僅含一個用來預測類別的葉節點。然後用一種成本複雜度的度量參數α來判斷哪棵子樹應該被一個預測類別值的葉節點所代替。這種方法需要使用一個單獨的測試數據集來評估所有的樹,根據它們在測試數據集熵的分類性能選出最佳的樹。特徵處理

決策樹算法案例都是基於離散數據講解的,決策樹生成方式對於離散數據是非常容易處理的。而連續屬性的可取值數目不再有限,因此不能像前面處理離散屬性枚舉離散屬性取值來對結點進行劃分。本節主要講解決策樹對於連續值以及缺失值的處理。

連續值處理

對連續值的處理其實就是離散化,常用的離散化策略是二分法。這個方法是C4.5和CART中採用的策略,只是兩者選擇劃分點的衡量標準不一樣:C4.5使用信息增益率,CART使用基尼指數或平方誤差。對於連續屬性a,我們可考察包含m−1個元素的候選劃分集合如下:

即把區間[

缺失值處理

在決策樹中是如何處理屬性值有缺失值的呢?可以從如下3個方面來考慮。

(1)訓練生成決策樹,在選擇分裂屬性的時候,訓練樣本存在缺失值,如何處理?

計算分裂損失減少值時,忽略特徵缺失的樣本,最終計算的值乘以比例(實際參與計算的樣本數除以總的樣本數)。假設20個樣本,屬性是a。在計算a屬性熵時發現,第20個樣本的a屬性缺失,那麼就把第20個樣本去掉,用其餘的19個樣本組成新的樣本集,在新樣本集上按正常方法計算a屬性的信息增益。然後將結果乘0.95(新樣本佔原樣本的比例),即可得到a屬性最終的信息增益。

(2)訓練生成決策樹時,給定劃分屬性,訓練樣本屬性存在缺失該何處理?

將該樣本分配到所有子結點中,權重由1變為具有屬性a的樣本被劃分成的子集樣本個數的相對比率,計算錯誤率的時候,需要考慮樣本權重。

(3)決策樹模型訓練完成,需要測試集樣本測試模型效果,測試樣本有缺失值該如何處理?

把待分類的樣本的屬性a值分配一個最常出現的a的屬性值,然後進行分支預測。在決策樹中屬性a結點的分支上,遍歷屬性a結點的所有分支,探索可能所有的分類結果,然後把這些分類結果結合起來一起考慮,按照概率決定一個分類。待分類樣本在到達屬性a結點時就終止分類,然後根據此時a結點所覆蓋的葉子結點類別狀況為其分配一個發生概率最高的類。

相關焦點

  • 深度神經決策樹:深度神經網絡和樹模型結合的新模型
    深度神經決策樹:深度神經網絡和樹模型結合的新模型 工程師郭婷 發表於 2018-08-19 09:14:44 近日,來自愛丁堡大學的研究人員提出了一種結合深度神經網絡和樹模型的新型模型
  • 假設一棵樹高10光年,砍斷這棵樹,樹倒下的速度會超過光速嗎?
    首先沒有這樣的樹,如果一棵樹能高10光年,那長度就和太陽系差不多了。為了可以撐住如此長的樹,那麼其根基至少也一光年。這樣算下來,這棵樹的質量起碼達到黑洞級別了。那麼在引力的作用下,這棵樹就會坍塌收縮成黑洞,所以你就不可能砍這棵樹。其實這種思想實驗的錯誤就是假設性前提的錯誤。
  • 「一棵樹」的空間,耐人尋味!
    01楔子最近良子在朋友圈看到了幾篇關於「一棵樹」的文章,多是從「功能角度」來描述:一棵樹對空間營造帶來的益處。良子記得在《什麼是建築的「場所和精神」?》一文中也提到了一棵樹,當時關注的焦點在「精神」上。關注的是場所,而忽略了「一棵樹『本身能實現的價值,以及一棵樹能帶來的思考。
  • 一招辨別幸福樹與富貴樹
    幸福樹學名為菜豆樹,富貴樹學名為幌傘楓,均是大家喜歡放在室內觀賞的綠植。這兩種植物雖不是來自同一個家族,但外形較為類似,往往容易混淆。這是幸福樹還是富貴樹今天,小編給大家分享一個識別技巧。菜豆樹(幸福樹):總葉柄基部不膨大(術語:總葉柄基部不抱莖)。
  • 從拍腦袋下決定到科學做選擇——決策樹模型-TY聊思維5
    由於這種決策分支畫成圖形很像一棵樹的枝幹,故稱決策樹復旦大學鬱文教授給過一個更加學術的定義:「決策樹用圖形表示決策過程的連續性,展示隨著時間的推移將發生的自然或邏輯的的進展,系統地呈現決策者將面對的各種選擇與不確定性,最終系統地進行歸納並進行決策」有的小夥伴看著肯定比較枯燥,最簡單的理解就是顧名思義:決策樹就是用於輔助決策的一種樹狀模型
  • 一文讀懂平衡二叉樹|技術頭條
    為了避免二叉搜索樹變成「鍊表」,我們引入了平衡二叉樹,即讓樹的結構看起來儘量「均勻」,左右子樹的節點數儘量一樣多。生成平衡二叉樹那給定插入序列,如何生成一棵平衡二叉樹呢?先按照生成二叉搜索樹的方法構造二叉樹,直至二叉樹變得不平衡,即出現這樣的節點:左子樹與右子樹的高度差大於1。至於如何調整,要看插入的導致二叉樹不平衡的節點的位置。
  • 進化決策樹:當機器學習從生物學中汲取靈感時
    它們度量的是雜質度,當節點的所有樣本屬於同一類別時,這類指標的值為0;當節點的樣本的類別呈均一分布(即,該節點取到某一類別的概率為常數)時,這類指標的值取到最大值。更多相關信息參見本文。但是,此類指標有兩個主要缺點:1.可能取到次優解;2.可能生成過於複雜的決策樹,以至於在訓練數據中泛化效果不好,導致過擬合。
  • 機器學習中決策樹的原理與算法 | 科普
    名字中的樹,顧名思義,就是模型的結構是樹形結構,樹形結構的主要優點就是可讀性較強,分類速度較快。樹是由軀幹和葉子組成,決策樹中的有向邊和結點與之對應,其中結點也有兩種類型,一種是內部結點,一種是葉結點。上面的介紹的都是從字面上可以理解出的一些概念,性質上來講,決策樹是一個預測模型,它代表的是對象屬性與對象值之間的一種映射關係。
  • 決策樹,回歸樹,自動分類,三種自動化學習方法
    今天介紹我所了解的三種自動化學習方法,分別是autoclassification(自動分類)、decisiontree(決策樹)、classificationlogisticregression(回歸樹)。因為原始數據的類別太多,不能構建直觀的學習模型。
  • 機器學習|決策樹的生成過程是怎樣?(一)
    本文筆者將用具體例子講述決策樹的構建過程,分析:決策樹生成過程中有什麼樣的問題?一、基本概念決策樹的定義:首先,決策樹是一種有監督的分類算法——即給定X,Y值,構建X,Y的映射關係。不同於線性回歸等是多項式,決策樹是一種樹形的結構,一般由根節點、父節點、子節點、葉子節點構成如圖所示。
  • 什麼是 Trie 樹?
    本文轉載自【微信公眾號:五角錢的程式設計師,ID:xianglin965】經微信公眾號授權轉載,如需轉載與原文作者聯繫黑臉面試官猿同學,看你簡歷上說熟悉數據結構,說說你對 Trie 樹的理解。猿六 Trie 樹是一種數據結構,它又叫字典樹。
  • 大地的舍利——樹化玉
    天涯樹化玉公司專營緬甸樹化玉,集批發零售為一體,真誠為您獻上大自然的瑰寶奇石,歡迎您蒞臨觀賞品鑑。  ■地址: 北京市朝陽區十裡河橋程田古玩城A座137號  ■電話:010-87364916,83556372  程田古玩城一層天涯樹化玉門店設有880元精品專區,其餘珍品特惠折上折,8.8折基礎上再享8.8折!
  • 泰國罕見女人樹,果實形狀和人體構造相同,導遊:傻子才會買
    只要在網絡上,什麼信息都可以快速地查找到,那麼泰國關於「女人樹」的傳說,也在網絡上火了起來。很多網友也都紛紛去泰國旅行的時候,都想去看一眼所謂的「女人樹」。不知道小夥伴們有聽說過這個傳說嗎?接下裡小編帶著大家一起去了解一下「女人樹」,為何當地人不吃結出來的果實?在個關於樹木的傳說在曼谷的一個森林公園。
  • 科學家在秘魯發現樹化石,揭示了過去1000萬年環境的巨大變化
    研究人員在秘魯中部安第斯高原上進行考察時,發現巨大的樹化石被埋在一片草地上。來自秘魯南部高海拔地區的植物化石包含了安第斯山環境在過去1000萬年發生重大變化的提醒。有趣的是,這些化石中記錄的變化與氣候模型並不相符。
  • 一棵努力長死了的樹
    辦公樓大門口那棵最壯碩的樹死了,沒被蟲子蠶食,沒有遭受外力破壞。貌似長得好好的,卻慢慢地就死掉了。就像賣衣服的,總喜歡把最漂亮的衣服掛在門口顯眼的地方,以招徠顧客一樣,大門口旁邊的這棵樹自然也是挑選地最好的,樹幹粗壯結實,枝杈短小精悍,彰顯著旺盛的生命力。
  • 花楸樹,俄羅斯的愛情樹
    而在姑娘出嫁的婚禮中,也是要撒花楸樹果子,代表祝福。 關於花楸樹(但是她還是沒能把羅曼努什卡完全殺死,在弟弟沉下去的地方長出了一棵枝葉繁茂而討人喜歡的樹。從此以後,這種樹在俄羅斯廣泛地生長開來,人們親切地稱之為「花楸樹」,這種樹所代表的美好、忠誠和善良的品質為人所讚賞。
  • 那一棵棵路旁的樹
    路旁的樹,栽的時候,是一截截圓木好像一根根電線桿子光禿禿沒有生命體徵春天過後芽兒拱出來夏天過後葉子已經很茂盛坐在小廣場的石臺上一直感嘆這些樹都活了!小孩子說,你看那一棵真的是還有一棵所有葉子都已枯黃樹幹也很細在周圍的綠茵茵的樹旁邊一點不起眼那可能是一棵名貴的樹
  • 《算法》筆記 11 - 最小生成樹
    最小生成樹的應用加權圖是一種為每條邊關聯一個權值的圖模型,這種圖可以表示許多應用,比如在一副航空圖中,邊表示航線,權值就可以表示距離或費用;在一副電路圖中,邊表示導線,權值就可以表示導線的長度或成本。最小生成樹就是用於在加權無向圖中解決這類問題的。最小生成樹相關的算法在通信、電子、水利、網絡、交通燈行業具有廣泛的應用。圖的生成樹是它的一顆含有其所有頂點的無環連通子圖,一副加權無向圖的最小生成樹(Minimum spanning tree)是它的一顆權值(樹中所有邊的權值之和)最小的生成樹。
  • 熱門景點的誕生因為一棵樹,有著「樹抱佛」之稱的樹是什麼樣子?
    俗話說得好,世界之大,無奇不有,世界上總有一些無法用科學來說明的事情的存在,就好像是國內的一個景點,有一顆巨大的樹裡面藏有一個佛像,這樣的事情確實讓人有些無法理解了,其實這樣現象也被叫做是樹抱佛,同時還是中國僅有的樹抱佛。
  • 竹木牙角,木成林——樹化玉(上)
    ,這便是樹化玉。樹化玉在極為苛刻的地質環境條件下形成,古生物化石形成的概率僅為百萬分之一,而形成樹化玉的概率則更低,緬甸作為世界上最大的玉石翡翠出產國,有著得天獨厚的形成樹化玉的條件,也是世界上目前發現的樹化玉貯 藏最為豐富的國家,由於天然化石不可再生的特殊性,資源只會愈發稀少。