![數據科學&機器學習面試題,來挑戰吧~](http://p2.ttnews.xyz/loading.gif)
翻譯:王雨桐
校對:霍詩琴
本文約50000字,建議閱讀10分鐘。
本文盤點了數據科學和機器學習面試中的常見問題。
技術的不斷進步使得數據和信息的產生速度今非昔比,並且呈現出繼續增長的趨勢。此外,目前對解釋、分析和使用這些數據的技術人員需求也很高,這在未來幾年內會呈指數增長。這些新角色涵蓋了從戰略、運營到管理的所有方面。因此, 當前和未來的需求將需要更多的數據科學家、數據工程師、數據戰略家和首席數據官這樣類似的角色。
本文將著眼於不同類型的面試問題。如果您計劃向數據科學領域轉行,這些問題一定會有所幫助。
![數據科學&機器學習面試題,來挑戰吧~](http://p2.ttnews.xyz/loading.gif)
回答:
算術平均值:它是統計學中的一個重要概念。算術平均值也可稱為平均值,它是通過將兩個或多個數字/變量相加,然後將總和除以數字/變量的總數而獲得的數量或變量。
中位數:中位數也是觀察一組數據平均情況的一種方法。它是一組數字的中間數字。結果有兩種可能性,因為數據總數可能是奇數,也可能是偶數。
如果總數是奇數,則將組中的數字從最小到最大排列。中位數恰好是位於中間的數,兩側的數量相等。如果總數是偶數,則按順序排列數字並選擇兩個中間數字並加上它們然後除以2,它將是該組的中位數。
眾數:眾數也是觀察平均情況的方法之一。眾數是一個數字,指在一組數字中出現最多的數字。有些數列可能沒有任何眾數;有些可能有兩個眾數,稱為雙峰數列。
在統計學研究中,統計學中最常見的三個“平均值”是均值,中位數和眾數。
標準差(Sigma,s):標準差用於衡量數據在統計數據中的離散程度。
迴歸:迴歸是統計建模中的一種分析方法。這是衡量變量間關係的統計過程;它決定了一個變量和一系列其他自變量之間關係的強度。
回答:
統計學的兩個主要分支是描述性統計和推斷性統計。
描述性統計:描述性統計使用類似均值或標準差的指數來總結樣本數據。
描述性統計方法包括展示、組織和描述數據。
推斷性統計:推斷統計得出的結論來自隨機變化的數據,如觀察誤差和樣本變異。
回答:
結合數據分析,統計可以用於分析數據,並幫助企業做出正確的決策。預測性“分析”和“統計”對於分析當前數據和歷史數據以預測未來事件非常有用。
回答:
統計數據可用於許多研究領域。以下列舉了統計的應用領域:
- 科學
- 技術
- 商業
- 生物學
- 計算機科學
- 化學
- 支持決策
- 提供比較
- 解釋已經發生的行為
- 預測未來
- 估計未知數量
回答:
線性迴歸是預測分析中使用的統計技術之一,該技術將確定自變量對因變量的影響強度。
回答:
在統計研究中,通過結構化和統一處理,樣本是從統計總體中收集或處理的一組或部分數據,並且樣本中的元素被稱為樣本點。
以下是4種抽樣方法:
- 聚類抽樣:在聚類抽樣方法中,總體將被分為群組或群集。
- 簡單隨機抽樣:這種抽樣方法僅僅遵循隨機分配。
- 分層抽樣:在分層抽樣中,數據將分為組或分層。
- 系統抽樣:根據系統抽樣方法,每隔k個成員,從總體中抽取一個。
回答:
當我們在統計中進行假設檢驗時,p值有助於我們確定結果的顯著性。這些假設檢驗僅僅是為了檢驗關於總體假設的有效性。零假設是指假設和樣本沒有顯著性差異,這種差異指抽樣或實驗本身造成的差異。
回答:
數據科學是數據驅動的科學,它還涉及自動化科學方法、算法、系統和過程的跨學科領域,以任何形式(結構化或非結構化)從數據中提取信息和知識。此外,它與數據挖掘有相似之處,它們都從數據中抽象出有用的信息。
數據科學包括數理統計以及計算機科學和應用。此外,結合了統計學、可視化、應用數學、計算機科學等各個領域,數據科學將海量數據轉化為洞見。
同樣,統計學是數據科學的主要組成部分之一。統計學是數學商業的一個分支,它包括數據的收集、分析、解釋、組織和展示。
回答:
協方差和相關性是兩個數學概念;這兩種方法在統計學中被廣泛使用。相關性和協方差都可以構建關係,並且還可測量兩個隨機變量之間的依賴關係。雖然這兩者在數學上有相似之處,但它們含義並不同。
相關性:相關性被認為是測量和估計兩個變量間定量關係的最佳技術。相關性可以衡量兩個變量相關程度的強弱。
協方差:協方差對應的兩個變量一同變化,它用於度量兩個隨機變量在週期中的變化程度。這是一個統計術語;它解釋了一對隨機變量之間的關係,其中一個變量的變化時,另一個變量如何變化。
R面試問題
R是數據分析軟件,主要的服務對象是分析師、量化分析人員、統計學家、數據科學家等。
R提供的函數是:
- 均值
- 中位數
- 分佈
- 協方差
- 迴歸
- 非線性模型
- 混合效果
- 廣義線性模型(GLM)
- 廣義加性模型(GAM)等等
在R控制檯中輸入命令(“Rcmdr”)將啟動R Commander GUI。
使用R commander導入R中的數據,有三種方法可以輸入數據。
- 你可以通過Data
- 從純文本(ASCII)或其他文件(SPSS,Minitab等)導入數據
- 通過鍵入數據集的名稱或在對話框中選擇數據集來讀取數據集
- 雖然R可以輕鬆連接到DBMS,但不是數據庫
- R不包含任何圖形用戶界面
- 雖然它可以連接到Excel / Microsoft Office,但R語言不提供任何數據的電子表格視圖
在R中,在程序的任何地方,你必須在#sign前面加上代碼行,例如:
- 減法
- 除法
- 注意運算順序
要在R中保存數據,有很多方法,但最簡單的方法是:
Data > Active Data Set > Export Active dataset,將出現一個對話框,當單擊確定時,對話框將根據常用的方式保存數據。
你可以通過cor()函數返回相關係數,cov()函數返回協方差。
在R中,t.test()函數用於進行各種t檢驗。 t檢驗是統計學中最常見的檢驗,用於確定兩組的均值是否相等。
- With()函數類似於SAS中的DATA,它將表達式應用於數據集。
- BY()函數將函數應用於因子的每個水平。它類似於SAS中的BY。
R 有如下這些數據結構:
- 向量
- 矩陣
- 數組
- 數據框
通用的形式是:
Mymatrix< - matrix (vector, nrow=r, ncol=c , byrow=FALSE, dimnames = list ( char_vector_ rowname, char_vector_colnames)
在R中,缺失值由NA(Not Available)表示,不可能的值由符號NaN(not a number)表示。
為了重新整理數據,R提供了各種方法,轉置是重塑數據集的最簡單的方法。為了轉置矩陣或數據框,可以使用t()函數。
通過一個或多個BY變量,使得摺疊R中的數據變得容易。使用aggregate()函數時,BY變量應該在列表中。
回答:
機器學習是人工智能的一種應用,它為系統提供了自動學習和改進經驗的能力,而無需明確的編程。此外,機器學習側重於開發可以訪問數據並自主學習的程序。
回答:
在很多領域,機器人正在取代人類。這是因為編程使得機器人可以基於從傳感器收集的數據來執行任務。他們從數據中學習並智能地運作。
回答:機器學習中不同類型的算法技術如下:
- 強化學習
- 監督學習
- 無監督學習
- 半監督學習
- 轉導
- 元學習
回答:
這是面試中提出的基本機器學習面試問題。監督學習是一個需要標記訓練集數據的過程,而無監督學習則不需要數據標記。
回答:無監督學習包括如下:
- 數據聚類
- 數據的降維表示
- 探索數據
- 探索座標和相關性
- 識別異常觀測
回答:監督學習包括如下:
- 分類
- 語音識別
- 迴歸
- 預測時間序列
- 註釋字符串
回答:樸素貝葉斯的優點是:
- 分類器比判別模型更快收斂
- 它可以忽略特徵之間的相互作用
回答:樸素貝葉斯的缺點是:
- 不適用連續性特徵
- 它對數據分佈做出了非常強的假設
- 在數據稀缺的情況下不能很好地工作
回答:
樸素貝葉斯是如此的不成熟,因為它假設數據集中所有特徵同等重要且獨立。
回答:
這是一個受歡迎的機器學習面試問題。機器學習中的過擬合定義為:統計模型側重於隨機誤差或噪聲而不是探索關係,或模型過於複雜。
回答:
過擬合的一個重要原因和可能性是用於訓練模型的標準與用於判斷模型功效的標準不同。
回答:我們可以通過以下方式避免過擬合:
- 大量數據
- 交叉驗證
回答:下面列出了五種常用的機器學習算法:
- 決策樹
- 概率網絡
- 最近鄰
- 支持向量機
- 神經網絡
回答:機器學習算法的使用案例:
- 欺詐檢測
- 人臉識別
- 自然語言處理
- 市場細分
- 文本分類
- 生物信息學
回答:參數模型是指參數有限且用於預測新數據的模型,你只需知道模型的參數即可。
非參數模型是指參數數量無限的模型,允許更大的靈活性且用於預測新數據,你需要了解模型的參數並熟悉已收集的觀測數據。
回答:這是面試中經常問的機器學習面試問題。在機器學習中構建假設或模型的三個階段是:
- 模型構建
- 模型測試
- 模型應用
回答:
歸納邏輯編程(ILP)是機器學習的一個子領域,它使用代表背景知識和案例的邏輯程序。
回答:分類和迴歸之間的區別如下:
- 分類是關於識別類別的組成,而回歸涉及預測因變量。
- 這兩種技術都與預測相關。
- 分類預測類別的歸屬,而回歸預測來自連續集的值。
- 當模型需要返回數據集中的數據點的歸屬類別時,迴歸不是首選。
回答:歸納機器學習和演繹機器學習的區別如下:
機器學習,模型通過從一組觀察實例中學習,得出一個廣義結論。而在演繹學習中,要機遇一些已知結論,得出結果。
回答:決策樹的優點是:
- 決策樹易於理解
- 非參數
- 調整的參數相對較少
回答:
機器學習領域專注於深受大腦啟發的深度人工神經網絡。 Alexey Grigorevich Ivakhnenko將深度學習網絡帶入大眾視野。如今它已應用於各種領域,如計算機視覺、語音識別和自然語言處理。
回答:
有研究表明,淺網和深網都可以適應任何功能,但由於深度網絡有幾個不同類型的隱藏層,因此相比於參數更少的淺模型,它們能夠構建或提取更好的特徵。
回答:代價函數是神經網絡對於給定訓練樣本和預期輸出的準確度的度量。它是一個值,而非向量,因為它支撐了整個神經網絡的性能。它可以計算如下平均誤差函數:
回答:
反向傳播是一種用於多層神經網絡的訓練算法。在此方法中,我們將誤差從網絡末端移動到網絡內的所有權重,從而進行梯度的高效計算。它包括以下幾個步驟:
- 訓練的前向傳播以產生輸出。
- 然後可以使用目標值和輸出值誤差導數來計算輸出激活。
- 然後我們返回傳播以計算前一個輸出激活的誤差導數,並對所有隱藏層繼續此操作。
- 使用之前計算的輸出和所有隱藏層的導數,我們計算關於權重的誤差導數。
- 然後更新權重。
回答:隨機梯度下降:我們僅使用單個訓練樣本來計算梯度和更新參數。
批量梯度下降:我們計算整個數據集的梯度,並在每次迭代時進行更新。
小批量梯度下降:它是最流行的優化算法之一。它是隨機梯度下降的變體,但不是單個訓練示例,使用小批量樣本。
回答:以下是小批量梯度下降的好處
- 與隨機梯度下降相比,這更有效。
- 通過找到平面最小值來提高泛化性。
- 小批量有助於估計整個訓練集的梯度,這有助於我們避免局部最小值。
回答:
在反向傳播期間要使用數據標準化。數據規範化背後的主要動機是減少或消除數據冗餘。在這裡,我們重新調整值以適應特定範圍,以實現更好的收斂。
回答:
權重初始化是非常重要的步驟之一。糟糕的權重初始化可能會阻止網絡學習,但良好的權重初始化有助於更快的收斂和整體誤差優化。偏差通常可以初始化為零。設置權重的規則應接近於零,而不是太小。
回答:
自編碼是一種使用反向傳播原理的自主機器學習算法,其中目標值設置為等於所提供的輸入。在內部有一個隱藏層,用於描述用於表示輸入的代碼。
關於自編碼的一些重要特徵如下:
- 它是一種類似於主成分分析(PCA)的無監督機器學習算法
- 最小化與主成分分析相同的目標函數
- 它是一個神經網絡
- 神經網絡的目標輸出是其輸入
回答:
是的,這可以通過考慮第4層輸出來自前一時間步驟(如遞歸神經網絡RNN)來完成。此外,我們需要假設之前的輸入批次有時與當前批次相關。
回答:玻爾茲曼機(Boltzmann Machine)是一種問題解決方案的優化方法。玻爾茲曼機的工作基本是為了優化給定問題的權重和數量。關於玻爾茲曼機的一些要點如下:
- 它使用循環結構。
- 由隨機神經元組成,其中包括兩種可能的狀態之一,1或0。
- 其中的神經元處於連通狀態(自由狀態)或斷開狀態(凍結狀態)。
- 如果我們在離散Hopfield網絡上應用模擬退火,那麼它將成為玻爾茲曼機。
回答:
激活函數是一種將非線性引入神經網絡的方法,它有助於學習更復雜的函數。沒有它,神經網絡只能學習線性函數。線性函數是輸入數據的線性組合。
現在是引領浪潮之巔的最好時機,我們應當儘量完善自己在數據科學和分析這些新興領域所需的技能。最重要的是,這不僅適用於剛開始職業生涯並決定學習的人。就連已就職的專業人士可以從數據科學的浪潮中受益,甚至可能比那些新入行的競爭者獲益更多。
原文標題:Data Science & ML : A Complete Interview Guide原文鏈接:https://www.codementor.io/divyacyclitics15/data-science-ml-a-complete-interview-guide-qlprmdc6y校對:林亦霖
譯者簡介
王雨桐,UIUC統計學在讀碩士,本科統計專業,目前專注於Coding技能的提升。理論到應用的轉換中,敬畏數據,持續進化。
— 完 —
關注清華-青島數據科學研究院官方微信公眾平臺“THU數據派”及姊妹號“數據派THU”獲取更多講座福利及優質內容。
閱讀更多 THU數據派 的文章