紅色石頭的我的網站:redstonewill.com面試
機器學習是一門理論性和實戰性都比較強的技術學科。在應聘機器學習相關工做崗位時,咱們經常會遇到各類各樣的機器學習問題和知識點。爲了幫助你們對這些知識點進行梳理和理解,以便可以更好地應對機器學習筆試包括面試。紅色石頭準備在公衆號連載一些機器學習筆試題系列文章,但願可以對你們有所幫助!算法
今天,紅色石頭帶你們繼續「死磕」相關筆試題!各個擊破!bootstrap
Q1. 在 n 維空間中(n > 1),下列哪一種方法最適合用來檢測異常值?機器學習
A. 正態機率圖函數
B. 箱形圖學習
C. 馬氏距離測試
D. 散點圖網站
答案:C調試
解析:正態機率圖(Normal Probability Plot)通常用來檢查一組數據是否服從正態分佈。是實數與正態分佈數據之間函數關係的散點圖。若是這組實數服從正態分佈,正態機率圖將是一條直線。以下圖所示:orm
箱形圖(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) 之差,即
這一題,咱們先計算經驗熵 H(D):
圖一中,經驗條件熵 H(D|A) 爲:
圖一的信息增益爲:
圖二中,經驗條件熵 H(D|A) 爲:
圖二的信息增益爲:
圖三中,經驗條件熵 H(D|A) 爲:
圖三的信息增益爲:
圖四中,經驗條件熵 H(D|A) 爲:
圖四的信息增益爲:
顯然,圖一 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 也會出現過擬合現象,核係數的正確選擇尤其重要,不能過小也不能太大。
參考文獻: