集成學習(筆記)

原文:機器學習面試題彙總(集成學習相關),做了一些筆記。

1.什麼是集成學習算法?

2.集成學習主要有哪幾種框架?

3.簡單介紹一下bagging,常用bagging算法有哪些?

4.簡單介紹一下boosting,常用boosting算法有哪些?

5.boosting思想的數學表達式是什麼?

6.簡單介紹一下stacking,常用stacking算法有哪些?

7.你意識到你的模型受到低偏差和高方差問題的困擾,應該使用哪種算法來解決問題呢?爲什麼?

8.簡述一下隨機森林算法的原理

9.隨機森林的隨機性體現在哪裏?

10.隨機森林爲什麼不容易過擬合?

11.你已經建了一個有10000棵樹的隨機森林模型。在得到0.00的訓練誤差後,你非常高興。但是,驗證錯誤是34.23。到底是怎麼回事?你還沒有訓練好你的模型嗎?

12.如何使用隨機森林去彌補特徵向量中的缺失值

13.如何使用隨機森林對特徵重要性進行評估?

14.隨機森林算法訓練時主要需要調整哪些參數?

15.隨機森林爲什麼不能用全樣本去訓練m棵決策樹?

16.隨機森林算法有哪些優缺點

17.簡述一下Adaboost原理

18.AdaBoost的優點和缺點

19.爲什麼Adaboost對噪聲敏感?

20.Adaboost和隨機森林算法的異同點

21.簡述GBDT原理

22.GBDT常用損失函數有哪些?

23.GBDT中爲什麼要用負梯度來代替殘差計算?

24.GBDT如何用於分類?

25.GBDT中的決策樹是分類樹還是迴歸樹?

26.如何使用GBDT構建特徵?

27.爲什麼GBDT不適合使用高維稀疏特徵?

28.GBDT通過什麼方式減少誤差?

  1. GBDT如何進行正則化?

30.GBDT裏的G代表什麼,體現在哪裏?

31.GBDT需要調試的參數有哪些?

32.GBDT算法的優缺點有哪些?

33.Xgboost/GBDT在調參時爲什麼樹的深度很少就能達到很高的精度,而隨機森林需要的深度相對較高?

34.爲什麼Xgboost要用泰勒展開,優勢在哪裏?

35.Xgboost如何尋找最優特徵?

36.Xgboost採樣是有放回還是無放回的呢?

37.XGBoost訓練通常調整的參數有哪些?

38.XGBoost中的樹是如何剪枝?

39.XGBoost如何解決缺失值問題?

40.XGBoost和GBDT的區別


1.什麼是集成學習算法?

集成弱學習器,提升模型效果。
弱學習器可以是SVMKNN決策樹樸素貝葉斯等。

2.集成學習有哪幾種框架?

  1. Bagging: 並行,對數據做有放回採樣,用投票(分類)和平均值(迴歸)做集成;
  2. Boosting:串行,使用帶樣本權重的樣本訓練弱學習器,更新下一輪的樣本權重(預測錯的樣本權重更高),採用對弱學習器加權(如LR)的方式做集成;
  3. Stacking:並行,弱學習器j對訓練樣本i的預測結果作爲其特徵值j,從而得到新的訓練集和測試集,重新訓練(集成體現在特徵的重組上)。

3.簡單介紹一下bagging,常用bagging算法有哪些?

並行,對數據做有放回採樣,用投票(分類)和平均值(迴歸)做集成。

常用Bagging算法:隨機森林

4.簡單介紹一下Boosting,常用Boosting算法有哪些?

串行,使用帶樣本權重的樣本訓練弱學習器,更新下一輪的樣本權重(預測錯的樣本權重更高)。

常用Boosting算法:AdaBoostGBDTXGBoost

5.boosting思想的數學表達式是什麼?

在這裏插入圖片描述
對弱學習器加權。

6.簡單介紹一下stacking,常用stacking算法有哪些?

並行,弱學習器j對訓練樣本i的預測結果作爲其特徵值j,從而得到新的訓練集和測試集,重新訓練(集成體現在特徵的重組上)。
常用集成方式:弱學習器一般選KNN、隨機森林、樸素貝葉斯,使用邏輯迴歸做加權的集成。

7.你意識到你的模型受到低偏差和高方差問題的困擾,應該使用哪種算法來解決問題呢?爲什麼?

偏差指的是真實數據和預測之間的差距,方差指的是模型輸出和模型平均輸出的差距,描述了模型的穩定性。

低偏差、高方差即過擬合。

解決方法:

  1. 隨機森林,引入隨機屬性選擇對特徵採樣;
  2. 對模型參數做正則化處理,降低模型複雜度。

8.簡述一下隨機森林算法的原理

基學習器是決策樹,在Bagging的基礎上引入了隨機屬性選擇

解釋隨機屬性選擇:傳統決策樹在屬性劃分時,在屬性全集(d個屬性)中選擇一個最優屬性;而RF在屬性全集中隨機選擇一個屬性子集(k個屬性),再選擇一個最優屬性,從列採樣上引入了隨機性,推薦值k = log2d(k<d)。

9.隨機森林的隨機性體現在哪裏?

  1. 樣本上,隨機森林是Bagging的變體,Bagging對樣本做隨機有放回採樣;
  2. 特徵上,隨機森林引入隨機屬性選擇,在特徵選擇的時候隨機採樣特徵子集。

10.隨機森林爲什麼不容易過擬合?

引入樣本和特徵上的隨機性,使模型多樣性增加。

11.你已經建了一個有10000棵樹的隨機森林模型。在得到0.00的訓練誤差後,你非常高興。但是,驗證錯誤是34.23。到底是怎麼回事?你還沒有訓練好你的模型嗎?

過擬合。使用交叉驗證法。

12.如何使用隨機森林去彌補特徵向量中的缺失值

如果是離散型變量,用衆數填充;如果是連續型變量,用中位數填充。

13.如何使用隨機森林對特徵重要性進行評估?

參考博客:隨機森林 OOB理解如何理解無偏估計爲什麼樣本方差(sample variance)的分母是 n-1

對於袋外數據OOB理解

根據概率論,可知數據集中有大約1/3的數據是沒有被選取的(稱爲Out of bag),所以就是這沒被選取的部分作爲小樹的測試集。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章