集成学习与随机森林练习题
以下練習題來自機器學習實戰(zhàn):基于Scikit-Learn和Tensorflow一書。
如果你已經(jīng)在完全相同的訓練集上訓練了五個不同的模型,并 且它們都達到了95%的準確率,是否還有機會通過結(jié)合這些模型來獲 得更好的結(jié)果?如果可以,該怎么做?如果不行,為什么?
答:如果你已經(jīng)訓練了五個不同的模型,并且都達到了95%的精 度,你可以嘗試將它們組合成一個投票集成,這通常會帶來更好的結(jié) 果。如果模型之間非常不同(例如,一個SVM分類器,一個決策樹 分類器,以及一個Logistic回歸分類器等),則效果更優(yōu)。如果它們 是在不同的訓練實例(這是bagging和pasting集成的關(guān)鍵點)上完成 訓練,那就更好了,但如果不是,只要模型非常不同,這個集成仍然 有效。
硬投票分類器和軟投票分類器有什么區(qū)別?
答: 硬投票分類器只是統(tǒng)計每個分類器的投票,然后挑選出得票最 多的類別。軟投票分類器計算出每個類別的平均估算概率,然后選出 概率最高的類別。它比硬投票法的表現(xiàn)更優(yōu),因為它給予那些高度自 信的投票更高的權(quán)重。但是它要求每個分類器都能夠估算出類別概率 才可以正常工作(例如,Scikit-Learn中的SVM分類器必須要設(shè)置 probability=True)。
是否可以通過在多個服務(wù)器上并行來加速bagging集成的訓練? pasting集成呢?boosting集成呢?隨機森林或stacking集成呢?
答:對于bagging集成來說,將其分布在多個服務(wù)器上能夠有效加速 訓練過程,因為集成中的每個預(yù)測器都是獨立工作的。同理,對于 pasting集成和隨機森林來說也是如此。但是,boosting集成的每個預(yù) 測器都是基于其前序的結(jié)果,因此訓練過程必須是有序的,將其分布 在多個服務(wù)器上毫無意義。對于stacking集成來說,某個指定層的預(yù) 測器之間彼此獨立,因而可以在多臺服務(wù)器上并行訓練,但是,某一 層的預(yù)測器只能在其前一層的預(yù)測器全部訓練完成之后,才能開始訓 練。
包外評估的好處是什么?
答:包外評估可以對bagging集成中的每個預(yù)測器使用其未經(jīng)訓練的 實例進行評估。不需要額外的驗證集,就可以對集成實施相當公正的評估。所以,如果訓練使用的實例越多,集成的性能可以略有提升。
是什么讓極端隨機樹比一般隨機森林更加隨機?這部分增加的 隨機性有什么用?極端隨機樹比一般隨機森林快還是慢?
答:隨機森林在生長過程中,每個節(jié)點的分裂僅考慮到了特征的一 個隨機子集。極限隨機樹也是如此,它甚至走得更遠:常規(guī)決策樹會 搜索出特征的最佳閾值,極限隨機樹直接對每個特征使用隨機閾值。 這種極限隨機性就像是一種正則化的形式:如果隨機森林對訓練數(shù)據(jù) 出現(xiàn)過度擬合,那么極限隨機樹可能執(zhí)行效果更好。更甚的是,極限 隨機樹不需要計算最佳閾值,因此它訓練起來比隨機森林快得多。但 是,在做預(yù)測的時候,相比隨機森林它不快也不慢
如果你的AdaBoost集成對訓練數(shù)據(jù)擬合不足,你應(yīng)該調(diào)整哪些 超參數(shù)?怎么調(diào)整?
答: 如果你的AdaBoost集成對訓練集擬合不足,可以嘗試提升估算 器的數(shù)量或是降低基礎(chǔ)估算器的正則化超參數(shù)。你也可以嘗試略微提 升學習率。
如果你的梯度提升集成對訓練集過度擬合,你是應(yīng)該提升還是 降低學習率?
答:如果你的梯度提升集成對訓練集過度擬合,你應(yīng)該試著降低學 習率,也可以通過早停法來尋找合適的預(yù)測器數(shù)量(可能是因為預(yù)測 器太多)。
加載MNIST數(shù)據(jù)集(第3章中有介紹),將其分為一個訓練 集、一個驗證集和一個測試集(例如使用40000個實例訓練,10000個 實例驗證,最后10000個實例測試)。然后訓練多個分類器,比如一 個隨機森林分類器、一個極端隨機樹分類器和一個SVM。接下來, 嘗試使用軟投票法或者硬投票法將它們組合成一個集成,這個集成在 驗證集上的表現(xiàn)要勝過它們各自單獨的表現(xiàn)。成功找到集成后,在測 試集上測試。與單個的分類器相比,它的性能要好多少?
運行上一個練習中的單個分類器,用驗證集進行預(yù)測,然后用 預(yù)測結(jié)果創(chuàng)建一個新的訓練集:新訓練集中的每個實例都是一個向 量,這個向量包含所有分類器對于一張圖像的一組預(yù)測,目標值是圖 像的類別。恭喜,你成功訓練了一個混合器,結(jié)合第一層的分類器, 它們一起構(gòu)成了一個stacking集成。現(xiàn)在在測試集上評估這個集成。 對于測試集中的每張圖像,使用所有的分類器進行預(yù)測,然后將預(yù)測 結(jié)果提供給混合器,得到集成的預(yù)測。與前面訓練的投票分類器相 比,這個集
總結(jié)
以上是生活随笔為你收集整理的集成学习与随机森林练习题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 工作总结7:自定义样式
- 下一篇: python循环结构高一信息技术_高中信