征戰 BAT 算法面試

對於機器學習的初學者來說,面試方面的經驗總結也非常重要。能夠加深對算法和機器學習基本理論的理解。所以,本文網羅了多年來 BAT 的面試真題,能搞懂這些面試題加上多次反覆研習知識,在 BAT 面試初中級算法時就輕鬆多了(前提是企業比較看重面試者算法能力)。

一、算法面試注意細節

算法工程師崗位(機器學習、數據挖掘、數據分析等)面試主要包含兩大塊:

  • 首先,基本的 Coding 能力;
  • 其次,機器學習算法的理論與應用能力。

基本的 Coding 能力考察,主要是讓你寫一些數據結構與算法設計的常見算法題,比如鏈表類、二叉樹、排序、查找、動態規劃等。這方面個人建議《劍指 Offer》+ LeetCode 結合的方式進行練習。

機器學習算法理論與應用能力不講,單就面試來看,本文就夠了。當然師父領進門,修行在個人,想要在這方面深造,還需要大量實踐和廣泛的學習優秀論文及開源源代碼。

二、算法面試常見問題

1. 模型融合方法有哪些

主要有以下幾個:

  • Voting
  • Averaging
  • Bagging
  • Boosting
  • Stacking

2. 特徵選擇方法

主要有:

  • 去掉取值變化小的特徵;
  • 遞歸特徵消除法;
  • 基於學習模型的特徵排序;
  • 線性模型和正則化。

3. 學習項目的一般步驟

主要包括:

  • 問題抽象,模型選擇;
  • 數據獲取;
  • 特徵工程(數據清洗,預處理、採樣等);
  • 模型訓練,調優;
  • 模型驗證、誤差分析;
  • 模型融合;
  • 模型上線。

4. 推導 LR 算法

5. 多參數調參方法

網格化搜索: 對於多個參數,首先根據經驗確定大致的參數範圍。然後選擇較大的步長進行控制變量的方法進行搜索,找到最優解後;然後逐步縮小步長,使用同樣的方法在更小的區間內尋找更精確的最優解。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章