天天看點

機器學習筆試題精選(四)

紅色石頭的個人網站:​​redstonewill.com​​

機器學習是一門理論性和實戰性都比較強的技術學科。在應聘機器學習相關工作崗位時,我們常常會遇到各種各樣的機器學習問題和知識點。為了幫助大家對這些知識點進行梳理和了解,以便能夠更好地應對機器學習筆試包括面試。

今天,紅色石頭帶大家繼續“死磕”相關筆試題!各個擊破!

Q1. 在 n 維空間中(n > 1),下列哪種方法最适合用來檢測異常值?

A. 正态機率圖

B. 箱形圖

C. 馬氏距離

D. 散點圖

答案:C

解析:正态機率圖(Normal Probability Plot)一般用來檢查一組資料是否服從正态分布。是實數與正态分布資料之間函數關系的散點圖。如果這組實數服從正态分布,正态機率圖将是一條直線。如下圖所示:

機器學習筆試題精選(四)
機器學習筆試題精選(四)

箱形圖(Box Plot),是一種用作顯示一組資料分散情況資料的統計圖。因型狀如箱子而得名。如下圖所示:

機器學習筆試題精選(四)

散點圖(Scatter Plot)是描述離散資料點的空間分布。

馬氏距離(Mahalonobis distance)多用來計算某樣本點與資料集的距離,優點是具有尺度無關性。馬氏距離的計算公式如下:

機器學習筆試題精選(四)

其中,μ 是樣本集均值,S 是樣本集協方差矩陣。我們注意到馬氏距離的公式與歐式距離公式隻是多了一個協方差矩陣的逆。這也正是馬氏距離的優點之處,它考慮了不同特征之間的協方差不同,将其進行歸一化,使得距離度量與尺度無關。

舉個簡單的例子來說明,假如 A 的身高體重為(170,60000),B 的身高體重為(170,61000),C 的身高體重是(160,60000),其中身高體重的機關分别是 cm、g。按照常理來說,A 和 B 的體型是比較相近的,但是如果使用歐式距離,計算得到 A 和 C 比較相近。原因在于身高次元的方差較小,而體重次元的方差較大。馬氏距離恰恰消除了各個次元方差不同的影響,把方差歸一化,使得特征之間的關系更加符合實際情況。

是以,馬氏距離更适合來判斷樣本點與資料集的位置關系,判斷其是否離群。正态機率圖、箱形圖、散點圖都比較直覺,容易判斷出錯。

Q2. 邏輯回歸與多元回歸分析有哪些不同之處?

A. 邏輯回歸用來預測事件發生的機率

B. 邏輯回歸用來計算拟合優度指數

C. 邏輯回歸用來對回歸系數進行估計

D. 以上都是

答案:D

解析:A 選項,邏輯回歸是用來解決分類問題的,可以用于預測事件發生的機率。

B 選項,一般來說,為了測量真實樣本與模型的拟合程度,可以使用邏輯回歸來計算拟合優度指數。

C 選項,在拟合邏輯回歸模型之後,我們還可以根據系數值,來判斷各個獨立特征與目标輸出的關系(正相關或負相關)。

Q3. 下列關于 bootstrap 說法正确的是?

A. 從總的 M 個特征中,有放回地抽取 m 個特征(m < M)

B. 從總的 M 個特征中,無放回地抽取 m 個特征(m < M)

C. 從總的 N 個樣本中,有放回地抽取 n 個樣本(n < N)

D. 從總的 N 個樣本中,無放回地抽取 n 個樣本(n < N)

答案:C

解析:bootstrap 的思想是從已有的資料集中模拟出類似但又不完全一樣的資料集。主要是針對沒有足夠資料來訓練多個模型的情況。

bootstrap 的做法是,假設有 N 筆資料 D,先從中選出一個樣本,再放回去,再選擇一個樣本,再放回去,共重複 n 次。這樣我們就得到了一個新的 n 筆資料 D’,這個新的資料集中可能包含原資料集裡的重複樣本點,也可能沒有原資料集裡的某些樣本,D’ 與 D 類似但又不完全相同。值得一提的是,抽取-放回的操作次數不一定非要是 N,次數可以任意設定。例如原始樣本有 10000 個,我們可以抽取-放回 3000 次,得到包含 3000 個樣本的 D’ 也是完全可以的。

Q4. “監督式學習中存在過拟合,而對于非監督式學習來說,沒有過拟合”,這句話是否正确?

A. 正确

B. 錯誤

答案:B

解析:對于非監督式學習,仍然可能存在過拟合。一般來說,評估非監督式學習的名額也有很多,例如使用調整蘭德指數(Adjusted Rand Score)來評估聚類模型。

聚類模型中,假設實際類别資訊為 C,聚類結果為 K,a 表示在 C 與 K 中都是同類别的元素有幾對,b 表示在 C 與 K 中都是不同類别的元素有幾對,則蘭德指數為:

機器學習筆試題精選(四)

RI 取值範圍為 [0,1],值越大意味着聚類結果與真實情況越吻合。

但是,在聚類結果随機的情況下,RI 并不為 0。是以,為了解決這一問題,調整蘭德指數(Adjusted Rand Score)被提出,它具有更高的區分度:

機器學習筆試題精選(四)

ARI 取值範圍為 [−1,1],值越大意味着聚類結果與真實情況越吻合。從廣義的角度來講,ARI 衡量的是兩個資料分布的吻合程度。

Q5. 關于 k 折交叉驗證,下列說法正确的是?

A. k 值并不是越大越好,k 值過大,會降低運算速度

B. 選擇更大的 k 值,會讓偏差更小,因為 k 值越大,訓練集越接近整個訓練樣本

C. 選擇合适的 k 值,能減小驗方差

D. 以上說法都正确

答案: D

解析:機器學習中,在樣本量不充足的情況下,為了充分利用資料集對算法效果進行測試,将資料集随機分為 k 個包,每次将其中一個包作為測試集,剩下 k-1 個包作為訓練集進行訓練。

k 折交叉驗證的的 k 值不能太大,也不能太小。k 值過大,會降低運算速度。若 k 與樣本數量 N 相同,則是留一法(Leave-One-Out)。k 值較大,訓練集越接近整個訓練樣本,有利于減小模型偏差(bias)。一般可以将 k 作為超參數調試,根據表現選擇合适的 k 值。

k 折交叉驗證能夠有效提高模型的學習能力,類似于增加了訓練樣本數量,使得學習的模型更加穩健,魯棒性更強。選擇合适的 k 值能夠有效避免過拟合。

Q6. 如果回歸模型中存在多重共線性(multicollinearity),應該如何解決這一問題而不丢失太多資訊(多選)?

A. 剔除所有的共線性變量

B. 剔除共線性變量中的一個

C. 通過計算方差膨脹因子(Variance Inflation Factor,VIF)來檢查共線性程度,并采取相應措施

D. 删除相關變量可能會有資訊損失,我們可以不删除相關變量,而使用一些正則化方法來解決多重共線性問題,例如 Ridge 或 Lasso 回歸。

答案:BCD

解析:如果回歸模型中存在共線性變量,那麼可以采取相應措施,剔除共線性變量中的一個。為了檢驗多重共線性,我們可以建立一個相關矩陣來識别和去除相關度在 75% 以上的變量(門檻值大小可人為設定)。此外,我們可以使用計算方差膨脹因子(VIF)來檢查多重共線性的存在。若 VIF <= 4 則沒有多重共線性,若 VIF>10 值意味着嚴重的多重共線性。此外,我們可以使用容忍度作為多重共線性的名額。

方差膨脹因子(Variance Inflation Factor,VIF):是指解釋變量之間存在多重共線性時的方差與不存在多重共線性時的方差之比。VIF 跟容忍度是倒數關系。詳細介紹可自行查閱統計學資料。

但是,去除相關變量可能導緻資訊的丢失。為了保留這些變量,我們可以使用正則化來“懲罰”回歸模型,如 Ridge 和 Lasso 回歸。此外,我們可以添加一些随機噪聲相關變量,使變量變得彼此不同。但是,增加噪聲可能會影響預測精度,是以應該謹慎使用這種方法。

Q7. 評估完模型之後,發現模型存在高偏差(high bias),應該如何解決?

A. 減少模型的特征數量

B. 增加模型的特征數量

C. 增加樣本數量

D. 以上說法都正确

答案:B

解析:如果模型存在高偏差(high bias),意味着模型過于簡單。為了使模型更加健壯,我們可以在特征空間中添加更多的特征。而添加樣本數量将減少方差。

機器學習筆試題精選(四)

Q8. 在建構一個決策樹模型時,我們對某個屬性分割節點,下面四張圖中,哪個屬性對應的資訊增益最大?

機器學習筆試題精選(四)

A. outlook

B. humidity

C. windy

D. temperature

答案:A

解析:李航的《統計學習方法》中,對資訊增益有如下定義:特征 A 對訓練資料集 D 的資訊增益 g(D,A),定義為集合 D 的經驗熵 H(D) 與特征 A 給定條件下 D 的經驗條件熵 H(D|A) 之差,即

g(D,A)=H(D)−H(D|A) g (

D

,

A

)

=

H

(

D

)

H

(

D

|

A

)

這一題,我們先計算經驗熵 H(D):

H(D)=−9/14∗log(9/14)−5/14∗log(5/14)=0.6518 H (

D

)

=

9

/

14

l

o

g

(

9

/

14

)

5

/

14

l

o

g

(

5

/

14

)

=

0.6518

圖一中,經驗條件熵 H(D|A) 為:

H(D|A)=5/14∗(−2/5∗log(2/5)−3/5∗log(3/5))+4/14∗(−1∗log(1)−0)+5/14∗(−3/5∗log(3/5)−2/5∗log(2/5))=0.4807 H (

D

|

A

)

=

5

/

14

(

2

/

5

l

o

g

(

2

/

5

)

3

/

5

l

o

g

(

3

/

5

)

)

+

4

/

14

(

1

l

o

g

(

1

)

)

+

5

/

14

(

3

/

5

l

o

g

(

3

/

5

)

2

/

5

l

o

g

(

2

/

5

)

)

=

0.4807

圖一的資訊增益為:

g(D,A)=H(D)−H(D|A)=0.6518−0.4807=0.1711 g (

D

,

A

)

=

H

(

D

)

H

(

D

|

A

)

=

0.6518

0.4807

=

0.1711

圖二中,經驗條件熵 H(D|A) 為:

H(D|A)=7/14∗(−3/7∗log(3/7)−4/7∗log(4/7))+7/14∗(−6/7∗log(6/7)−1/7∗log(1/7))=0.5465 H (

D

|

A

)

=

7

/

14

(

3

/

7

l

o

g

(

3

/

7

)

4

/

7

l

o

g

(

4

/

7

)

)

+

7

/

14

(

6

/

7

l

o

g

(

6

/

7

)

1

/

7

l

o

g

(

1

/

7

)

)

=

0.5465

圖二的資訊增益為:

g(D,A)=H(D)−H(D|A)=0.6518−0.5465=0.1053 g (

D

,

A

)

=

H

(

D

)

H

(

D

|

A

)

=

0.6518

0.5465

=

0.1053

圖三中,經驗條件熵 H(D|A) 為:

H(D|A)=8/14∗(−6/8∗log(6/8)−2/8∗log(2/8))+6/14∗(−3/6∗log(3/6)−3/6∗log(3/6))=0.6184 H (

D

|

A

)

=

8

/

14

(

6

/

8

l

o

g

(

6

/

8

)

2

/

8

l

o

g

(

2

/

8

)

)

+

6

/

14

(

3

/

6

l

o

g

(

3

/

6

)

3

/

6

l

o

g

(

3

/

6

)

)

=

0.6184

圖三的資訊增益為:

g(D,A)=H(D)−H(D|A)=0.6518−0.6184=0.0334 g (

D

,

A

)

=

H

(

D

)

H

(

D

|

A

)

=

0.6518

0.6184

=

0.0334

圖四中,經驗條件熵 H(D|A) 為:

H(D|A)=4/14∗(−2/4∗log(2/4)−2/4∗log(2/4))+6/14∗(−4/6∗log(4/6)−2/6∗log(2/6))+4/14∗(−3/4∗log(3/4)−1/4∗log(1/4))=0.6315 H (

D

|

A

)

=

4

/

14

(

2

/

4

l

o

g

(

2

/

4

)

2

/

4

l

o

g

(

2

/

4

)

)

+

6

/

14

(

4

/

6

l

o

g

(

4

/

6

)

2

/

6

l

o

g

(

2

/

6

)

)

+

4

/

14

(

3

/

4

l

o

g

(

3

/

4

)

1

/

4

l

o

g

(

1

/

4

)

)

=

0.6315

圖四的資訊增益為:

g(D,A)=H(D)−H(D|A)=0.6518−0.6315=0.0203 g (

D

,

A

)

=

H

(

D

)

H

(

D

|

A

)

=

0.6518

0.6315

=

0.0203

顯然,圖一 outlook 對應的資訊增益最大。

Q9. 在決策樹分割結點的時候,下列關于資訊增益說法正确的是(多選)?

A. 純度高的結點需要更多的資訊來描述它

B. 資訊增益可以用”1比特-熵”獲得

C. 如果選擇一個屬性具有許多特征值, 那麼這個資訊增益是有偏差的

答案: BC

Q10. 如果一個 SVM 模型出現欠拟合,那麼下列哪種方法能解決這一問題?

A. 增大懲罰參數 C 的值

B. 減小懲罰參數 C 的值

C. 減小核系數(gamma參數)

答案:A

解析:SVM模型出現欠拟合,表明模型過于簡單,需要提高模型複雜度。

Soft-Margin SVM 的目标為:

機器學習筆試題精選(四)

C 值越大,相應的模型月複雜。接下來,我們看看 C 取不同的值時,模型的複雜程度。

機器學習筆試題精選(四)

從上圖可以看出,C=1 時,模型比較簡單,分類錯誤的點也比較多,發生欠拟合。當 C 越來越大的時候,模型越來越複雜,分類錯誤的點也在減少。但是,當 C 值很大的時候,雖然分類正确率提高,但很可能把 noise 也進行了處理,進而可能造成過拟合。

而對于 SVM 的核函數,同樣,核系數越大,模型越複雜。舉個例子,核系數分别取 1, 10, 100 時對應的分類效果如下:

機器學習筆試題精選(四)

從圖中可以看出,當核系數比較小的時候,分類線比較光滑。當核系數越來越大的時候,分類線變得越來越複雜和扭曲,直到最後,分類線變成一個個獨立的小區域。為什麼會出現這種差別呢?這是因為核系數越大,其對應的核函數越尖瘦,那麼有限個核函數的線性組合就比較離散,分類效果并不好。是以, SVM 也會出現過拟合現象,核系數的正确選擇尤為重要,不能太小也不能太大。

參考文獻:

​​40 Questions to test a data scientist on Machine Learning​​

繼續閱讀