大白話5分鐘帶你走進人工智慧-第二十二節決策樹系列之概念介紹(1)
第二十二節決策樹系列之概念介紹(1)
本系列我們講一個新演算法及其衍生出來的系列演算法,決策樹,隨機森林以及整合學習。無論是線性迴歸,邏輯迴歸,SVM,最大熵模型也好,都是w做引數,而我們的最終結果無論需要預測還是要分類,都是把x跟w互相搞一搞,然後得出一個結果。我們的y是通過x跟自己學的引數計算出來的,而決策樹是通過一個樹形的結構,來把我們的預測和分類問題完成。
決策樹既能做預測也能做分類,它本質上最直觀的是用來做分類,但是通過一點點的調整也可以用來做預測。決策樹的起源非常早,所謂最早時期的人工智慧就是指這。
比如拿下棋舉例,第1節點表示對方走了一步棋,然後再走一步棋,走到2這個節點,當走到4這個節點的時候,有可能再走回1這個節點。 每一個節點之間連線代表一個狀態 ,這個狀態也叫 有限狀態機 , 所謂的有限狀態機就是指就有若干的狀態,每個狀態之間可以互相轉換。
比如說對方第一步走的是第一種狀態,你就做出一個決策,對方第二步走到另外一個狀態,你就跳到另一個決策,在早期的遊戲AI裡面通常都是用這種方式來做。它背後都是一個有限狀態機,看到你做了什麼情況,就跑到某一個狀態去執行一個決策,發現你又變成另一個狀態,它有可能跳回原來那個狀態去執行之前的決策,所以它是根據不同的形式評估,然後在不同的狀態之間跳轉,有不同的策略執行。每一個狀態其實都有可能是一個子函式,背後取做一系列的操作。當有限狀態機設計的特別複雜的時候,一定程度上它就具備一定的智慧。
所以那個時代裡所謂的人工智慧就是發現對方往前走了,下一步應該做什麼?背後其是一系列特別複雜的策略寫的程式存到計算機裡面,就相當於在編寫這個程式的時候,你替計算機想到了所有一切可能發生的情況,告訴它遇到什麼情況就幹什麼, 所以看起來像是在模仿人類做決策的過程,其實背後就是一堆的if else。
所以人工智慧裡面有一句笑話叫有多少人工就有多少智慧,在那個時代說的確實對,人想到了多少事,計算機只是幫你記下來,遇到這個情況的時候,去執行這個程式,這個就叫 顯示程式設計 。
而機器學習推翻了那種思路,它想通過不需要你顯示程式設計的方式,讓計算機從資料集中通過某些合理的演算法,自己大量計算後,得到一些資訊。
簡單來說,人工智慧主要解決兩個問題,一是決策問題,就是所有資料給你之後,你應該做什麼?大部分資料探勘就是做這件事情,幫人們做一些決策。二是識別問題,把自然界中沒有整理好的資料及丟給計算機,讓它能認識這個東西是什麼,比如影象識別,語音識別,比如自然語音處理。
決策和識別哪個更復雜一點?識別,讓計算機理解人才能理解的東西更復雜。它的幾個分支,一個是 CV計算機視覺 ,一個是 NLP自然語言處理 ,比如我們積累了大量的資料在移動互聯網裡,那麼這些資料是未經處理的,怎麼樣從中提取資訊,基本上是自然語言處理要做的事。
但是各個分支不會是自己獨立的一部分,做決策也需要這些支撐。比如阿里天氣競賽有一個健康綠色的比賽,它裡面要根據幾萬個人的體檢報告給參賽者,去評估人的血壓血脂各種指標。那裡面很多資料的維度並不是整理好的資料,而是x1到xn是一組數,很多給你的原始資料是醫生寫的評語。那麼在做資料預處理的時候,也需要用一些簡單的自然語言處理模型來把它先轉換成計算機可以認識的語言。
回到決策樹身上,其實決策樹本身作為一個樹形結構其實就是一堆if else。
現在決策樹也應用在了 有監督機器學習模型 上。
舉個例子,比如quitting time是下班時間,你要做一個決策,今天到底晚上要不要學習?假如下班時間早於6點半,你會看今天要不要和女朋友去約個會;如果今天沒有約會,回家也沒有什麼事情做,有可能就學習(Y)了;如果今天天氣好,出去玩,肯定就會導致不學習(N);假如9點半之後才下班,回家已經非常累了,你看跳槽的面試時間(deadline)還有兩天以上,今天就休息,不學習了(N);或者面試已經過去兩天了,心情已經平復下來,暫時也不學習(N)了;明天就要面試了,就可能學習(Y)。
這就是一個簡單的決策樹的形式,上面的圖就是一棵樹,我們稱這棵樹quitting time這個節點叫做 根節點 ,下面真正要去做決策的節點叫做 葉子節點 。
現在這棵已經做好給你了,怎麼做預測?來一條資料第一個維度記錄著今天這個人下班的時間,第二個維度是有沒有約會,第三個維度是deadline截止日期還有多少?有了這三個資料,只要扔到這個樹裡邊,它在每一個葉子結點要分裂的時候去讀取相應的資料判斷一下到底分到哪枝了,然後再讀取資料來判斷一下最後的結果。
樹在生長的過程中可不可能出現兩個同樣維度?比如have a date分裂條件是true的情況下會接著再出現quitting time嗎?在這個例子裡面貌似是不會出現的,在實際的例子中這樣是沒問題的,只不過賦予它的意義有點矛盾了,但對某些資料的具體實際含義來說,也有可能出現多次的。