機器學習入門精講,這些知識點不可錯過
決策樹:是一種簡單常用的分類器,通過訓練好的決策樹可以實現對未知的數據進行高效分類。
最近很火的狼人殺的遊戲結局也用到了決策樹的思想:
下面用圖來表示:
這幅圖完整表達了狼人殺結局的各種情況,箭頭指向一個判斷條件在不同情況下的遊戲結果,最後通過場上剩餘的人來判斷是誰獲勝。
我們可以看出,在每一個關鍵節點(比如村人殺死所有的狼人?),依據判斷條件,可以將答案劃分為Yes or No,最後輸出獲勝一方。
通過樹形結構,根據條件判斷輸出相應的結局,這種簡單的演算法,便是決策樹的原型。
01
決策樹——機器學習中的「倚天寶劍」
決策樹是機器學習中很經典的一種演算法。它既是分類演算法,也是回歸演算法,還可以用在隨機森林中。
咱們學計算機的同學經常敲if 、else if、else其實就已經在用到決策樹的思想了。
從開頭狼人殺的例子中也可以看出,決策樹模型具有較好的可讀性和描述性,能夠幫助我們更高效率地去分析問題。
舉個例子,普通人去銀行貸款的時候,銀行會根據相應條件,來判斷貸款人是否具有還貸能力。
貸款用戶主要具備三個屬性:房產、婚姻、平均月收入。
擁有房產或結過婚或月收入大於4000的貸款用戶具備償還能力。
例如:用戶甲沒有房產,沒有結婚,月收入5K,通過上圖的判斷條件可以判斷出用戶甲具備償還貸款能力。
這整個判斷還貸能力的過程,就用到了決策樹的思想。
02
決策樹演算法——基尼不純度、熵
基尼不純度,是指將來自集合中的某種結果隨機應用在集合中,某一數據項的預期誤差率,可以用來度量任何不均勻分布。
下圖是組合1和組合2的基尼不純度:
從圖中我們可以看出,組合1的基尼不純度大於組合2。
打個比方,基尼不純度就像男生挑鑽石向女生求婚,所有的鑽石看著都很閃,但仔細比較價格卻差很多,因為每顆鑽石的的純度不一樣,純度越高,價格也就越貴。
由此可總結出這樣2種情況:
A、基尼不純度越小,純度越高,集合的有序程度越高,分類的效果越好
B、基尼不純度為 0 時,表示集合類別一致
熵度量的是事物的不確定性,越不確定的事物,它的熵就越大。
熵是資訊理論中的概念,用來表示集合的無序程度,熵越大表示集合越混亂,反之則表示集合越有序。
03
決策樹演算法——信息增益
信息增益越大,說明整個集合從無序到有序的速度越快,本次拆分越有效,則越適合用來分類。
通俗來講,信息增益代表了在一個條件下,信息複雜度(不確定性)減少的程度。
我們以《非誠勿擾》為例,在男嘉賓出場之前,如果女嘉賓對男嘉賓一無所知,成為他女朋友的不確定性就比較高,如果知道其中的幾個特徵(如身高、性格等),不確定性就會減少很多。
由上面的例子可見,一個屬性的信息增益越大,表明這個屬性使得數據由不確定性變成確定性的能力越強。
04
決策樹演算法的補充要點
關於剪枝
利用決策樹演算法構建一個初始的樹之後,為了有效的分類,還要對其進行剪枝,剪枝是為了減少過擬合現象。
剪枝思路主要是兩種:
一種是預剪枝,即在生成決策樹的時候就決定是否剪枝。
另一個是後剪枝,即先生成決策樹,再通過交叉驗證來剪枝。
關於過擬合
為了得到一致假設而使假設變得過度複雜稱為過擬合。
比如,考試的時候,有的人採用題海戰術,把每個題目都背下來。
但是題目稍微變化一下,他就不會做了,因為他沒有總結出通用的規則。
過擬合的原因一般有兩種:
A. 模型太過複雜而樣本量不足
B. 訓練集和測試機特徵分布不一致
機器學習中關於決策樹的部分就講到這裡了,想知道更多詳情的,請戳:
機器學習入門精講,這40個知識點不可錯過(二)
推薦閱讀:
※Tensorflow入門教程(6)
※喜報!人工智閱讀理解能力首超人類,AI時代來了
※機器學習筆記005 | 更加接近現實情況的預測
※關鍵詞提取Part1(A Quick Review)
※關聯分析:第一大數據挖掘演算法