寫在前面的話
趁着現在我還是高中數理化老師,偶爾兼職英語老師的時候趕緊抓緊時間寫點有關計算機科學技術的東西。一來是表示我對計算機的熱愛,二來,當然是最重要的咯,滿足一下我強大的虛榮心。哈哈哈哈!想想高中數學物理化學老師在折騰計算機,是不是有種瞬間吊炸天的感覺。
這個系列我寫了一個月了,之后會陸陸續續的放出來的。希望對大家有一點點幫助。如果您沒有看懂我在寫啥,那一定是我錯了,講的不夠清楚。世界上沒有什么知識點是難的,只是看你知識儲備和理解力達到了相應的水平沒有。至少我是這么認為的。
當然,您要是覺得我寫的有啥不好的,使勁的噴,隨便噴,帶着憤怒的情緒狂噴都沒有問題!把問題告訴我,讓我有所進步,讓大家一起進步,那真真是極好的!
1.背景知識
在我們談論決策樹的時候我們先來玩一個游戲好咯。
2016年是奧運年,我最喜歡的兩個運動員,(內心戲:當然是女的咯。因為我也是妹子,哈哈哈。)一個當然是女王隆達羅西,還有一個就是伊辛巴耶娃咯。
好的,現在我們就來玩猜運動員的游戲。
我在心里想一個運動員的名字,比如說就是伊辛巴耶娃。然后你有20次的提問機會,但是我只能回答你是還是不是這兩種可能。
我們可以這樣對話:
你:男的?
我:不是
你:參加過往屆奧運會?
我:是
你:參加過兩次?
我:不是
你:參加過三次?
我:是
你:參加的是田賽
我:是
你:耶辛巴伊娃
我:恭喜你,答對了!
以上我們玩的這個過程就有一點點像決策樹算法。
我們經常使用決策樹處理分類問題,近年來,決策樹也是經常使用的數據挖掘的算法。
決策樹的概念是非常簡單的,我們可以通過一個圖形來快速的了解決策數。我用了《機器學習與實戰》這本書的內容來講解。如圖1所示,下面的這個流程圖就是一個決策樹,正方形代表的是判斷模塊(decision block),橢圓形代表的是終止模塊(terminating block),表示已經得出結論,可以終止運行,從判斷模塊引出的左右箭頭稱作分支(branch)

2.構造決策樹
根據上面的描述我們已經發現構造決策樹做分類的時候首要目的就是每次分類的時候都能找到最容易區分一個集合和另一個集合的特征。在上面例子中,我們首先就是查找郵件的域名,在第一次分類的時候,郵件的域名就是我們最重要的分類特征。
為了找到決定性的特征,划分出最好的結果,我們必須評估每個特征,完成測試之后,原始數據集就被划分為幾個數據子集。根據我們挑選出的最佳特征,這些數據會被分成兩類。我們分別檢測這兩類,如果類別相同則不需要再次划分,如果類別不同,我們要重復上面的步驟。就是在被划分出的子集當中在挑選其他的重要特征把這些數據在細分成其他的類別。
根據這個描述,我們可以很容易發現這個過程就是一個遞歸的過程,怎么找到這些最佳特征,我們要做的事情就需要了解一些數學概念。我們需要用到信息論的知識來划分數據集。
3.一些需要了解的數學概念

3.1 信息熵
3.2隨機變量
我們可以先看下面的一些問題。
某人射擊一次,可能出現命中0環,命中1環…,命中10環等結果。即可能出現的結果可以由0,1,2,3,4,5,6,7,8,9,10這11個數來表示。
在某次的產品檢驗中,在可能含有次品的100件產品中任意抽取4件來檢驗,那么其中含有的次品可能的是0件,1件,2件,3件,4件,即可能出現的結果可以由0,1,2,3,4這5個數來表示。
我們把上面這些事件稱為隨機實驗,隨機實驗想要得到的結果(例如射擊一次命中的環數)可以用一個變量來表示的話,那么這樣的變量就叫做隨機變量(random variable)
隨機變量的一些特征:
1. 可用數表示
2. 實驗前可判斷出所有可能取值
3. 實驗前不能判斷具體取哪個值
4. 所有可能值按照某種順序列出
離散型隨機變量
隨機變量的取值是可以一一列出的比如上面所說的射擊事件
連續型隨機變量
那就是取值不能一一列出的咯,比如說一天內氣溫的變化量
推廣:
一般地,如果X是隨機變量,若有Y=f(X),則Y也是隨機變量
3.3數學期望
在概率論中,數學期望簡稱期望,通俗的說就是平均值,它表示的是隨機變量的取值的平均水平。
計算的公式
X1,X2,X3,……,Xn為這離散型隨機變量,p(X1),p(X2),p(X3),……p(Xn)為這幾個數據的概率函數。在隨機出現的幾個數據中p(X1),p(X2),p(X3),……p(Xn)概率函數就理解為數據X1,X2,X3,……,Xn出現的頻率f(Xi).則:
E(X) = X1*p(X1) + X2*p(X2) + …… + Xn*p(Xn) = X1*f1(X1) + X2*f2(X2) + …… + Xn*fn(Xn)

推廣一下


下面來舉個例子


