机器学习笔试精选题精选(四)
關鍵時刻,第一時間送達!
讀本文需要 8 分鐘
機器學習是一門理論性和實戰性都比較強的技術學科。在應聘機器學習相關工作崗位時,我們常常會遇到各種各樣的機器學習問題和知識點。為了幫助大家對這些知識點進行梳理和理解,以便能夠更好地應對機器學習筆試包括面試。紅色石頭準備在公眾號連載一些機器學習筆試題系列文章,希望能夠對大家有所幫助!
今天,紅色石頭帶大家繼續“死磕”相關筆試題!各個擊破!
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)
這一題,我們先計算經驗熵 H(D):
H(D) = -9/14 * log(9/14) - 5/14 * log(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
圖一的信息增益為:
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
圖二的信息增益為:
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
圖三的信息增益為:
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
圖四的信息增益為:
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 也會出現過擬合現象,核系數的正確選擇尤為重要,不能太小也不能太大。
參考文獻:
https://www.analyticsvidhya.com/blog/2016/11/solution-for-skilltest-machine-learning-revealed/
推薦閱讀:
機器學習筆試題精選
機器學習筆試題精選
機器學習筆試題精選
7 種回歸方法!請務必掌握!
總結
以上是生活随笔為你收集整理的机器学习笔试精选题精选(四)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 游走于天才与疯子边缘的创业“鬼才”
- 下一篇: 白话生成对抗网络 GAN,50 行代码玩