查理芒格提出跨學科知識以及多元思維模型,在《窮查理寶典》中提到了有100多個思維模型,我們在【查理芒格研習會】中,將會以學習思維模型的方式對查理提到的這100多個思維模型進行深入探討和學習,會將該模型的原始出處和原理搞清楚,然后在結合自身的工作和生活進行理解和運用,希望能將這100多個思維模型都融入到我們自身的知識結構中。
決策樹理論是我們整理學習的第七個思維模型。
本文主要是以摘抄維基百科的內容來講解決策時理論,以劉潤5分鐘商學院的決策樹案例進行分析解說,前半部分理論相對晦澀難懂,可以跳過直接看后面的案例解說。
什么是決策樹理論?
決策論中(如風險管理),決策樹(Decision tree)由一個決策圖和可能的結果(包括資源成本和風險)組成,用來創建到達目標的規劃。決策樹建立并用來輔助決策,是一種特殊的樹結構。決策樹是一個利用像樹一樣的圖形或決策模型的決策支持工具,包括隨機事件結果,資源代價和實用性。它是一個算法顯示的方法。決策樹經常在運籌學中使用,特別是在決策分析中,它幫助確定一個能最可能達到目標的策略。如果在實際中,決策不得不在沒有完備知識的情況下被在線采用,一個決策樹應該平行概率模型作為最佳的選擇模型或在線選擇模型算法。決策樹的另一個使用是作為計算條件概率的描述性手段。
機器學習中,決策樹是一個預測模型;他代表的是對象屬性與對象值之間的一種映射關系。樹中每個節點表示某個對象,而每個分叉路徑則代表某個可能的屬性值,而每個葉節點則對應從根節點到該葉節點所經歷的路徑所表示的對象的值。決策樹僅有單一輸出,若欲有復數輸出,可以建立獨立的決策樹以處理不同輸出。 數據挖掘中決策樹是一種經常要用到的技術,可以用于分析數據,同樣也可以用來作預測。
從數據產生決策樹的機器學習技術叫做決策樹學習,通俗說就是決策樹。
一個決策樹包含三種類型的節點:
? ? 1、決策節點:通常用矩形框來表示
? ? 2、機會節點:通常用圓圈來表示
? ? 3、終結點:通常用三角形來表示
決策樹學習也是數據挖掘中一個普通的方法。在這里,每個決策樹都表述了一種樹型結構,它由它的分支來對該類型的對象依靠屬性進行分類。每個決策樹可以依靠對源數據庫的分割進行數據測試。這個過程可以遞歸式的對樹進行修剪。 當不能再進行分割或一個單獨的類可以被應用于某一分支時,遞歸過程就完成了。另外,隨機森林分類器將許多決策樹結合起來以提升分類的正確率。
決策樹的優點
相對于其他數據挖掘算法,決策樹在以下幾個方面擁有優勢:
1、決策樹易于理解和實現,人們在通過解釋后都有能力去理解決策樹所表達的意義。
2、對于決策樹,數據的準備往往是簡單或者是不必要的,其他的技術往往要求先把數據一般化,比如去掉多余的或者空白的屬性。
3、能夠同時處理數據型和常規型屬性。其他的技術往往要求數據屬性的單一。
4、是一個白盒模型,如果給定一個觀察的模型,那么根據所產生的決策樹很容易推出相應的邏輯表達式。
5、易于通過靜態測試來對模型進行評測。表示有可能測量該模型的可信度。
6、在相對短的時間內能夠對大型數據源做出可行且效果良好的結果。
決策樹的缺點
1、對于那些各類別樣本數量不一致的數據,在決策樹當中信息增益的結果偏向于那些具有更多數值的特征。
2、訓練一棵最優的決策樹是一個完全NP問題。因此, 實際應用時決策樹的訓練采用啟發式搜索算法例如貪心算法來達到局部最優。這樣的算法沒辦法得到最優的決策樹。
3、決策樹創建的過度復雜會導致無法很好的預測訓練集之外的數據。這稱作過擬合,剪枝機制可以避免這種問題。
4、有些問題決策樹沒辦法很好的解決,例如異或問題。解決這種問題的時候,決策樹會變得過大。 要解決這種問題,只能改變問題的領域或者使用其他更為耗時的學習算法 (例如統計關系學習 或者 歸納邏輯編程).
5、對那些有類別型屬性的數據, 信息增益會有一定的偏置。
決策樹的剪枝
剪枝是決策樹停止分支的方法之一,剪枝有分預先剪枝和后剪枝兩種。預先剪枝是在樹的生長過程中設定一個指標,當達到該指標時就停止生長,這樣做容易產生“視界局限”,就是一旦停止分支,使得節點N成為葉節點,就斷絕了其后繼節點進行“好”的分支操作的任何可能性。不嚴格的說這會已停止的分支會誤導學習算法,導致產生的樹不純度降差最大的地方過分靠近根節點。后剪枝中樹首先要充分生長,直到葉節點都有最小的不純度值為止,因而可以克服“視界局限”。然后對所有相鄰的成對葉節點考慮是否消去它們,如果消去能引起令人滿意的不純度增長,那么執行消去,并令它們的公共父節點成為新的葉節點。這種“合并”葉節點的做法和節點分支的過程恰好相反,經過剪枝后葉節點常常會分布在很寬的層次上,樹也變得非平衡。后剪枝技術的優點是克服了“視界局限”效應,而且無需保留部分樣本用于交叉驗證,所以可以充分利用全部訓練集的信息。但后剪枝的計算量代價比預剪枝方法大得多,特別是在大樣本集中,不過對于小樣本的情況,后剪枝方法還是優于預剪枝方法的。
決策樹理論的運用
借用劉潤的5分鐘商學院中講解決策樹的一個案例,相對比較簡單清晰。
作為一個女孩子,你媽媽一直很為你的終身大事擔心,今天又要給你介紹對象了。你隨口一問:多大了?她說:26。你問:長得帥不帥?她說:挺帥的。你問:收入高不高?她說:不算很高,中等情況。你問:是《劉潤.5分鐘商學院》學員嗎?她說:是,還經常留言呢。你說:那好的,我去見見。
找男朋友,絕對是比找工作、創業、投資公司,更重要的戰略決策。這么重要的決策,就可以用到決策樹(Decision Tree)這個工具。
什么叫決策樹?其實剛才那連珠炮似的問題,就有決策樹的基本邏輯在里面。
當你問:“多大了?”的時候,其實就開始啟動了“相親決策樹”的第一個決策節點。這個決策節點,有兩條分支:第一,大于30歲?哦,是大叔,那就不見了;第二,三十歲以下?哦,年齡還可以。然后,你才會接著問“長得帥不帥?”這又是一個決策節點,“不帥到了丑的級別”,那就別見了。如果至少中等,那就再往下,走到第三個決策節點“收入高不高?”。窮?那也不能忍。然后是第四個決策節點“是《5商》學員嗎?”。是?太好了,小伙子很上進,那就見吧。
你通過四個決策節點“年齡、長相、收入、上進”,排除了“老、丑、窮還不上進的人”,選出“30歲以下,收入中等,但是很上進,在學習《劉潤.5分鐘商學院》的帥小伙”。這套像樹一樣層層分支,不斷遞進的決策工具,就是“決策樹”。
西蒙說:管理就是決策。而決策樹,就是一種把決策節點畫成樹的輔助決策工具,一種尋找最優方案的畫圖法。
怎么樣?一點都不難吧。但是別急,你注意到沒有,你的“相親決策樹”有一個不太現實的地方,就是你媽居然能回答你的每一個問題。這讓你的決策,變得非常簡單直接。現實情況通常不是這樣的。
現實情況通常是,你希望賴以決策的依據,是沒有確定答案的。比如你如果問你媽:他的脾氣好嗎?你媽估計會說:哎呀,這個說不好,我只見過一面,感覺八成脾氣還不錯吧。你再問:他未來會有錢嗎?你媽估計會說:這天知道。他那么努力,估計至少有三成概率,未來總會有錢吧?
聽完這些回答:80%可能脾氣不錯,30%可能將來會有錢,你還去不去相親?這就難決定了。這時,我們就往“決策樹”中引入一個“概率”。
這種被概率化的決策樹,又叫:概率樹(Probability Tree)。
增加了“不確定性”后,應該怎么用“決策樹”,或者“概率樹”決策呢?
假設滿意的最高分是10分,不滿意的最高分是-10分,現在你要做一件事情,給“脾氣”和“有錢”這兩個不確定的條件,所產生的四個組合,誠實的打個分。
如果他真的脾氣好,也真的未來很有錢,你有多滿意?如果真是這樣,那是100%的滿意啊!打10分。
如果他的脾氣雖然好,但是很不幸,因為運氣問題、能力問題,最后真的還是一生窮困,你有多滿意?嗯,雖然沒錢,但好歹脾氣好。這就是命吧。如果真這樣,我的滿意度是3分。
接下來。如果不幸他的脾氣很差,最后還沒錢呢?這簡直就是渣男啊,-10分!
那如果脾氣差,但最后一不小心很有錢呢?這是一個好問題。要不要為了錢忍呢?忍一輩子很難啊,我還是打-5分吧。
在80%好脾氣,30%會有錢的不確定下,你是見,還是不見呢?如果決定不見,你沒有得失,收益是“0”。但是如果見呢?那就有四種可能性:
1、脾氣差,但有錢的概率是:20% x 30% = 5%。對這種情況,你打了-5分。也就是這條概率分支,你的收益是:6% x (-5分) = -0.3分。
2、脾氣差,沒錢呢?概率是:20% x 70% = 14%,收益是:14% x (-10分) = -1.4分。
3、脾氣又好又有錢的概率是:80% x 30% = 24%,收益是:24% x 10分 = 2.4分。
4、脾氣好,但是沒錢的概率是:80% x 70% = 56%,收益是:56% x 3分 = 1.68分。
所以,如果你選擇了見,你的總收益是:(-0.3分) + (-1.4分) + 2.4分 + 1.68分 = 2.38分。
你決定見的總體收益是2.38分,不見的收益是0。所以,怎么樣?應該趕緊畫個妝出門,去相親。
小結:認識決策樹
什么是決策樹?決策樹,就是一種把決策節點畫成樹的輔助決策工具,一種尋找最優方案的畫圖法。
什么是概率樹?概率樹在決策樹的基礎上,增加了對條件發生概率的預測,和對結果收益的評估,然后加權平均得到一個“期望值”,用這個期望值,作為依據,輔助決策。