決策樹:如何優化我的決策過程?

選擇是我們日常生活中最常見的,比如今天週一了,我是賴床還是準點上班……我們幾乎無時不刻面臨著選擇。有時候面臨選擇我們可能還會產生選擇恐懼症,有時我們又因為選擇感到迷茫。如果在以後的生活中想要更好地做出選擇,那麼建議讀完這篇文章,我將用機器學習中的決策樹理論,向你展示優化決策的過程。

決策樹:如何優化我的決策過程?

選擇

最開始的問題

想象一下這個場景:一起來玩個遊戲,現在你在腦海裡想到一個動物,我需要猜到你想的是什麼動物。我每次會問你一個問題,比如:會不會飛?會不會游泳?……而你所要做的就是根據你想到的動物回答Yes/No。

很顯然,我的每次提問都會越來越靠近靠近正確答案,這就是決策樹的思想。

在每一個決策點上,都需要思考對於數據集進行區分的問題。我在每次提問之前需要找到最佳區分的問題,然後在下一個決策點,再次找到最佳區分。

決策樹算法

讓我們先來了解一下決策樹算法。

決策樹是一種監督學習算法,以用於迴歸和分類問題。適用於分類和連續輸入和輸出變量。

來看一下西瓜書對於決策樹的刻畫:

如何通過西瓜的紋理、根蒂、觸感和色澤來判斷是否是好瓜。

決策樹:如何優化我的決策過程?

判斷好瓜

通過上圖我們可以找到關於決策樹的一些術語:

  • 根節點(紋理)表示整個群體或樣本。它進一步分為2個或更多個同類集。
  • 拆分是將節點劃分為2個或更多個子節點的過程。
  • 當子節點分裂成更多子節點時,它被稱為決策節點(紋理、根蒂、觸感和色澤)
  • 不拆分的節點稱為終端節點葉子(好瓜、壞瓜)
  • 刪除決策節點的子節點時,此過程稱為修剪。修剪的反面是分裂
  • 整個樹的子部分稱為
    分支
  • 被劃分為子節點的節點稱為子節點的節點; 而子節點被稱為子類的父節點。

決策樹是如何工作的?

介於本文主題,這裡我們只討論分類樹。

讓我們來看看決策樹構建算法及其所有細節。為了構建決策樹,我們需要對數據集做出初步決定,以決定使用哪個特徵來分割數據。要確定這一點,我們必須嘗試每個分類依據並計算哪個分割會給我們帶來最好的結果(使分類效果最明顯)。之後,我們將數據集拆分為子集。然後子集將遍歷第一個決策節點的分支。如果分支上的數據是同一個類,那麼我們已經對它進行了正確的分類,並且不需要繼續拆分它。

決策樹:如何優化我的決策過程?

Yes/No?

如果數據不相同,那麼我們需要在該子集上重複拆分過程。關於如何拆分子集的與分割原始數據集的方式相同(遞歸過程),重複此過程,直到對所有數據進行分類。

那麼我們如何判斷拆分數據集是否合理呢?這種情況下不能定性分析,需要通過計算得到精確的解。

信息論

信息論的創造者——香農是個非常偉大的人物,由他開創了信息時代。這裡不詳細展開,感興趣的小夥伴自行搜索。

其中信息論中最重要的概念就是熵。

決策樹:如何優化我的決策過程?

信息熵公式

熵衡量了預測隨機變量的值時涉及到的不確定度的量。例如,指定擲硬幣的結果(兩個等可能的結果)比指定擲骰子的結果(六個等可能的結果)所提供的信息量更少(熵更少)。

由此,我們可以計算分割前後的信息。分割前後的信息變化稱為信息增益。當我們知道如何計算信息增益時,我們可以在每個特徵上分割數據,以決策哪種分割提供了最高的信息增益。具有最高信息增益的決策是我們的最佳選擇。

決策樹的優勢以及如何優化?

由決策樹推導整個過程,讓我們能非常直觀地瞭解決策過程。

決策樹有它的優勢,其中最明顯的一點是對於數據是沒有縮放處理的。由於每個特徵是單獨處理的,並且數據的分割不依賴於縮放,因此決策樹算法不需要像標準化或特徵標準化那樣的預處理。特別是,當我們具有完全不同尺度的特徵,或者二元和連續特徵的混合時,決策樹可以很好地工作。

決策樹:如何優化我的決策過程?

決策樹過程

但是,決策樹通常不具有與其他方法相同的預測準確度,因為它們不是很穩健。數據的微小變化可能導致最終估計樹整體的大幅變化。即使使用預修剪,它們也會過度擬合併提供較差的泛化性能。因此,在大多數應用中,通過聚合許多決策樹,使用諸如隨機森林增強決策樹等方法,可以顯著提高決策樹的預測性能。

指導我們生活中的就是:如果你面對問題時產生了選擇恐懼症或者看不清未來的方向,不妨坐下來。畫個圖,把自己的想法和決策點標註清楚,計算對於自己的信息增益(對自己的目標幫助有多大),形成一幅完整的決策樹(思維導圖),再去做事,或許有撥雲見日的效果!!!


分享到:


相關文章: