通常我們爲了量化分類效果的好壞,會引入信息增益(ID3)、信息增益率(C4.5)、基尼係數(CART)等。一般採用熵(Entropy)來度量信息增益。
ID3算法的核心思想就是以信息增益度量屬性的選擇,選擇分裂後能夠獲得最大信息增益的屬性進行分裂。信息增益(Information Gain)是用來衡量給定的屬性區分訓練樣例的能力。先了解一下信息增益相關聯的一個名詞“熵”(entropy),熵是信息論中廣泛使用的一個名詞,刻畫任意數據集的純度。假設一個二分類的問題,正反樣例集爲S,那麼這個數據集S相對於這個二分類的熵爲:
其中代表正樣例的先驗概率(統計概率,佔比),代表負樣例的先驗概率,在熵的計算中任務。
舉個例子對於人臉特徵區分男女的例子,樣本集S一共15個樣本,其中包括7個男生、8個女生,我們把樣本集S記爲:
,那麼熵爲:
根據上面公式可以很容易得到如下結論:
1. 如果S所有的成員都屬於一類,那麼Entrop(S)=0
2. 如果S所有成員的正負例個數相等,那麼Entrop(S)=1
3. 如果S的正反例數量不等,那麼0 < Entropy(S) < 1
可以根據上面公式的正例和entropy的關係簡單畫出示意圖。
泛化一下,如果目標屬性包含n個不同的值,那麼S相對於n個狀態的分類熵定義爲:
,其中爲第i個狀態的比率(統計概率)