微软 Android linux shell java Windows apache Python google Ubuntu wordpress 开源 Firefox 云计算 nginx php centos mysql 编程 程序员

21個數據科學的面試問題和答案(1-5)

KDnuggets編輯給你“20個問題來分辨真假數據科學家”的答案,包括什麽是正則化、我們崇拜的數據科學家、模型驗證等等。

作者 Gregory Piatetsky, KDnuggets.

最近KDnuggets上發的“20個問題來分辨真假數據科學家”這篇文章非常熱門,獲得了一月的閱讀量排行首位。

但是這些問題並沒有提供答案,所以KDnuggets的小編們聚在一起寫出了這些問題的答案。我還加了一個特別提問——第21問,是20個問題裏沒有的。

下面是答案。

Q1.解釋什麽是正則化,以及它為什麽有用。

回答者: Matthew Mayo .

正則化是添加一個調優參數的過程模型來引導平滑以防止過擬合。(參加KDnuggets文章《過擬合》)

這通常是通過添加一個常數到現有的權向量。這個常數通常要麽是L1(Lasso)要麽是L2(ridge),但實際上可以是任何標準。該模型的測算結果的下一步應該是將正則化訓練集計算的損失函數的均值最小化。

Xavier Amatriain在這裏向那些感興趣的人清楚的展示了L1和L2正則化之間的比較。

【原创译文】21个数据科学的面试问题和答案(1-5) 1: lp  :p 的值减少 , 相应的 L-p 空间的大小

也會減少。

Q2.你最崇拜哪些數據科學家和創業公司?

回答者: Gregory Piatetsky

這個問題沒有標準答案,下面是我個人最崇拜的12名數據科學家,排名不分先後。

【原创译文】21个数据科学的面试问题和答案(1-5)

Geoff Hinton, Yann LeCun, 和 Yoshua Bengio-因他們對神經網絡的堅持不懈的研究,和開啟了當前深度學習的革命。

Demis Hassabis,因他在DeepMind的傑出表現——在Atari遊戲中實現了人或超人的表現和最近Go的表現。

來自datakind的Jake Porway和芝加哥大學DSSG的Rayid Ghani因他們讓數據科學對社會產生貢獻。

DJ Patil,美國第一首席數據科學家,利用數據科學使美國政府工作效率更高。

Kirk D. Borne,因其在大眾傳媒中的影響力和領導力。

Claudia Perlich,因其在廣告生態系統的貢獻,和作為kdd-2014的領頭人。

Hilary Mason在Bitly傑出的工作,和作為一個大數據的明星激發他人。

Usama Fayyad,展示了其領導力,為KDD和數據科學設立了高目標,這幫助我和成千上萬的人不斷激勵自己做到最好。

Hadley Wickham,因他在數據科學和數據可視化方面的出色的成果,包括dplyr,ggplot2,和RStudio。

數據科學領域裏有太多優秀的創業公司,但我不會在這裏列出它們,以避免利益沖突。

Q3.如何驗證一個用多元回歸生成的對定量結果變量的預測模型。

回答者: Matthew Mayo .

模型驗證方法:

如果模型預測的值遠遠超出響應變量範圍,這將立即顯示較差的估計或模型不準確。

如果值看似是合理的,檢查參數;下列情況表示較差估計或多重共線性:預期相反的跡象,不尋常的或大或小的值,或添加新數據時觀察到不一致。

利用該模型預測新的數據,並使用計算的系數(平方)作為模型的有效性措施。

使用數據拆分,以形成一個單獨的數據集,用於估計模型參數,另一個用於驗證預測。

如果數據集包含一個實例的較小數字,用對折重新采樣,測量效度與R平方和均方誤差(MSE)。

Q4. 解釋準確率和召回率。它們和ROC曲線有什麽關系?

回答者:Gregory Piatetsky

這是kdnuggets常見問題的答案:精度和召回

計算精度和召回其實相當容易。想象一下10000例中有100例負數。你想預測哪一個是積極的,你選擇200個以更好的機會來捕捉100個積極的案例。你記錄下你預測的ID,當你得到實際結果時,你總結你是對的或錯的。以下是正確或錯誤的四種可能:

TN/真負數:例負數且預測負數

TP/真正數:例正數且預測正數

FN/假負數:例負數但是預測負數

FP/假正數:例負數但是預測正數

意義何在?現在你要計算10000個例子中有多少進入了每一個bucket:

【原创译文】21个数据科学的面试问题和答案(1-5)

現在,你的雇主會問你三個問題:

1.你的預測正確率有幾成?

你回答:確切值是(9760+60)除以10000=98.2%

2.你獲得正值的例子占多少比例?

你回答:召回比例為60除以100=60%

3.正值預測的百分比多少?

你回答:精確值是60除以200=30%

看一個維基上的精度和召回的優秀範例。

【原创译文】21个数据科学的面试问题和答案(1-5)

圖4.精度和召回

ROC曲線代表了靈敏度(召回)與特異性(不準確)之間的關系,常用來衡量二元分類的性能。然而,在處理高傾斜度的數據集的時候,精度-召回(pr)曲線給出一個更具代表性的表現。見Quora回答:ROC曲線和精度-召回曲線之間的區別是什麽?。

Q5.如何證明你對一個算法的改進確實比什麽都不做更好?

回答者:Anmol Rajpurohit. .

我們會在追求快速創新中(又名“快速成名”)經常看到,違反科學方法的原則導致誤導性的創新,即有吸引力的觀點卻沒有經過嚴格的驗證。一個這樣的場景是,對於一個給定的任務:提高算法,產生更好的結果,你可能會有幾個關於潛在的改善想法。

人們通常會產生的一個明顯沖動是盡快公布這些想法,並要求盡快實施它們。當被問及支持數據,往往是共享的是有限的結果,這是很有可能受到選擇偏差的影響(已知或未知)或一個誤導性的全局最小值(由於缺乏各種合適的測試數據)。

數據科學家不讓自己的情緒操控自己的邏輯推理。但是確切的方法來證明你對一個算法的改進確實比什麽都不做更好將取決於實際情況,有幾個共同的指導方針:

確保性能比較的測試數據沒有選擇偏差

確保測試數據足夠,以成為各種真實性的數據的代表(有助於避免過擬合)

確保“受控實驗”的原則,即在比較運行的原始算法和新算法的表現的時候,性能、測試環境(硬件等)方面必須是完全相同的。

確保結果是可重復的,當接近類似的結果出現的時候

檢查結果是否反映局部極大值/極小值或全局極大值/最小值

來實現上述方針的一種常見的方式是通過A/B測試,這裏面兩個版本的算法是,在隨機分割的兩者之間不停地運行在類似的環境中的相當長的時間和輸入數據。這種方法是特別常見的網絡分析方法。

延伸阅读

评论