數據科學和機器學習面試問題集錦

2020-12-03 雷鋒網

本文為 AI 研習社編譯的技術博客,原標題 :

Data Science and Machine Learning Interview Questions

作者 | George Seif

翻譯 | Disillusion

校對 | 醬番梨       整理 | 菠蘿妹

原文連結:

https://towardsdatascience.com/data-science-and-machine-learning-interview-questions-3f6207cf040b


可怕的機器學習面試。你覺得自己什麼都懂,直到你進行了測試!但一切可以得到改變。

在過去的幾個月裡,我面試了許多公司涉及數據科學和機器學習的初級職位。介紹一下我自己,以讓你對我有一定了解。我還有最後幾個月就研究生畢業,我的碩士是機器學習和計算機視覺,我之前的大部分經驗是研究/學術,但在一個早期創業公司待過8個月(與機器學習無關)。這些角色包括數據科學、通用機器學習和專精自然語言處理及計算機視覺。我面試過亞馬遜、特斯拉、三星、優步、華為等大公司,也面試過很多從初創階段到資金雄厚的初創公司。

今天我將和大家分享我被問到過的所有面試問題以及如何應答這些問題。許多問題都是很常見的理論,但許多其他問題相當有創意。我將簡單地列出最常見的一些問題,因為網上有很多關於它們的資源,並將更深入地介紹一些不太常見和更刁鑽的問題。我希望通過閱讀這篇文章,你可以在機器學習面試中取得好成績,找到你夢想的工作!


  • 偏差和方差之間的協調是什麼?

  • 什麼是梯度下降?

  • 解釋過擬合和欠擬合以及如何與之對抗?

  • 你如何對抗維度的詛咒?

  • 什麼是正則化,我們為什麼要使用它,並給出一些常見方法的例子?

  • 解釋主成分分析法 (PCA)?

  • 為什麼在神經網絡中ReLU比Sigmoid更好更常用 ? 

  • 什麼是數據標準化,我們為什麼需要它?  我覺得很有必要強調這一題。數據標準化是非常重要的預處理步驟,用於對數值進行調節,使其擬合特定的範圍,以確保在反向傳播過程中更好地收斂。一般來說,這可以歸結為減去每個數據點的均值,再除以其標準差。如果我們不這樣做,那麼一些特徵(那些高量級的)將在成本函數中得到更多的權重(如果一個高量級的特徵變化了1%,那麼這個變化是相當大的,但是對於較小量級的特徵來說,它是相當小的)。數據標準化使得所有特徵的權重相等。  

  • 解釋降維,在哪裡會用到以及它的好處?  降維是通過減少所考慮的特徵變量數量來得到一組主變量(也就是重要特徵)的過程。特性的重要性取決於特徵變量對數據信息表示的貢獻,並取決於你使用哪種技術。決定使用哪種技術取決於反覆試驗和偏好。通常從線性技術開始,當結果不擬合時,就轉向非線性技術。數據集降維的潛在好處有:(1)減少所需存儲空間 (2)加速計算(例如在機器學習算法),維度低意味著更少的計算,維度低也意味著可以使用不適合高維度的算法 (3)刪除冗餘特徵,例如沒有意義同時用平方米和平方英裡來存儲地形的大小(可能是數據採集存在缺陷) (4)降低數據維度到2D或3D可能允許我們繪圖和可視化它們,如觀察模式,給我們深刻見解 (5)太多的特徵或太複雜的模型可能導致過度擬合。  

  • 如何處理數據集中丟失或損壞的數據? 你可以在數據集中找到丟失/損壞的數據,你可以刪除這些行或列,或者用另一個值替換它們。在Pandas中,有兩個非常有用的方法:isnull()和dropna(),它們將幫助您找到丟失或損壞數據的數據列,並刪除這些值。如果希望用佔位符值(例如0)填充無效值,可以使用fillna()方法。  

  • 解釋這種聚類算法? 我寫了一篇很受歡迎的文章,是關於數據科學家需要知道的5種聚類算法,用各種可視化圖形詳細解釋了每種算法。  

  • 你將如何進行探索性數據分析(EDA)? EDA的目標是在應用預測模型之前從數據中收集一些見解,也就是獲得一些信息。基本上,你希望以一種從粗到細的方式進行EDA。我們從獲得一些高層次的全局見解開始。看看一些不平衡的類。看看每個類的均值和方差。查看前幾行,看看它是關於什麼的。運行Pandas df.info()來查看哪些特性是連續的、分類的、它們的類型(int、float、string)。接下來,刪除在分析和預測中不無用的列。這些可能是看起來無用的列,其中一個是許多行具有相同的值(即該列沒有給我們很多信息),或者它丟失了很多值。我們還可以用該列中最常見的值或中值填充缺失的值。現在我們可以開始做一些基本的可視化。從高層次的東西開始。為特徵是分類和有少數組的做一些條形圖。最後類的條形圖。看看最「寬泛的特徵」。對這些單獨的特徵創建一些可視化,以嘗試獲得一些基本見解。現在我們可以開始更具體的。在兩個或三個特性之間創建可視化。特性是如何相互關聯的?你還可以用PCA查看哪些特徵包含最多的信息。將一些特性組合在一起,看看它們之間的關係。例如,當A = 0和B = 0時,類會發生什麼?當A = 1,B = 0時呢?比較不同的特徵。例如,如果特徵A可以是「女性」或「男性」,那麼我們可以將特徵A與他們呆在哪個小屋相對照,看看男性和女性是否住在不同的小屋。除了條形圖、散點圖和其他基本圖外,我們還可以繪製PDF/CDF、重疊圖等。查看一些統計數據,如分布、p值等。最後,是時候創建ML模型了。從簡單的貝葉斯和線性回歸開始。如果你發現很糟糕或者數據是高度非線性的,那就使用多項式回歸、決策樹或者SVMs。可以根據EDA中特徵的重要性選擇它們。如果你有很多數據,你可以使用神經網絡。檢查ROC曲線。精度、回憶  。

  • 你如何知道應該使用哪種機器學習模型?雖然人們應該時刻牢記「天下沒有免費的午餐」,但還是有一些基本原則的。我在這裡寫了一篇關於如何選擇合適的回歸模型的文章。這個備忘單也很棒!  

  • 為什麼我們對圖像使用卷積而不僅僅是FC層?這個問題很有趣,因為公司通常不會問這個問題。正如你所料,我從一家專注於計算機視覺的公司得到了這個問題。這個答案有兩部分。首先,卷積保存、編碼並實際使用了圖像中的空間信息。如果我們只使用FC層,就不會有相關的空間信息。其次,卷積神經網絡(CNNs)具有部分內建的平移方差,因為每個卷積核都充當自己的濾波器/特徵檢測器。  

  • 什麼使CNNs不受平移影響?如上所述,每個卷積核都充當自己的濾波器/特徵檢測器。假設你在做物體檢測,物體在圖像中的什麼位置並不重要因為我們要以滑動窗口的方式對整個圖像進行卷積。  

  • 為什麼分類CNNs 有最大池化?正如你所預料的,這是為了計算機視覺中的一個角色。CNN中的最大池化允許你減少計算,因為你的特徵圖在池化之後更小。你不會丟失太多的語義信息,因為你正在進行最大限度的激活。也有一種理論認為,最大池效應在一定程度上增加了CNNs的不受平移影響性。看看吳恩達關於最大池化的好處視頻。  

  • 為什麼分段CNNs通常具有編碼器-解碼器風格/結構?編碼器CNN基本上可以被認為是一個特徵提取網絡,而解碼器利用這些信息通過「解碼」特徵並向上放大到原始圖像大小來預測圖像的片段。  

  • 什麼是批量標準化,它為什麼有效? 深度神經網絡的訓練是複雜的,因為每一層的輸入分布在訓練過程中會隨著前一層參數的變化而變化。批量標準化的目的是使每一層的輸入標準化,使它們的平均輸出激活為0,標準偏差為1。每一層中的每一個小批都會進行處理,即單獨計算小批的均值和方差,然後標準化。這類似於網絡輸入的標準化。這有什麼幫助呢?我們知道對網絡輸入進行標準化有助於其學習。但是網絡只是一系列層,其中一層的輸出成為下一層的輸入。這意味著我們可以把神經網絡中的任何一層看作是更小的後續網絡的第一層。我們將神經網絡看作是一系列相互饋入的神經網絡,在應用激活函數之前對一層的輸出進行標準化,然後將其饋入下一層(子網絡)。  

  • 如何處理不平衡的數據集?我有一篇關於這個的文章!

  • 為什麼要使用很多小的卷積核,比如3x3,而不是幾個大的?這在VGGNet的論文中得到了很好的解釋。有兩個原因:首先,你可以使用幾個較小的內核而不是幾個較大的內核來獲得相同的接收域並捕獲更多的空間信息,但是使用較小的內核可以使用較少的參數和計算。其次,因為使用更小的內核,你將使用更多的過濾器,使用更多的激活函數,因此CNN將學習到更有鑑別性的映射函數。  

  • 你還有其他相關的項目嗎?在這裡,你將真正在你的研究和他們的業務之間建立聯繫。你有沒有做過什麼事或學過什麼技能,可能與他們的業務或你申請的職位有關? 不必是100%相關,只是某種程度上相關,這樣你就可以證明你能夠直接為公司增加很多價值。  

  • 解釋一下你目前的碩士研究?什麼成功了?沒有失敗了?未來的發展方向?和上一個問題一樣!  


這就是所有我在申請數據科學和機器學習職位時得到的面試問題。我希望你喜歡這篇文章,並學到一些新的、有用的東西!如果你覺得學到點什麼,請點讚!  


AI研習社每日更新精彩內容,觀看更多精彩內容:雷鋒網雷鋒網(公眾號:雷鋒網)雷鋒網

五個很厲害的 CNN 架構

一文帶你讀懂計算機視覺

用Pytorch做深度學習(第一部分)

讓神經網絡說「我不知道」——用Pyro/PyTorch實現貝葉斯神經網絡


等你來譯:

對混亂的數據進行聚類 

初學者怎樣使用Keras進行遷移學習 

強化學習:通往基於情感的行為系統 

如果你想學數據科學,這 7 類資源千萬不能錯過



雷鋒網原創文章,未經授權禁止轉載。詳情見轉載須知。

相關焦點

  • 2020年 Top 20 機器學習和數據科學網站
    每天我都能看到瘋狂的信息流,不幸的是,有很多虛假或毫無價值的東西,尤其是在數據科學和ML上。哪裡可以找到所有相關和有用的材料?-這就是問題所在。和大家分享我整理的機器學習和數據科學網站。為機器學習和數據科學的世界進行難忘的冒險的地方#1 r/datascience and r/MachineLearning無論對於專業人士還是業餘愛好者,Reddit都是一個很好的地方,可以讓不同經驗水平的科學家和ML工程師,或者僅僅是有抱負的初學者,共享信息。你可以討論和辯論問題,模因,熱門話題,所有最新的成就和更多-Reddit會給你各種有趣的東西。
  • 數據科學和機器學習的最佳Python庫
    數據科學和機器學習是該時代最需求的技術,這一需求促使每個人都學習不同的庫和軟體包以實現它們。這篇博客文章將重點介紹用於數據科學和機器學習的Python庫。這些是您掌握市場上最被炒作的兩項技能的庫。庫用於自然語言處理的Python庫數據科學與機器學習導論當我開始研究數據科學和機器學習時,總是有這個問題困擾我最大。
  • 應聘機器學習工程師?這是你需要知道的12個基礎面試問題
    如果想應聘機器學習工程師崗位,你可能會遇到技術面試,這是面試官掂量你對技術的真正理解的時候,所以還是相當重要的。近日,JP Tech 發表了一篇文章,介紹了他們面試新人時可能會提出的 12 個面試問題。問題很基礎,但卻值得一看。這些問題是我在面試 AI 工程師崗位時常問到的問題。事實上,並非所有面試都需要用到所有這些問題,因為這取決於面試者的經驗以及之前做過的項目。
  • 10本機器學習和數據科學的必讀書籍推薦
    雷鋒網按:Matthew Mayo 是知名數據科學網站 KDnuggets 的副主編,同時也是一位資深的數據科學家、深度學習技術愛好者,在機器學習和數據科學領域具有豐富的科研和從業經驗。近日,他在 KDnuggets 上推薦了一份機器學習和數據科學相關的免費必讀書單,雷鋒網特來與大家分享。
  • 網際網路上20大免費數據科學、機器學習和人工智慧慕課
    大數據概論——加州大學聖地牙哥分校現在是大數據時代,所有的數據科學愛好者都有義務去了解大數據是什麼以及它為什麼重要。你將學到什麼:· 大數據問題、應用程式和系統背後的術語和核心概念。· 大數據在個人的業務或職業生涯中有多大用處。
  • 資源| 25個機器學習面試題,期待你來解答
    選自Medium機器之心編譯參與:Geek AI、王淑婷、思源機器學習有非常多令人困惑及不解的地方,很多問題都沒有明確的答案。但在面試中,如何探查到面試官想要提問的知識點就顯得非常重要了。在本文中,作者給出了 25 個非常有意思的機器學習面試問題,這些問題都沒有給出明確的答案,但都有一定的提示。
  • 梳理數百個問題後,我總結出10個數據科學面試必掌握概念……
    深度學習和神經網絡並不簡單,但好在面試官能測試的數量有限。在梳理了數百個數據科學面試問題之後,本文總結出了10個最常出現的深度學習概念。話不多說,讓我們開始吧!ReLU函數優於S型函數和雙曲正切函數函數,因為它執行梯度下降的速度更快。請注意,在圖像中,當x(或z)很大時,斜率非常小,這會顯著減緩梯度下降,但這種情況不會出現在ReLU函數中。2.代價函數(Cost Function)神經網絡的代價函數類似於其他機器學習模型的成本函數。
  • 數據分析工程師面試集錦5——Spark面試指南
    可以說Spark幾乎是企業搭建大數據平臺必備組件,作為數據分析工程師在工作中執行程序、調試程序、查詢數據都會和Spark打交道,所以對Spark知識的考察也就順理成章了。怎麼去準備Spark的面試?對於概念類的知識點可以在面試前突擊一下,閱讀類似本文的面試指南,對於代碼類的或者涉及項目類的考題更多的是需要平時工作和學習的積累,多寫一些代碼並加上自己的思考。精選考題基本概念1、Spark支持的程式語言有哪幾種?
  • KDnuggets:2018年數據科學和機器學習工具排名 Python排名第一
    近日,著名數據科學網站 KDnuggets 發布了 2018 年數據科學和機器學習工具調查結果。超過 2000 人對自己「過去 12 個月內在項目開發中使用過的數據挖掘/機器學習工具和程式語言」進行了投票。該統計還對過去三年來的排名進行了對比分析。這份投票結果既有預料之內,也有預料之外的部分。
  • 2006年清華大學面試、筆試試題集錦
    清華大學2006年面試、筆試試題集錦  1、第一輪面試,三個教授面試一個學生,剛進考場,老師要求用電報的形式在三十秒鐘內介紹一下自己。  2、一個人在平地上步行的速度為每小時4公裡,上山的速度為每小時6公裡,下山的速度是每小時3公裡,請問,他步行5小時走了多少公裡?
  • 面試必備:數據科學家必須掌握的3個統計學概念
    從某些角度上來講,如今的數據科學家基本上等於現代統計學家。在數據科學面試中,我們也少不了要面對統計學相關的知識。以下是數據科學相關面試中最頻繁出現的三種統計學問題,它們是許多數據科學應用程式的基本構建模塊。
  • SAS被Gartner評為「數據科學與機器學習平臺魔力象限2020年度領導...
    中國,北京 2020年2月25日——近日,Gartner在新發布的《2020年數據科學與機器學習平臺魔力象限》報告中將SAS評為領導者。這是SAS連續第七年被評為該魔力象限的領導者,在該報告中SAS願景的完整性和執行能力得到了Gartner的認可。
  • 高清圖解:神經網絡、機器學習、數據科學一網打盡|附PDF
    今天,新智元要為大家推薦一個超實用、顏值超高的神經網絡+機器學習+數據科學和Python的完全圖解,文末附有高清PDF版連結,支持下載、列印,推薦大家可以做成滑鼠墊、桌布,或者印成手冊等隨手攜帶,隨時翻看。
  • 機器學習算法的新女王——XGBoost
    在涉及非結構化數據(圖像、文本等)的預測問題中,人工神經網絡往往優於所有其他算法或框架。然而,當涉及到中小型結構化/表格數據時,基於決策樹的算法被認為是目前同類中最好的。請參閱下表了解這些年來基於樹的算法的發展。
  • 大數據分析工程師面試集錦3-SQL/SparkSql/HiveQL
    大數據分析工程師80%的時間都在與SQL打交道,通過SQL完成業務方的各種臨時性需求分析和常規性報表統計。熟練的SQL技能能夠大大提高工作效率。本文將SQL/SparkSql/HiveQL放在一起來梳理一份常見題型的面試題庫。
  • 科技巨頭數據科學面試真題:你能答出多少-科技巨頭,面試,題目...
    來自Glassdoor的最新數據可以告訴我們各大科技公司最近在招聘面試時最喜歡向候選人提什麼問題。首先有一個令人惋惜的結論:根據統計,幾乎所有的公司都有著自己的不同風格。由於Glassdoor允許匿名提交內容,很多樂於分享的應聘者向大家提供了Facebook、谷歌、微軟等大公司的面試題。我們把其中的一部分列出以供大家參考。
  • 【產品面試】常見5個面試問題(十六
    參考解析: 這個網上有大把文章,去搜就行了,其實交互的知識有很多,比如怎麼判斷頁面原生和 h5 和混血,怎麼取捨;包括哪些數據時需要下發哪些數據可以寫死;頁面信息是怎麼通過接口和資料庫交互之類的,都是互動設計師的基礎需要了解的常識。
  • 微軟再推免費在線 Python 教程,面向數據科學和機器學習初學者
    從基本介紹和 VS Code 的配置講起,循序漸進語法概念等基礎內容講解。目前為止,該系列視頻播放量已達到將近 180 萬次。近日,微軟在此基礎上,再度更新兩個針對 Python 初學者的系列教程,作為對之前教程的補充,或者說是進階。因此,這兩個新的系列面向的不完全是純粹的 Python 新手,而是對 Python 稍有了解,並可能有其他語言的編碼經驗的人。
  • 量子機器學習``量子數據''
    可用於量子數據(與經典數據相反),克服了這些應用程式所存在的顯著速度下降,並為「開發量子系統的計算見解提供了沃土」。已經開發出量子算法來增強一系列不同的計算任務;最近,它已經包括量子增強的機器學習。量子機器學習部分是由Skoltech駐地量子信息處理實驗室首創的,該實驗室由本文的研究者Jacob Biamonte領導。他說:「機器學習技術已經成為查找數據模式的強大工具。量子系統產生的非典型模式被認為無法有效地產生於經典系統,因此在計算機學習任務上量子計算機的性能要優於傳統計算機也就不足為奇了。」
  • 小白學數據小抄放送 Python,R,大數據,機器學習
    確實,數據科學越來越熱,但是對於想要學好它的小白們卻很頭疼一個問題,需要記住的操作和公式實在是太多了!小抄表是很實用的辦法,那麼今天我們就為大家送出一份大殺器:28張小抄表合輯!不管你是Python或R的初學者,還是SQL或機器學習的入門者,或者準備學習Hadoop,這裡都有能滿足你的資料。