閱讀120 返回首頁    go 阿裏雲 go 技術社區[雲棲]


關於集成建模,這有40個給數據科學家的技能測試題及解答


0?wx_fmt=png

介紹


集成建模是提高個人機器學習模型能力的有效方法。如果你想在任何機器學習競賽排行榜排名靠前,或者你想改進你正在構建的模型,那麼集成建模就是你接下來要走的路。

下麵這張圖片總結了集成模型的力量:

0?wx_fmt=png

考慮到集成建模的重要性,我們決定給出40道題目測試我們社區關於集成建模的問題。測試包括整體建模的基礎及其實際應用。

總共有1411名參與者注冊了技能測試。如果你錯過了測試,這裏你將有有機會看看你能答對多少問題。

↓↓↓繼續往下讀!

0?wx_fmt=png

問答


1


以下哪個算法不是集成方法的示例?

A.額外樹回歸/ Extra Tree Regressor

B.隨機森林

C.梯度增強

D.決策樹

解析:(D)

選項D是正確答案。在決策樹的情況下,我們構建單個樹並且不需要任何集成。


2


以下哪一項關於集成分類器的說法是正確的?

1.更“肯定”的分類器可以更堅定的投票

2.分類器關於空間的某一特定部分可以更“確定”

3.大多數時候,它的性能優於單個分類器

A. 1和2

B. 1和3

C. 2和3

D.以上所有

解決方案:(D)

在集成模型中,我們給具有較高精度的分類器賦予較高的權重。也就是說,這些分類器有更確信的投票。另一方麵,較弱的模型對問題的具體領域肯那個更“擅長”。 通過對較弱模型的集成,我們可以聚合他們的可靠部分的結果。

最終的結果將比單個較弱模型的結果好得多。

3


以下哪些有關集成建模的好處是正確的?

1.更好的表現

2.廣義模型

3.更好的可解釋性

A. 1和3

B. 2和3

C. 1和2

D. 1,2和3

解析:(C)

1和2是集成建模的好處。 選項3是不正確的,因為當我們集成多個模型時,我們就失去了模型的可解釋性。

4


對於為一個集成學習挑選基礎模型,以下哪項是正確的?

1.不同模型可能掌握相同算法並且不同超參數

2.不同模型可能掌握不同的算法

3.不同模型可能掌握不同的訓練空間

A. 1

B. 2

C. 1和3

D. 1,2和3

解析:(D)

我們可以遵循上麵提到的任何或者所有選項來創建一個集成,由此發現選項D是正確的。

5


【判斷】集成學習隻適用於監督式學習方法。

A.正確

B.錯誤

解析:(B)

通常,我們將集成技術用於監督式學習算法。但是,你可以將集成用於非監督式學習算法。

參考資料(https://en.wikipedia.org/wiki/Consensus_clustering)。


6


【判斷】當模型中存在顯著的多樣性時,集成將產生壞的結果。

注意:所有獨立的模型都有有意義的、良好的預測。

A.正確

B.錯誤

解析:(B)

集成是一門將多種學習者(個體模型)組合在一起以提高模型的穩定性和預測能力的學問。因此,創建多樣化模型的集成是得到更好的結果的非常重要的一個因素。


7


下麵哪些關於在集成建模中使用的較弱模型是正確的?

  1. 1.    他們有比較低的方差,而且他們通常不會過度擬合

  2. 2.    他們有很高的偏差,所以他們不能解決困難的學習問題

  3. 3. 他們有很大的差異,並且他們通常不會過度擬合

  4. A. 1和2

  5. B. 1和3

  6. C. 2和3

  7. D. 以上都不是

解析:(A)

能力較弱的學習者(模型)對於問題的某一特定部分都比較確定。因此,低方差和高偏差的能力較弱的學習者往往不會過度擬合。


8


【判斷】分類器的集成可能或可能不比其中任何一個獨立模型更準確。

A. 正確

B. 錯誤

解析:(A)

通常,集成將會改進模型,但它不一定百分百正確。 因此,選項A是正確的。


9


【判斷】如果你使用一個不同基本模型的集成,是否有必要調整所有基本模型的超參數以提高整體表現?

A. 是

B. 否

C. 無法確定

解析:(B)

調整是不必要的。能力較弱的學習者(模型)的集成也可以產生一個好的模型。


10


一般來說,如果獨立基本模型____________,集成方法的效果就更好。

注意:假設每個獨立的基本模型有大於50%的精確度。

A.預測之間的相關性較低

B.預測之間的相關性較高

C.相關性對集成輸出沒有任何影響

D.以上都不對

解析:(A)

集成建模成員之間較低的相關性可以提高模型的誤差校正能力。所有在集成建模時,優選使用具有低相關性的模型。


11


在選舉中,N個候選人相互競爭,人們對候選人投票。選民投票時互不溝通。

下麵的集成方法中哪一個類似於上麵討論的選舉程序?

提示:人就像集成方法中的基本模型。

A.Bagging

B.提升/Boosting

C.A或B.

D.以上都不是

解析:(A)

在bagging集成中,各個模型的預測不會彼此依賴。所以A選項是正確的。


12


假設給你基於'n'個不同的模型(M1,M2,…, Mn)對測試數據給出'n'個預測。下列哪些方法可以用於組合對這些模型的預測?

注意:我們正在處理一個回歸問題

1.中位數;2.產品;3.平均;4.加權總和;5.最小和最大;6.廣義平均規則

A. 1,3和4

B. 1, 3和6

C. 1, 3, 4和6

D.以上所有

解析:(D)

所有上述選項都是用於聚合不同模型的結果的有效方法(在回歸模型的情況下)。


13


假設,您正在處理一個二分類問題。並且有3個70%的精確度的模型。

如果你想使用多數表決方法來集成這些模型。那你能得到的最大精確度是多少?

A. 100%

B. 78.38%

C. 44%

D. 70

解析:(A)

參考下表列出的模型M1,M2和M3。

實際輸出

M1

M2

M3

輸出

1

1

0

1

1

1

1

0

1

1

1

1

0

1

1

1

0

1

1

1

1

0

1

1

1

1

0

1

1

1

1

1

1

1

1

1

1

1

0

1

1

1

1

0

1

1

1

1

0

1



14


如果你想使用多數表決來集成這些模型。你能得到的最小精確度是多少?

A.總是大於70%

B.總是大於等於70%

C.可能小於70%

D.以上都不是

解析:(C)

參考下表列出的模型M1,M2和M3。

實際輸出

M1

M2

M3

輸出

1

1

0

0

0

1

1

1

1

1

1

1

0

0

0

1

0

1

0

0

1

0

1

1

1

1

0

0

1

0

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1



15


我們如何對一個集合中的不同模型的輸出分配權重?

1.使用算法返回最佳權重;2.使用交叉驗證選擇權重;3.給更精確的模型賦予高權重

A. 1和2

B. 1和3

C. 2和3

D.以上所有

解析:(D)

以上所有決定集成中單個模型的權重的選項都是正確的。


16


下列哪一個關於平均集成的選項是正確的?

A.它隻能用於分類問題

B.它隻能用於回歸問題

C.它既可以用於分類問題也可以用於回歸問題

D.以上都不是

解析:(C)

在分類和回歸中都可以使用平均集成。在分類中,您可以對預測概率進行平均,而在回歸中,您可以直接平均不同模型的預測。



17


假設你對5個測試觀察給出了預測。

預測= [0.2,0.5,0.33,0.8]

以下哪項是這些預測的平均產出排序?

提示:您正在使用最小 - 最大縮放

A. [0.,0.66666667,0.333333333,1.1]

B. [0.1210,0.666666667,0.95,0.33333333]

C. [0.1210,0.666666667,0.333333333,0.95]

D.以上都不是

解析:(A)

可以應用以下步驟來獲取選項A的結果

1.給出預測的排名

2.對這些排名使用最小最大縮放比例

你可以在python中運行以下代碼來獲得所需的結果。

0?wx_fmt=png


18


在上述快照中,線A和B是關於2個模型(M1,M2)的預測。 現在,你想要應用一個集成,通過使用加權平均的方法聚合這兩個模型的結果。如果你對模型M1和M2分別賦予0.7, 0.3的權重,那麼下麵的哪一條線更有可能是這個集成的輸出。

0?wx_fmt=png

A) A

B) B

C) C

D) D

E) E

解析:(C)


19


以下哪項關於加權多數投票的說法是正確的?

1.我們想給表現更好的模型賦予更高的權重;2.如果對較差模型的集體加權投票高於最佳模型,那麼較差的模型可以推翻最佳模型;3.投票是加權投票的特殊情況

A. 1和3

B. 2和3

C. 1和2

D. 1,2和3

E. 以上均不

解決方案:(D)

所有的說法都是正確的。

20


假設在一個分類問題中,對於以下三個模型,你得到了以下概率:M1,對於測試數據集的五個觀察結果。

M1

M2

M3

Output

.70

.80

.75


.50

.64

.80


.30

.20

.35


.49

.51

.50


.60

.80

.60



如果概率閾值大於或等於0.5歸為類別“1”或者概率閾值小於0.5歸為類別“0”,那麼下列哪個將是這些觀察的預測類別?

注意:你正在對三種模型應用平均方法來集成給定的預測。

A.

M1

M2

M3

Output

.70

.80

.75

1

.50

.64

.80

1

.30

.20

.35

0

.49

.51

.50

0

.60

.80

.60

1

B.

M1

M2

M3

Output

.70

.80

.75

1

.50

.64

.80

1

.30

.20

.35

0

.49

.51

.50

1

.60

.80

.60

1

C.

M1

M2

M3

Output

.70

.80

.75

1

.50

.64

.80

1

.30

.20

.35

1

.49

.51

.50

0

.60

.80

.60

0

D. None of these(以上都不是)


解析:(B)

取每個觀察的每個模型的預測的平均值,然後應用閾值0.5就可以得到答案B。

例如,在模型(M1,M2和M3)的第一次觀察中,輸出是0.70,0.80,0.75,取這三個數的平均值得到0.75,這大於0.5,意味著該觀察屬於類別1。


21


如果概率閾值大於或等於0.5歸為類別“1”或者概率閾值小於0.5歸為類別“0”,那麼下列哪個將是這些觀察的預測類別?

A.

M1

M2

M3

Output

.70

.80

.75

1

.50

.64

.80

1

.30

.20

.35

0

.49

.51

.50

0

.60

.80

.60

1

B.

M1

M2

M3

Output

.70

.80

.75

1

.50

.64

.80

1

.30

.20

.35

0

.49

.51

.50

1

.60

.80

.60

1

C.

M1

M2

M3

Output

.70

.80

.75

1

.50

.64

.80

1

.30

.20

.35

1

.49

.51

.50

0

.60

.80

.60

0

D. None of these(以上都不是)

解析:(B)

取每個觀察的每個模型的預測的加權平均,然後應用閾值0.5你得到答案B。

例如,在模型(M1,M2和M3)的第一次觀察中輸出為0.70,0.80,0.75,如果取這三個預測的加權平均值,則將得到0.745(0.70 * 0.4 + 0.80 * 0.3 + 0.75 * 0.3),這意味著這個觀察屬於類別1。


22


假設在二分類的問題中,您已經為測試數據集的五個觀測值給出了模型(M1,M2,M3)的預測。

M1

M2

M3

Output

1

1

0


0

1

0


0

1

1


1

0

1


1

1

1


如果我們使用多數方法,下列哪一個將是輸出集成建模?

A.

M1

M2

M3

Output

1

1

0

0

0

1

0

1

0

1

1

0

1

0

1

0

1

1

1

1

B.

M1

M2

M3

Output

1

1

0

1

0

1

0

0

0

1

1

1

1

0

1

1

1

1

1

1

C.

M1

M2

M3

Output

1

1

0

1

0

1

0

0

0

1

1

1

1

0

1

0

1

1

1

1

D. None of these(以上都不是)

解析:(B)

對每個觀察的每個模型的預測采取多數投票。

例如,對於模型(M1,M2和M3)的第一次觀察的輸出為1,1,0,如果對這三個模型預測取多數投票,那麼類別1將獲得2票,這意味著該觀察屬於類別1。


23


當使用加權投票方法時,下列哪一個將是輸出集成建模?

提示:M1,M2和M3的投票數分別為自身的2.5倍,6.5倍和3.5倍。

A.

M1

M2

M3

Output

1

1

0

0

0

1

0

1

0

1

1

0

1

0

1

0

1

1

1

1

B.

M1

M2

M3

Output

1

1

0

1

0

1

0

0

0

1

1

1

1

0

1

1

1

1

1

1

C.

M1

M2

M3

Output

1

1

0

1

0

1

0

1

0

1

1

1

1

0

1

0

1

1

1

1

D. None of these(以上都不是)

解決方案:(C)

參考問題20, 21和22中的步驟操作。


24


以下哪項關於堆疊(stacking)的說法是正確的?

1.在多個機器學習模型的預測上訓練機器學習模型

2.與分類方法相比,邏輯回歸在第二階段肯定會做的更好

3.第一階段模型在訓練數據的全部/部分特征空間上訓練

A.1和2

B. 2和3

C. 1和3

D.以上所有

解析:(C)

1.在堆疊中,在多個基礎模型的預測上訓練一個機器學習模型。

2.沒有必要 - 我們可以使用不同的算法來聚合結果。

3.第一階段模型在所有的原始特征上訓練。


25


以下哪一項是堆疊的優勢?

  • 更強大的模型

  • 更好的預測

  • 執行時間的縮減

  • 和2

  • 和3

  • 和3

  • 以上所有

解析:(A)

選項1和2是堆疊的優點,而選項3不正確,因為堆積需要更多的時間



26


以下哪個圖表示堆疊?

A.

0?wx_fmt=png

B.

0?wx_fmt=png

  1. C.   None of these(以上都不是)



解析:(A)

A是正確的,因為它通過在d1,d2和dL的輸出上應用函數f來聚合基本模型的結果。


27


以下哪一個選項可能是堆疊的步驟之一?

1.將訓練數據分成k個折疊

2.在每個k-1折疊上訓練k個模型,並對剩餘的一個得到折疊預測

3.將測試數據集合分成k個折疊,並通過不同的算法獲得每個折疊的預測

A. 1和2

B. 2和3

C. 1和3

D.以上所有

解決方案:(A)

第三個選項不正確,因為我們不會在堆疊中為測試數據創建折疊。


28


以下哪項是堆疊和混合之間的區別?

A.與混合相比,堆疊具有較不穩定的CV

B.在混合中,你可以創建不折疊預測

C.堆疊比混合更簡單

D.以上都不是

解析:(D)

隻有選項D是正確的。


29


假設您使用n個具有k個折疊數據的不同的機器學習算法的堆疊。

以下哪項關於一個級別(m個基本型號+ 1個堆疊器)堆疊是正確的?

注意:

在這裏,我們正在研究二分類問題

所有基本模型都在所有特征上訓練

您正在使用基本模型的k折疊

A.在第一階段後你將隻有k個特征

B.在第一階段後你將隻有m個特征

C.在第一階段後你將有k + m個特征

D.在第一階段後你將有k * n個特征

E.以上都不是

解決方案:(B)

如果你有m個基礎模型在堆疊。這將為第二階段模型生成m個特征。


30


關於裝袋,以下哪項是真的?

1.bagging可以並行化

2.bagging的目的是減少偏差而不是方差

3.bagging有助於減少過度擬合

A. 1和2

B. 2和3

C. 1和3

D.以上所有

解析:(C)

1.在bagging中,基模型不依賴於彼此,因此可以平行

2-3 bagging適用於高方差低偏差模型,或者你可以說是複雜模型。


31


【判斷】在boosting中,獨立的基礎學習者是可以平行的。

A.正確

B.錯誤

解析:(B)

在boosting中,你總是試圖添加新模型以糾正先前模型的弱點。因此它是順序的。


32


以下是兩個集成建模:

1.    E1(M1,M2,M3)

2.    E2(M4,M5,M6)

上麵的Mx是獨立的基本模型。

如果對E1和E2給出以下條件,則下列哪一項更有可能被選擇?

E1:基模型精度高,但模型具有相同的類型或者說是低多樣化

E2:基模型的準確性很高,但它們具有不同的類型或者說是高多樣化

A. E1

B. E2

C.E1和E2中的任一個

D.以上都不是

解析:(B)

我們必須選擇E2,因為它包含多種模型。所以選項B是正確的。


33


假設,你有2000個不同的模型和他們的預測,並且你想要集成最佳x模型的預測。現在,下列哪一項是用來選擇最佳的x模型的可能的方法?

A.逐步向前選擇

B.逐步向後消除

C.以上兩者

D.以上都不是

解析:(C)

您可以應用這兩種算法。在逐步向前選擇中,您將從預測開始一次添加一個模型的預測,如果這樣提高了整體的精度。在逐步向後消除中,你將從全部特征開始並且一個一個的移除模型預測,如果在移除模型的預測後提高了精度。


34


假設,您想要應用逐步前向選擇方法來為集成建模選擇最好的模型。以下哪項是正確的步驟順序?

注意:您有超過1000個模型預測

1.向集成中一個一個的添加模型預測(或者取平均值),這樣提高了驗證集中的指標

2.從空集成開始

3.從具有驗證集合的最大性能的嵌套集合中返回集成

A. 1-2-3

B. 1-3-4

C. 2-1-3

D.以上都不是

解決方案:(C)

選項C是正確的。


35


【判斷】相比之Bagging,Dropout是計算複雜的方法

A.正確

B.錯誤

解決方案:(B)

因為在Dropout中,權重是共享的,並且子網絡的集成是一起訓練的。


36


Dropout在神經網絡中可以被認為是一個集成技術,其中多個

子網絡通過“丟棄”神經元之間的某些連接而一起訓練。

假設,我們有一個單一的隱層神經網絡如下所示。

有多少種子網絡的組合可以用於分類?

0?wx_fmt=png

A. 1

B. 9

C. 12

D. 16

E. None of the above(以上都不是)

解析:(B)

有16種可能的組合,其中隻有9種是可行的。不可行的是(6,7,12,13,14,15,16)。

0?wx_fmt=png


37


模型能力是如何影響隨機失活率(dropout rate)的(其中模型能力意味著神經網絡近似複雜函數的能力)?

A.模型能力隨隨機失活率的增加而增加

B.模型能力隨隨機失活率的增加而減少

C.模型能力不受隨機失活率增加的影響

D.以上都不是

解析:(B)

當退出率較低時,子網絡有更多的神經元。 因此它們更複雜,也導致總體模型複雜性的增加。參考DL book的第11章(https://www.deeplearningbook.org/contents/guidelines.html)。


38


可以調整以下哪些參數來找到好的基於算法的集成模型Bagging?

1.最大樣本數

2.最大特征

3.樣品引導

4.特征引導

A. 1和3

B. 2和4

C. 1,2和3

D. 1,3和4

E.以上所有

解析:(E)

在選項中給出的所有技術都可以應用以獲得好的集成。


39


在機器學習中,如果訓練數據的一個小變化導致學習中的分類器的大變化,則該算法(或學習算法)被認為是不穩定的。

判斷:對不穩定的分類器做Bagging是一個好主意。

A.正確

B.錯誤

解析:(A)

參考該論文的介紹部分(https://statistics.berkeley.edu/sites/default/files/tech-reports/421.pdf)

40


假設有25個基分類器,每個分類器具有e = 0.35的錯誤率。

假設您使用平均作為集成技術。上述25個分類器的集成將會做出錯誤的預測的概率是多大?

注意:所有分類器都是相互獨立的

A. 0.05

B. 0.06

C. 0.07

D. 0.09

解析:B

解析:參考這個鏈接(https://stats.stackexchange.com/questions/21502/how-are-classifications-merged-in-an-ensemble-classifier)



總體結果



答完所有題目得分如何?下圖是所有測試者分數的分布情況圖,這將有助於您評估您的表現:

0?wx_fmt=png

你可以通過這裏評估你的表現。超過230人參加了這項技能測試,其中最高分是31分。下麵是一些關於分布情況的統計。 

總體分布:

平均分:17.54

中位數:18

眾數:21 


還要以下一些有用的資源:

每個人都應該知道的5個關於集成建模的簡單問題

https://www.analyticsvidhya.com/blog/2015/09/questions-ensemble-modeling/

集成建模中選擇正確模型的“技巧”

https://www.analyticsvidhya.com/blog/2015/10/trick-right-model-ensemble/

用簡單的英語解釋集成學習的基礎知識 

https://www.analyticsvidhya.com/blog/2015/08/introduction-ensemble-learning/

原文發布時間為:2017-03-20

本文來自雲棲社區合作夥伴“大數據文摘”,了解相關信息可以關注“BigDataDigest”微信公眾號

最後更新:2017-05-22 15:33:09

  上一篇:go  JSON轉換方法總結
  下一篇:go  《Java並發編程的藝術》第一章