1. 程式人生 > 其它 >貝葉斯與決策樹

貝葉斯與決策樹

貝葉斯和決策樹

貝葉斯公式一言以蔽之:尋求概率的概率是多少。

\(P(A|B)=\frac{P(B|A)·P(A)}{P(B)}\)

我們假設有這樣一件事:拋三次硬幣,有一個人拋了三次全部都是正面,這就很奇怪了,是不是可能作弊了,還是說真的運氣好,貝葉斯在這的應用就是計算作弊的概率有多大。

\(P(A)\)是先驗分佈,表示的是這個人的人品如何

\(P(B|A)\)是實驗資料

\(P(A|B)\)是後驗概率,表示的是在出現三次硬幣都向上的情況下,這個人作弊的概率

因此,可以理解上述貝葉斯推斷為如下表達式

後驗分佈 = 先驗分佈 + 實驗資料

樸素貝葉斯

通常\(B=B_1∪B_2∪B_3...\)

貝葉斯公式就寫為

\(P(A|B)=\frac{P(B|A)·P(A)}{P(B)}=\frac{P(B_1,B_2,B_3...|A)P(A)}{P(B_1,B_2,B_3...)}\)

其中\(P(B_1,B_2,B_3...|A)\)的計算不太方便,引出條件獨立的概念\(P(A|G,B)=P(A|G)\)對其進行簡化

匯出\(P(A,B|G)=P(A|G)P(B|G)\)

由於分母的值是一個常數,再進一步簡化,獲得另一個值

\(\omega = P(A)\prod_{i=0}^nP(B_i|A)\)

拉普拉斯平滑

因為樸素貝葉斯的公式中全部都是連乘,萬一有一項為0,導致後續的計算全部為0,這就出大問題了。而在計算條件概率的時候大多都是靠離散資料來求,如果資料集中沒出現過的資料來到計算的步驟,顯然會顯示為0,拉普拉斯平滑的作用就是避免0的出現(後續開專欄講這個吧,挖個坑)

決策樹

通過特徵對資料進行分類,如果兩種不同的分類方式可以獲得完全相同的預測結果,就選擇簡單的那種分類方式,這就使奧卡姆剃刀法則。

ID3決策樹

在介紹ID3決策樹之前,需要先了解資訊熵和資訊增益,參考我的部落格:https://www.cnblogs.com/seaman1900/p/15314895.html

ID3的演算法規則很簡單,就是尋找資訊增益最高的特徵作為節點,同時意味著選了這個特徵之後不確定性最小。

分類停止的條件:

  • 經過特徵分類後子節點剩餘特徵只有一種資料,其他特徵的資料全部為0,稱為pure
  • 剩下的資料已經無法再進行分類,特徵用完了,稱為no attribute
  • 根據某個特徵分類後得到的是空的資料集,成為empty

過學習:和神經網路類似,決策樹的模型越複雜,學的越多,準確率就越高,但是相反的,在實際中面對複雜的情況下,有可能“讀書讀傻了”,導致執行效果就有可能不太理想。因此需要對決策樹進行早停、剪枝(將某些分類後資料多、分類效果明顯的特徵與同級別的不起眼、效果不夠好的特徵融合)。

對於生日這樣區分度高但是沒有什麼意義的特徵需要新增懲罰。