160個機器學習面試題

原文:https://hackernoon.com/160-da...
Alexey Grigorev(Lead Data Scientist at OLX Group)面試

數據科學職位的典型面試過程會有不少輪,其中一般會涉及理論概念,目的是肯定應聘者是否瞭解機器學習的基礎知識。
在這篇文章中,我想總結一下我全部的面試經歷(面試or被面試)並提出了160多個數據科學理論問題的清單。
其中包括如下主題:算法

  • 線性迴歸
  • 模型驗證
  • 分類和邏輯迴歸
  • 正則化
  • 決策樹
  • 隨機森林
  • GBDT
  • 神經網絡
  • 文本分類
  • 聚類
  • 排序:搜索和推薦
  • 時間序列

這篇文章中的問題數量彷佛遠遠不夠,請記住,面試流程是根據公司的需求和你的工做經歷而定的。所以,若是你的工做中沒有用過期間序列模型或計算機視覺模型,就不會收到相似的問題。segmentfault

提示:若是不知道某些面試問題的答案,不要灰心。爲了簡化起見,我根據難度將問題分爲三類:網絡

  • 👶容易
  • ⭐️中號
  • 🚀專家

開始吧!框架

有監督的機器學習

  • 什麼是有監督學習?👶

線性迴歸

  • 什麼是迴歸?哪些模型可用於解決迴歸問題?👶
  • 什麼是線性迴歸?何時使用它?👶
  • 什麼是正態分佈?爲何要重視它?👶
  • 如何檢查變量是否遵循正態分佈?‍⭐️
  • 如何創建價格預測模型?價格是否正態分佈?須要對價格進行預處理嗎?‍⭐️
  • 解決線性迴歸的模型有哪些?‍⭐️
  • 什麼是梯度降低?它是如何工做的?‍⭐️
  • 什麼是正規方程?‍⭐️
  • 什麼是SGD-隨機梯度降低?與一般的梯度降低有何不一樣?‍⭐️
  • 有哪些評估迴歸模型的指標?👶
  • 什麼是MSE和RMSE?👶

驗證方式

  • 什麼是過擬合?👶
  • 如何驗證模型?👶
  • 爲何須要將數據分爲三個部分:訓練,驗證和測試?👶
  • 解釋交叉驗證的工做原理?👶
  • 什麼是K折交叉驗證?👶
  • 如何在K折交叉驗證中選擇K?你最喜歡的K是什麼?👶

分類

  • 什麼是分類?哪些模型能夠解決分類問題?👶
  • 什麼是邏輯迴歸?何時須要使用它?👶
  • Logistic迴歸是線性模型嗎?爲何?👶
  • 什麼是Sigmoid?它有什麼做用?👶
  • 如何評估分類模型?👶
  • 什麼是準確性?👶
  • 準確性始終是一個好的指標嗎?👶
  • 什麼是混淆表?表中的單元格表示什麼?👶
  • 什麼是精度,召回率和F1分數?👶
  • 準確率和召回率的權衡‍⭐️
  • 什麼是ROC曲線?何時使用?‍⭐️
  • 什麼是AUC(AU ROC)?何時使用?‍⭐️
  • 如何解釋AU ROC分數?‍⭐️
  • 什麼是PR曲線?‍⭐️
  • PR曲線下的面積是多少?這個指標有用嗎?‍⭐️
  • 在哪一種狀況下AU PR比AU ROC好?‍⭐️
  • 如何處理分類變量?‍⭐️
  • 爲何須要one-hot編碼?‍⭐️

正則化

  • 若是的數據中包含三列:x,y,z,其中z是x、y的和,那麼線性迴歸模型會怎樣?‍⭐️
  • 若是數據中的z列是x和y列之和加上一些隨機噪聲,那麼的線性迴歸模型會怎樣?‍⭐️
  • 什麼是正則化?爲何須要它?👶
  • 有哪些正則化技術?‍⭐️
  • 什麼樣的正則化技術適用於線性模型?‍⭐️
  • L2正則化在線性模型中是什麼樣的?‍⭐️
  • 如何選擇正確的正則化參數?👶
  • L2正則化對線性模型的權重有什麼影響?‍⭐️
  • L1正則化在線性模型中是什麼樣的?‍⭐️
  • L2和L1正則化有什麼區別?‍⭐️
  • 能夠在線性模型中同時具備L1和L2正則化嗎?‍⭐️
  • 如何解釋線性模型中的常數項?‍⭐️
  • 如何解釋線性模型中的權重?‍⭐️
  • 若是一個變量的權重高於另外一個變量的權重,那麼能夠說這個變量更重要嗎?‍⭐️
  • 何時須要對線性模型進行特徵歸一化?什麼狀況下能夠不作歸一化?‍⭐️

特徵選擇

  • 什麼是特徵選擇?爲何須要它?👶
  • 特徵選擇對線性模型重要嗎?‍⭐️
  • 有哪些特徵選擇技術?‍⭐️
  • 可使用L1正則化進行特徵選擇嗎?‍⭐️
  • 可使用L2正則化進行特徵選擇嗎?‍⭐️

決策樹

  • 什麼是決策樹?👶
  • 如何訓練決策樹?‍⭐️
  • 決策樹模型的主要參數是什麼?👶
  • 如何處理決策樹中的分類變量?‍⭐️
  • 與更復雜的模型相比,單個決策樹有什麼好處?‍⭐️
  • 如何知道哪些特徵對決策樹模型更重要?‍⭐️

隨機森林

  • 什麼是隨機森林?👶
  • 爲何須要在隨機森林中進行隨機化?‍⭐️
  • 隨機森林模型的主要參數是什麼?‍⭐️
  • 如何選擇隨機森林中樹的深度?‍⭐️
  • 如何知道隨機森林須要多少棵樹?‍⭐️
  • 隨機森林的訓練並行化容易?該怎麼作?‍⭐️
  • 隨機森林中過多的樹有什麼潛在問題?‍⭐️
  • 是否能夠不找到最佳分割,而是隨機選擇幾個分割,而後從中選擇最佳分割?可行嗎 🚀
  • 數據中存在相關特徵時會怎樣?‍⭐️

梯度提高

  • 什麼是梯度加強樹?‍⭐️
  • 隨機森林和梯度提高之間有什麼區別?‍⭐️
  • 是否能夠並行化梯度提高模型的訓練?怎麼作?‍⭐️
  • 梯度加強樹中的特徵重要性-有哪些可能的選擇?‍⭐️
  • 梯度提高模型的特徵重要性,連續變量和離散變量之間是否有區別?🚀
  • 梯度提高模型中的主要參數是什麼?‍⭐️
  • 如何在XGBoost或LightGBM中調整參數?🚀
  • 如何在梯度提高模型中選擇樹的數量?‍⭐️

參數調整

  • 你大體瞭解哪些參數調整策略?‍⭐️
  • 網格搜索參數調整策略和隨機搜索有什麼區別?何時使用一個或另外一個?‍⭐️

神經網絡

  • 神經網絡能夠解決哪些問題?👶
  • 一般的全鏈接前饋神經網絡如何工做?‍⭐️
  • 爲何須要激活功能?👶
  • sigmoid 爲激活函數有什麼問題?‍⭐️
  • 什麼是ReLU?它比sigmoid 或tanh好嗎?‍⭐️
  • 如何初始化神經網絡的權重?‍⭐️
  • 若是將神經網絡的全部權重都設置爲0會怎樣?‍⭐️
  • 神經網絡中有哪些正則化技術?‍⭐️
  • 什麼是1.1Dropout?爲何有用?它是如何工做的?‍⭐️

神經網絡的優化

  • 什麼是反向傳播?它是如何工做的?爲何須要它?‍⭐️
  • 你知道哪些訓練神經網絡的優化技術?‍⭐️
  • 如何使用SGD(隨機梯度降低)訓練神經網絡?‍⭐️
  • 學習率是多少?👶
  • 學習率太大時會發生什麼?過小?👶
  • 如何設置學習率?‍⭐️
  • 什麼是Adam?Adam和SGD之間的主要區別是什麼?‍⭐️
  • 何時使用Adam和SGD?‍⭐️
  • 要保持學習率不變仍是在訓練過程當中改變它?‍⭐️
  • 如何肯定什麼時候中止訓練神經網絡?👶
  • 什麼是ModelCheckpoint?‍⭐️
  • 講一下你是如何進行模型訓練的?‍⭐️

用於計算機視覺的神經網絡

  • 如何使用神經網絡進行計算機視覺?‍⭐️
  • 什麼是卷積層?‍⭐️
  • 爲何須要卷積?不能使用全鏈接層嗎?‍⭐️
  • CNN中的pooling是什麼?爲何須要它?‍⭐️
  • Max pooling如何工做?還有其餘池化技術嗎?‍⭐️
  • CNN是否抗旋轉?若是旋轉圖像,CNN的預測會怎樣?🚀
  • 什麼是數據加強?爲何須要它們?你知道哪一種加強?👶
  • 如何選擇要使用的加強?‍⭐️
  • 你知道什麼樣的CNN分類體系?🚀
  • 什麼是遷移學習?它是如何工做的?‍⭐️
  • 什麼是目標檢測?你知道有哪些框架嗎?🚀
  • 什麼是對象分割?你知道有哪些框架嗎?🚀

文字分類

  • 如何使用機器學習進行文本分類?‍⭐️
  • 什麼是詞袋模型?如何將其用於文本分類?‍⭐️
  • 詞袋模型的優缺點是什麼?‍⭐️
  • 什麼是N-gram?如何使用它們?‍⭐️
  • 使用N-gram時,詞袋模型中N應該是多少?‍⭐️
  • 什麼是TF-IDF?它對文本分類有什麼用?‍⭐️
  • 你用過哪一種模型對帶有詞袋特徵的文本進行分類?‍⭐️
  • 使用詞袋進行文本分類時,你但願使用梯度提高樹模型仍是邏輯迴歸?‍⭐️
  • 什麼是詞嵌入?爲何有用?你知道Word2Vec嗎?‍⭐️
  • 你還知道其餘詞嵌入的方法嗎?🚀
  • 若是你的句子包含多個單詞,則可能須要將多個單詞嵌入組合爲一個。你會怎麼作?‍⭐️
  • 在進行帶有嵌入的文本分類時,使用梯度提高樹模型仍是邏輯迴歸?‍⭐️
  • 如何使用神經網絡進行文本分類?🚀
  • 如何使用CNN進行文本分類?🚀

聚類

  • 什麼是無監督學習?👶
  • 什麼是聚類?何時須要它?👶
  • K-means是如何工做的嗎?‍⭐️
  • 如何爲K均值選擇K?‍⭐️
  • 你還知道其餘哪些聚類算法?‍⭐️
  • 你知道DBScan如何工做嗎?‍⭐️
  • 什麼時候選擇K-means,什麼時候選擇DBScan?‍⭐️

降維

  • 維度災難是什麼?爲何要關心它?‍⭐️
  • 你知道降維技巧嗎?‍⭐️
  • 什麼是奇異值分解?它一般如何用於機器學習?‍⭐️

排序和搜索

  • 什麼是排序問題?可使用哪些模型來解決它們?‍⭐️
  • 文本信息檢索任務重,什麼是好的無監督baselines?‍⭐️
  • 如何評估排序算法?使用哪些離線指標?‍⭐️
  • k的精度和召回率是多少?‍⭐️
  • k的平均精度均值是多少?‍⭐️
  • 如何使用機器學習進行搜索?‍⭐️
  • 如何得到訓練算法的排序數據?‍⭐️
  • 能夠將搜索問題表述爲分類問題嗎?⭐️
  • 如何將點擊數據用做訓練數據以進行排序算法?🚀
  • 如何使用梯度提高樹進行排序?🚀
  • 如何在線評估新的排序算法?‍⭐️

推薦系統

  • 什麼是推薦系統?👶
  • 創建推薦系統時有什麼好的 baseline?‍⭐️
  • 什麼是協同過濾?⭐️
  • 如何將隱式反饋(點擊等)歸入推薦系統?‍⭐️
  • 什麼是冷啓動問題?⭐️
  • 解決冷啓動問題的可能方法?🚀

時間序列

  • 什麼是時間序列?👶
  • 時間序列與一般的迴歸問題有何不一樣?👶
  • 用於解決時間序列問題的有哪些模型?‍⭐️
  • 若是序列中有趨勢,如何消除它?爲何要這麼作?‍⭐️
  • 在時間t處測得只有一個變量「y」的序列。如何在時間t + 1預測「y」?使用哪一種方法?‍⭐️
  • 有一個帶有變量「y」和一系列特徵的序列。如何預測t + 1時的「y」?使用哪一種方法?‍⭐️
  • 使用樹來解決時間序列問題有什麼問題?‍⭐️

以上!但願它對各位有用,祝面試愉快!
機器學習

本文由博客一文多發平臺 OpenWrite 發佈!
相關文章
相關標籤/搜索