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

紅色石頭的我的網站:redstonewill.com面試

機器學習是一門理論性和實戰性都比較強的技術學科。在應聘機器學習相關工做崗位時,咱們經常會遇到各類各樣的機器學習問題和知識點。爲了幫助你們對這些知識點進行梳理和理解,以便可以更好地應對機器學習筆試包括面試。紅色石頭準備在公衆號連載一些機器學習筆試題系列文章,但願可以對你們有所幫助!算法

今天的筆試題主要涉及的知識點包括:降維、PCA、特徵選擇、隨機森林、GBDT、集成學習等。dom

Q1. 咱們想要訓練一個 ML 模型,樣本數量有 100 萬個,特徵維度是 5000,面對如此大數據,如何有效地訓練模型(多選)?機器學習

A. 對訓練集隨機採樣,在隨機採樣的數據上創建模型函數

B. 嘗試使用在線機器學習算法性能

C. 使用 PCA 算法減小特徵維度學習

答案:ABC測試

解析:本題考查的是如何解決樣本數量和特徵維度過大的問題。大數據

在有限的內存下,如何處理高特徵緯度的訓練樣本是一項很是艱鉅的任務。下面這些方法能夠用來解決這一問題。優化

  • 咱們能夠隨機抽樣數據集,包括樣本數量和特徵數量。這意味着,咱們能夠建立一個更小的數據集,好比說,有 1000 個特徵和 300000 個樣本進行訓練。

  • 使用在線學習(online learning)算法

  • 使用主成分分析算法(PCA)挑選有效的特徵,去除冗餘特徵。

關於在線學習與離線學習,離線學習是咱們最爲常見的一種機器學習算法模式,使用所有數據參與訓練。訓練完成,整個模型就肯定了;而在線學習通常每次使用一個數據或是小批量數據進行訓練,每次訓練都會優化模型,模型處於不斷優化更改狀態。

PCA(principal Component Analysis),是一種使用最普遍的數據壓縮算法。在PCA中,數據從原來的座標系轉換到新的座標系,由數據自己決定。轉換座標系時,以方差最大的方向做爲座標軸方向,由於數據的最大方差給出了數據的最重要的信息。第一個新座標軸選擇的是原始數據中方差最大的方法,第二個新座標軸選擇的是與第一個新座標軸正交且方差次大的方向。重複該過程,重複次數爲原始數據的特徵維數。

什麼是冗餘特徵呢?好比汽車數據中,裏面既有以「公里/每小時」度量特徵,也有「英里/小時」的特徵,顯然這兩個特徵有一個是多餘的。

Q2. 咱們但願減小數據集中的特徵數量。你能夠採起如下哪個步驟來減小特徵(多選)?

A. 使用正向選擇法(Forward Selection)

B. 使用反向消除法(Backward Elimination)

C. 逐步選擇消除法(Stepwise)

D. 計算不一樣特徵之間的相關係數,刪去相關係數高的特徵之一

答案:ABCD

解析:本題考查的是機器學習模型中特徵選擇問題。

正向選擇(Forward Selection)是首先選擇一個特徵,每一個特徵都試一遍,選擇對模型準確率提高最高的那個特徵;而後再在這個特徵基礎上添加另一個特徵,方法相似,直到模型準確率再也不提示爲止。

反向消除(Backward Elimination)是首先包含了全部的特徵,而後嘗試刪除每一個特徵,最終刪掉對模型準確率提高最高的一個特徵(由於刪除這個特徵,模型準確率反而增長了,說明是無用特徵)。如此類推,直到刪除特徵並不能提高模型爲止。

相對於 Forward Selection,Backward Elimination 的優勢在於其容許一些低貢獻值的特徵可以進到模型中去(有時候低貢獻值的特徵能在組合中有更大的貢獻值,而 Forward Selection 忽略了這種組合的可能性),所以Backward Elimination可以避免受一兩個占主導地位的特徵的干擾。

另外還有一種特徵選擇方法是 Stepwise,該方法結合上述二者的方法,新加入一個特徵以後,再嘗試刪去一個特徵,直至達到某個預設的標準。這種方法的缺點是,預設的標準很差定,並且容易陷入到過擬合當中。

除此以外,也可使用基於相關性的特徵選擇,能夠去除多重線性特徵。例如上一題中「公里/每小時」和「英里/小時」是相關性很大的特徵,可刪其一。

Q3. 下面關於 Random Forest 和 Gradient Boosting Trees 說法正確的是?

A. Random Forest 的中間樹不是相互獨立的,而 Gradient Boosting Trees 的中間樹是相互獨立的

B. 二者都使用隨機特徵子集來建立中間樹

C. 在 Gradient Boosting Trees 中能夠生成並行樹,由於它們是相互獨立的

D. 不管任何數據,Gradient Boosting Trees 老是優於 Random Forest

答案:B

解析:本題考查的是隨機森林和梯度提高樹(GBDT)的基本機率和區別。

Random Forest 是基於 Bagging 的,而 Gradient Boosting Trees 是基於 Boosting 的。Bagging 和 Boosting 的區別在於:

1)樣本選擇上:

Bagging:訓練集是在原始集中有放回選取的,從原始集中選出的各輪訓練集之間是獨立的。

Boosting:每一輪的訓練集不變,只是訓練集中每一個樣例在分類器中的權重發生變化。而權值是根據上一輪的分類結果進行調整。

2)樣例權重:

Bagging:使用均勻取樣,每一個樣例的權重相等。

Boosting:根據錯誤率不斷調整樣例的權值,錯誤率越大則權重越大。

3)預測函數:

Bagging:全部預測函數的權重相等。

Boosting:每一個弱分類器都有相應的權重,對於分類偏差小的分類器會有更大的權重。

4)並行計算:

Bagging:各個預測函數能夠並行生成。

Boosting:各個預測函數只能順序生成,由於後一個模型參數須要前一輪模型的結果。

所以,Gradient Boosting Trees 的中間樹不是相互獨立的,由於前一棵樹的結果影響下一棵樹。Random Forest 的中間樹相互獨立,所以能夠並行生成這些樹。

在這兩種算法中,咱們使用隨機特徵集來生成中間樹。

Gradient Boosting Trees 並不總比 Random Forest 好,依賴於數據。

Q4. 「對於 PCA 處理後的特徵,其樸素貝葉斯特徵相互獨立的假設必定成立,由於全部主成分都是正交的,因此不相關」。這句話是否正確?

A. True

B. False

答案:B

解析:本題考查的是 PCA 和 樸素貝葉斯的基本機率和區別。

這句話有兩處錯誤:一是 PCA 轉換以後的特徵不必定不相關;二是不相關並不等價於相互獨立。

正交和不相關沒有必然關係,只有當一個隨機變量的統計平均等於零時,正交和不相關等價。

獨立則一定不相關,而不相關卻不必定互相獨立,只有是高斯時獨立和不相關纔等價。

Q5. 下列關於 PCA 說法正確的是(多選)?

A. 在使用 PCA 以前,咱們必須標準化數據

B. 應該選擇具備最大方差的主成分

C. 應該選擇具備最小方差的主成分

D. 可使用 PCA 在低維空間中可視化數據

答案:ABD

解析:本題考查的是主成分分析(PCA)的基本概念和推導原理。

PCA 對數據中變量的尺度很是敏感,所以咱們須要對各個變量進行標準化。方法是減去各自變量的均值,除以標準差。

\frac{X-\mu}{\sigma}

舉個例子,假如某個變量單位從 km 改爲 cm,大大增長了其方差,那麼該變量可能就成爲了主成分。這是咱們不但願看大的。

B 是正確的,由於咱們老是選擇方差最大的主成分。能夠這麼來理解,方差越大,說明在該特徵上分佈越普遍,說明該特徵月有用,影響越大。

PCA 有時在較低維度上繪製數據是很是有用。例如咱們能夠提取前 2 個主要組成部分,而後在二維平面上使用散點圖可視化數據。

Q6. 下圖中,主成分的最佳數目是多少?

A. 10

B. 20

C. 30

D. 沒法肯定

答案:C

解析:本題考查的是 PCA 的基本概念。

顯然,當主成分數目爲 30 的時候,積累的方差比例最大。

Q7. 數據科學家常用多個算法進行預測,並將多個機器學習算法的輸出(稱爲「集成學習」)結合起來,以得到比全部個體模型都更好的更健壯的輸出。則下列說法正確的是?

A. 基本模型之間相關性高

B. 基本模型之間相關性低

C. 集成方法中,使用加權平均代替投票方法

D. 基本模型都來自於同一算法

答案:B

解析:本題考查的是集成學習的基本原理。

集成學習,顧名思義,經過將多個單個學習器集成/組合在一塊兒,使它們共同完成學習任務。

舉個例子來講明,假如你有 T 個朋友,每一個朋友向你預測推薦明天某支股票會漲仍是會跌,那麼你該選擇哪一個朋友的建議呢?第一種方法是從 T 個朋友中選擇一個最受信任,對股票預測能力最強的人,直接遵從他的建議就好。這是一種廣泛的作法,對應的就是 validation 的思想,即選擇犯錯誤最小的模型。第二種方法,若是每一個朋友在股票預測方面都是比較厲害的,都有各自的專長,那麼就同時考慮 T 個朋友的建議,將全部結果作個投票,一人一票,最終決定出對該支股票的預測。這種方法對應的是 uniformly 思想。第三種方法,若是每一個朋友水平不一,有的比較厲害,投票比重應該更大一些,有的比較差,投票比重應該更小一些。那麼,仍然對 T 個朋友進行投票,只是每一個人的投票權重不一樣。這種方法對應的是 non-uniformly 的思想。第四種方法與第三種方法相似,可是權重不是固定的,根據不一樣的條件,給予不一樣的權重。好比若是是傳統行業的股票,那麼給這方面比較厲害的朋友較高的投票權重,若是是服務行業,那麼就給這方面比較厲害的朋友較高的投票權重。以上所述的這四種方法都是將不一樣人不一樣意見融合起來的方式,這就是集成思想,即把多個基本模型結合起來,獲得更好的預測效果。

一般來講,基本模型之間的相關性越低越好,由於每一個模型有各自的特長,集成起來才更增強大。

Q8. 如何在監督式學習中使用聚類算法(多選)?

A. 首先,能夠建立聚類,而後分別在不一樣的集羣上應用監督式學習算法

B. 在應用監督式學習算法以前,能夠將其類別 ID 做爲特徵空間中的一個額外的特徵

C. 在應用監督式學習以前,不能建立聚類

D. 在應用監督式學習算法以前,不能將其類別 ID 做爲特徵空間中的一個額外的特徵

答案:AB

解析:本題考查的是聚類算法與監督式學習。

咱們能夠爲不一樣的集羣構建獨立的機器學習模型,而且能夠提升預測精度。將每一個類別的 ID 做爲特徵空間中的一個額外的特徵可能會提升的精度結果。

Q9. 下面哪句話是正確的?

A. 機器學習模型的精準度越高,則模型的性能越好

B. 增長模型的複雜度,總能減少測試樣本偏差

C. 增長模型的複雜度,總能減少訓練樣本偏差

D. 以上說法都不對

答案:C

解析:本題考查的是機器學習模型的評判指標。

機器學習模型的精準度(Precision)越高,模型性能不必定越好,還要看模型的召回率(Recall),特別是在正負樣本分佈不均的狀況下。通常使用 F1 score 評判標準。

F1=2\cdot\frac{P\cdot R}{P+R}

增長模型複雜度,一般可能形成過擬合。過擬合的表現是訓練樣本偏差減少,而測試樣本偏差增大。

Q10. 關於 GBDT 算法,下列說法正確的是(多選)?

A. 增長用於分割的最小樣本數量,有助於避免過擬合

B. 增長用於分割的最小樣本數量,容易形成過擬合

C. 減少每一個基本樹的樣本比例,有助於減少方差

D. 減少每一個基本樹的樣本比例,有助於減少誤差

答案:AC

解析:本題考查的是 GBDT 的基本概念。

節點中用於分割所需的最小樣本數用來控制過擬合。太高的值可能致使欠擬合,所以,它應該使用交叉驗證進行調整。

每一個基本樹選擇的樣本比例是經過隨機抽樣來完成的。小於1的值可以減少方差使模型具備魯棒性。典型值 0.8 一般工做良好,但能夠進一步精細調整。

GBDT 經過多輪迭代,每輪迭代產生一個弱分類器,每一個分類器在上一輪分類器的殘差基礎上進行訓練。對弱分類器的要求通常是足夠簡單,而且是低方差和高誤差的,由於訓練的過程是經過下降誤差來不斷提升最終分類器的精度。

參考文獻

https://www.analyticsvidhya.com/blog/2016/11/solution-for-skilltest-machine-learning-revealed/


相關文章
相關標籤/搜索