**
把一顆子樹(具有多個葉子節點)的分類用乙個葉子節點來替代的話,在訓練集上的誤判率肯定是上公升的,但是在新資料上不一定。於是我們需要把子樹的誤判計算加上乙個經驗性的懲罰因子。對於一顆葉子節點,它覆蓋了n個樣本,其中有e個錯誤,那麼該葉子節點的錯誤率為(e+0.5)/n。這個0.5就是懲罰因子,那麼一顆子樹,它有l個葉子節點,那麼該子樹的誤判率估計為
。這樣的話,我們可以看到一顆子樹雖然具有多個子節點,但由於加上了懲罰因子,所以子樹的誤判率計算未必佔到便宜。剪枝後內部節點變成了葉子節點,其誤判個數j也需要加上乙個懲罰因子,變成j+0.5。那麼子樹是否可以被剪枝就取決於剪枝後的錯誤j+0.5在
的標準誤差內。對於樣本的誤差率e,我們可以根據經驗把它估計成各種各樣的分布模型,比如是二項式分布,比如是正態分佈。
那麼一棵樹錯誤分類乙個樣本值為1,正確分類乙個樣本值為0,該樹錯誤分類的概率(誤判率)為e(e為分布的固有屬性,可以通過統計出來),那麼樹的誤判次數就是伯努利分布,我們可以估計出該樹的誤判次數均值和標準差:
把子樹替換成葉子節點後,該葉子的誤判次數也是乙個伯努利分布,其概率誤判率e為(e+0.5)/n,因此葉子節點的誤判次數均值為
使用訓練資料,子樹總是比替換為乙個葉節點後產生的誤差小,但是使用校正後有誤差計算方法卻並非如此,當子樹的誤判個數大過對應葉節點的誤判個數乙個標準差之後,就決定剪枝:
這個條件就是剪枝的標準。
當並不一定非要大乙個標準差,可以給定任意的置信區間,我們設定一定的顯著性因子,就可以估算出誤判次數的上下界。
比如t4這棵子樹的誤差率:
子樹誤差率的標準誤差:
子樹替換為乙個葉節點後,其誤差率為:
因為
輸入法之模型剪枝一 基於熵的剪枝
prunning,剪枝,顧名思義就是減掉那些不重要的。從理論上來講,剪枝達到的效果就是剪枝後的q和剪枝前的 p 最大化相似,有兩種演算法 entroy based以及rank based。針對model,使用相對熵來刻畫d q p 來刻畫,保證兩個model的熵區別最小,就是entropy base...
「通用解題法」之回溯中的「剪枝」
回溯法採用 試錯的思想,它嘗試分步的去解決乙個問題。在分步解決問題的過程中,當它通過嘗試發現現有的分步答案不能得到有效的正確的解答的時候,它將取消上一步甚至是上幾步的計算,再通過其它的可能的分步解答再次嘗試尋找問題的答案。摘自百科 我的理解就是 採用試探性的搜尋原則,按優先條件向前進發,能進則進,無...
分支界限法(剪枝法)學習
1 求解目標 回溯法的求解目標是找出解空間樹中滿足約束條件的所有解,而分支限界法的求解目標則是找出滿足約束條件的乙個解,或是在滿足約束條件的解中找出在某種意義下的最優解。2 搜尋方式的不同 回溯法以深度優先的方式搜尋解空間樹,而分支限界法則以廣度優先或以最小耗費優先的方式搜尋解空間樹。分支限界法的基...