機器學習第六周筆記 決策樹,組合提升算法,bagging和adaboost,隨機森林

決策樹decision tree

?什么是決策樹
?輸入:學習集
?輸出:分類觃則(決策樹)

  • 算法的核心問題

該按什么樣的次序來選擇變量(屬性)?
最佳分離點(連續的情形)在哪兒?

ID3算法

image.png

例子

image.png

C4.5算法

image.png

例子

image.png

CART算法

image.png
image.png

代價復雜度剪枝
http://blog.csdn.net/tianguokaka/article/details/9018933
C4.5的悲觀剪枝法
http://blog.csdn.net/tianguokaka/article/details/9018933

R語言實現決策樹:rpart擴展包

image.png

怎樣評估分類器效能?

image.png

提升分類器準確率的組合方法

image.png
  • 組合算法的優勢

能明顯提升判別準確率
對誤差和噪音更加魯棒性
一定程度抵消過度擬合
適合并行化計算

裝袋算法

image.png
  • 袋裝算法的優勢

準確率明顯高于組合中任何單個的分類器
對于較大的噪音,表現丌至于很差,并且具有魯棒性
不容易過度擬合

提升(boosting)算法思想

訓練集中的元組被分配權重
權重影響抽樣,權重越大,越可能被抽取
迭代訓練若干個分類器,在前一個分類器中被錯誤分類的元組,會被提高權重,使到它在后面建立的分類器里被更加“關注”
最后分類也是由所有分類器一起投票,投票權重取決于分類器的準確率

  • Adaboost算法
image.png
image.png
  • 提升算法的優缺點

可以獲得比bagging更高的準確率
容易過度擬合

隨機森林(Random Forest)算法

由很多決策樹分類器組合而成(因而稱為“森林”)
單個的決策樹分類器用隨機方法構成。首先,學習集是從原訓練集中通過有放回抽樣得到的自助樣本。其次,參不構建該決策樹的變量也是隨機抽出,參不變量數通常大大小于可用變量數。
單個決策樹在產生學習集和確定參不變量后,使用CART算法計算,丌剪枝
最后分類結果取決于各個決策樹分類器簡單多數選舉

  • 隨機森林算法優點

準確率可以和Adaboost媲美
對錯誤和離群點更加魯棒性
決策樹容易過度擬合的問題會隨著森林觃模而削弱
在大數據情況下速度快,性能好

  • R的randomForest包
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容