25個機器學習面試題,期待你來解答

機器學習 人工智能 面試 Hadoop Medium 機器之心 2018-11-30

選自Medium,機器之心編譯,參與:Geek AI、王淑婷、思源。

機器學習有非常多令人困惑及不解的地方,很多問題都沒有明確的答案。但在面試中,如何探查到面試官想要提問的知識點就顯得非常重要了。在本文中,作者給出了 25 個非常有意思的機器學習面試問題,這些問題都沒有給出明確的答案,但都有一定的提示。讀者也可以在留言中嘗試。

許多數據科學家主要是從一個數據從業者的角度來研究機器學習(ML)。因此,關於機器學習,我們應該儘可能多地把注意力放在新的程序包、框架、技術等方面,而不是關於核心理論的深入研究。在本文中,我所定義的機器學習包含所有的統計機器學習方法,因此不僅僅指深度學習。

然而,經過一番努力的探究和思考後,我們可以提出很多不錯的機器學習問題,而當我們試圖回答和分析這些問題時,就可以很好地揭示問題更深層次的內涵。基本上,這些問題可能有助於我們擺脫上面所說的那堆問題。我們並非只想一直對數據集進行操作,我們想更加深入地研究機器學習技術的特性、奇怪的地方以及複雜的細節,並最終能夠很好地接受它們。

事實上,網絡上有很多關於「機器學習面試問題」的文章,本文希望能稍微用不一樣的、有趣的方式來討論這些問題。

聲明:我將這些問題列舉出來只是為了啟發大家的思考,促進相關的討論。這個問題並沒有現成的答案。我們會對某些問題給出提示,而這只是為了引發進一步的討論,而不是給出了一個確切的答案。每個問題都值得被更詳細地討論,因此也就沒有固定答案。有些問題是經過設計特意提出的,而有些只是為了逗大家開心。

問題

25個機器學習面試題,期待你來解答

1. 我在 95% 的置信區間下構建了一個線性迴歸模型。這是否意味著我的模型參數對於試圖近似的函數有 95% 的概率是真實的估計值?(提示:這實際上意味著在 95% 的試驗情況下...)

2. Hadoop 文件系統和 KNN(k 最近鄰)算法有什麼相似之處呢?(提示:都很「懶」)

3. 哪個模型結構的表示能力更強大?(例如,它可以精確地表示一個給定的布爾函數),是一個單層感知機還是一個兩層的決策樹?(提示:以異或函數為例)

4. 對於一個兩層決策樹和一個不帶有任何激活函數的兩層神經網絡,誰更加強大?(提示:考慮一下非線性函數的情況?)

5. 神經網絡可以作為降維的工具嗎?請詳細解釋一下。(提示:自編碼器)

25個機器學習面試題,期待你來解答

6. 似乎很多人都忽視了截距項在線性迴歸模型中的作用,請告訴我一個截距項的功能。(提示:噪聲(「垃圾」)收集器)

7. Lasso 正則化可以將係數降低到正好為零。嶺迴歸可以將係數降低到非常小的非零值。你能從兩個簡單的函數「|x| 和 x²」的圖像中直觀地解釋他們的不同之處嗎?(提示:請注意 |x| 函數圖像中的尖點)

8. 假設你對數據集(連續值)的分佈一無所知,你不能假設它是高斯分佈。請用最簡單的論證來說明:無論真是的分佈是什麼,你都能保證有大約 89% 的數據會落在均值附近 +/- 3 個標準差的範圍內。(提示:馬爾可夫的博士導師是誰?)

9. 大多數機器學習算法涉及到一些對矩陣的操作,例如矩陣乘法和求逆矩陣。請給出一個簡單的數學證明,說明為什麼這種機器學習算法的 mini-batch 版本可能比在整個數據集上進行訓練的計算效率更高?(提示:矩陣乘法的時間複雜度...)

10. 難道你不認為時間序列是一個非常簡單的線性迴歸問題,它僅僅有一個因變量和一個自變量(時間)?在使用時序數據時,線性迴歸擬合(可能是多項式迴歸)的方法有什麼問題?(提示:過去的信息預示著未來...)

25個機器學習面試題,期待你來解答

11. 請給出一個簡單的數學證明,說明在所有可能的樹結構中找到適用於分類問題的最優決策樹是一個複雜度為指數級的問題。(提示:森林中究竟會有多少棵樹?)

12. 決策樹和神經網絡都是非線性分類器,也就是說,通過複雜的決策邊界來分割解空間。那麼,直觀地看,為什麼我們認為使用決策樹模型比深度神經網絡要容易得多呢?

13. 反向傳播是深度學習的關鍵算法。請列舉一些可能替代反向傳播算法來訓練神經網絡的技術。(提示:隨機搜索...)

14. 假設你現在有兩個問題(線性迴歸和 logistic 迴歸)。其中哪一個更有可能從超快大型矩陣乘法算法中獲益?為什麼?(提示:哪個算法更可能使用矩陣操作?)

15. 自變量之間的相關性對主成分分析有何影響?你將如何對其進行處理?

25個機器學習面試題,期待你來解答

16. 你需要建立一個關於隕石撞地球的分類模型(這是對於人類文明很重要的項目)。經過初步分析後,你得到了 99% 的準確率。你應該感到高興嗎?為什麼?你能為此做些什麼?(提示:小概率事件...)

17. 是否有可能捕獲連續變量和類別變量之間的關係?如果以的話,需要怎麼做?

18. 如果你正在研究基因表達數據,通常會有數百萬個自變量,而只有幾百個樣本。請給出簡單的數學證明,說明為什麼在這種情況下,使用最小二乘法構建一個迴歸模型並不是一個好的選擇。(提示:從矩陣代數的角度思考...)

19. 請解釋,為什麼 k 折交叉驗證對於時序模型效果並不好。你能做些什麼來改善這種情況?(提示:剛剛過去的信息對於未來有較強的指導作用...)

20. 對於迴歸問題來說,從訓練數據中通過簡單隨機抽樣得到訓練集和驗證集是很有效的。但是對於一個分類問題來說,這種方法會存在什麼問題?為此我們能做些什麼?(提示:所有類別的樣本是否能被公平地抽取出來?)

25個機器學習面試題,期待你來解答

21. 模型的準確率和性能,哪一個對你來說更重要?

22. 如果你可以利用多個 CPU 內核,你會更喜歡提升樹算法而不是隨機森林嗎?為什麼?(提示:如果你有 10 隻手去完成一項任務,你會如何利用它)

23. 假設已知數據集是線性可分的,而你需要保證算法能夠收斂並且具有最大的迭代次數/訓練步數(由於計算資源有限)。在這種情況下你會使用梯度下降法嗎?你會選擇什麼方法呢?(提示:哪種簡單的算法能夠保證找到解?)

24. 假設你擁有的內存/存儲空間非常小。你會更喜歡 logistic 迴歸還是 KNN 算法?為什麼?(提示:空間複雜度)

25. 為了構建一個機器學習模型,你準備了 100 個數據點和 5 種特徵。為了減少偏差,你又引入了 5 個特徵變量,並且又收集了 100 個數據點。請解釋這種方法是否正確。(提示:機器學習會遇到的(維度)災難,你聽說過嗎?)

相關推薦

推薦中...