自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

從概念到應(yīng)用:一文搞定數(shù)據(jù)科學(xué)和機器學(xué)習(xí)的最常見面試題

大數(shù)據(jù)
機器學(xué)習(xí)方向的面試可以說是非常恐怖了。你覺得自己什么都知道,但面試的時候卻很容易陷入窘境。其實很多問題可以事先準(zhǔn)備,本文搜集了一些機器學(xué)習(xí)方向面試時常見的題目,希望能在求職路上助你一臂之力。

機器學(xué)習(xí)方向的面試可以說是非??植懒?。你覺得自己什么都知道,但面試的時候卻很容易陷入窘境。其實很多問題可以事先準(zhǔn)備,本文搜集了一些機器學(xué)習(xí)方向面試時常見的題目,希望能在求職路上助你一臂之力。

過去的幾個月中,我參加了一些公司數(shù)據(jù)科學(xué)、機器學(xué)習(xí)等方向初級崗位的面試。

我面試的這些崗位和數(shù)據(jù)科學(xué)、常規(guī)機器學(xué)習(xí)還有專業(yè)的自然語言處理、計算機視覺相關(guān)。我參加了亞馬遜、三星、優(yōu)步、華為等大公司的面試,除此之外還有一些初創(chuàng)公司的面試。這些初創(chuàng)公司有些處于啟動階段,也有些已經(jīng)成型并得到投資。

簡單介紹一下我的背景:在校期間攻讀機器學(xué)習(xí)和計算機視覺的碩士學(xué)位,主要進行學(xué)術(shù)方面的研究,但是有在一家早期初創(chuàng)公司(和ML無關(guān))實習(xí)八個月的經(jīng)歷。

今天我想跟你們分享我在面試中被問到的問題,以及如去何解答。其中一部分問題很常見,旨在考察你的理論知識儲備。但也有一些問題頗具創(chuàng)意,非常有意思。我將把常見的問題簡單列出來,不多做解釋,因為網(wǎng)上有許多資料可以參考。比較罕見、棘手的問題,我會深入探討一下。希望你讀完這篇文章后,可以在機器學(xué)習(xí)的面試中表現(xiàn)出色,獲得自己滿意的工作。

首先來看一些常見的理論問題:

什么是偏差-方差之間的權(quán)衡?

 

什么是梯度下降?

 

請解釋過擬合和欠擬合。如何應(yīng)對這兩種情況?

 

如何解決維數(shù)災(zāi)難問題?

 

什么是正則化?為什么要正則化?請給出一些正則化常用方法。

 

為什么在神經(jīng)網(wǎng)絡(luò)中,ReLU是比Sigmoid更好、更常用的激活函數(shù)?

 

數(shù)據(jù)規(guī)范化是什么?為什么需要對數(shù)據(jù)進行規(guī)范化?

我覺得這個問題很重要,值得強調(diào)。數(shù)據(jù)規(guī)范化在預(yù)處理階段尤為重要,它可以將數(shù)值縮放到特定的范圍,以在反向傳播時獲得更好的收斂性。一般而言,規(guī)范化就是讓每一個數(shù)據(jù)點減去它們的均值,并除以標(biāo)準(zhǔn)差。

如果不這樣處理,一些(數(shù)量級較大的)特征值在代價函數(shù)中的權(quán)重就會更大(如果大數(shù)量級特征值改變1%,代價函數(shù)的變化就會很大,但小數(shù)量級的特征值改變1%產(chǎn)生的影響則微乎其微)。規(guī)范化使得所有特征值具有相同的權(quán)重。

請解釋降維,以及使用場合和它的優(yōu)勢。

降維是一種通過分析出主變量來減少特征變量的過程,其中主變量通常就是重要的特征。一個特征變量的重要性取決于它對數(shù)據(jù)信息的解釋程度,以及你所采用的方法。至于如何選取方法,主要靠不斷摸索,以及你自己的偏好。通常大家會從線性方法開始,如果結(jié)果欠缺擬合性,則考慮嘗試非線性的方法。

數(shù)據(jù)降維的優(yōu)勢有以下幾點:(1)節(jié)省存儲空間;(2)節(jié)省計算時間(比如應(yīng)用于機器學(xué)習(xí)算法時);(3)去除冗余特征變量,正如同時以平方米和平方英里存儲地區(qū)面積沒有任何意義(甚至可能是收集數(shù)據(jù)時出現(xiàn)錯誤);(4)將數(shù)據(jù)降維到二維或三維后,我們或許可以畫圖,將數(shù)據(jù)可視化,以觀察數(shù)據(jù)具有的模式,獲得對數(shù)據(jù)的直觀感受;(5)特征變量過多或模型過于復(fù)雜可能導(dǎo)致模型過擬合。

如何處理數(shù)據(jù)集中缺失或損壞的數(shù)據(jù)?

你可以在數(shù)據(jù)集中找到缺失/損壞的數(shù)據(jù),并刪除它所在的行或列,或是用其他值代替之。Pandas中有兩個非常有效的函數(shù):isnull()和dropna(),這兩個函數(shù)可以幫你找到有缺失/損壞數(shù)據(jù)的行,并刪除對應(yīng)值。如果要用占位符(比如0)填充這些無效值,你可以使用fillna()函數(shù)。

請解釋一下某種聚類算法。

我寫了一篇熱門文章《數(shù)據(jù)科學(xué)家應(yīng)當(dāng)知曉的5種聚類算法》,詳盡細致討論了這些算法,文章的可視化也很棒。

文章鏈接:

https://towardsdatascience.com/the-5-clustering-algorithms-data-scientists-need-to-know-a36d136ef68

如何開展探索性數(shù)據(jù)分析(EDA)?

EDA的目的是在應(yīng)用預(yù)測模型之前,了解數(shù)據(jù)的信息,獲得對數(shù)據(jù)的直觀感受??偟膩碚f,開展探索性數(shù)據(jù)分析一般采取由粗到精的方法。我們首先獲取一些高層次、全局性的直觀感受。檢查一下不平衡的類,查看每一類的均值和方差??纯吹谝恍校私鈹?shù)據(jù)大致內(nèi)容。

運行pandas中的df.info()函數(shù),看看哪些是連續(xù)變量、分類變量,并查看變量的數(shù)據(jù)類型(整型、浮點型、字符串)。然后刪掉一些在分析、預(yù)測中不需要的列,這些列中的很多行數(shù)值都相同(提供的信息也相同),或者存在很多缺失值。我們也可以用某一行/列的眾數(shù)或中值填充該行/列中的缺失值。

此外可以做一些基本的可視化操作。從相對高層次、全局性的角度開始,比如繪制分類特征關(guān)于類別的條形圖,繪制最終類別的條形圖,探究一下最“常用”的特征,對獨立變量進行可視化以獲得一些認(rèn)知和靈感等。

接下來可以展開更具體的探索。比如同時對兩三個特征進行可視化,看看它們相互有何聯(lián)系。也可以做主成分分析,來確定哪些特征中包含的信息最多。類似地,還可以將一些特征分組,以觀察組間聯(lián)系。

比如可以考察一下,取A = B = 0時,不同的類會有什么表現(xiàn)?取A = 1、B = 0時呢?還要比較一下不同特征的影響,比方說特征A可以取“男性”或“女性”,則可以畫出特征A與旅客艙位的關(guān)系圖,判斷男性和女性選在艙位選擇上是否有差異。

除了條形圖、散點圖或是其他基本圖表,也可以畫出PDF(概率分布函數(shù))或CDF(累計分布函數(shù))、使用重疊繪圖方法等。還可以考察一下統(tǒng)計特性,比如分布、p值等。最后就該建立機器學(xué)習(xí)模型了。

從簡單的模型開始,比如樸素貝葉斯、線性回歸等。如果上述模型效果不理想,或是數(shù)據(jù)高度非線性,則考慮使用多項式回歸、決策樹或支持向量機。EDA可以挑選出重要的特征。如果數(shù)據(jù)量很大,可以使用神經(jīng)網(wǎng)絡(luò)。別忘了檢查ROC曲線(感受性曲線)、準(zhǔn)確率和召回率。

怎么知道應(yīng)當(dāng)選取何種機器學(xué)習(xí)模型?

雖然人們應(yīng)當(dāng)堅信天下沒有免費的午餐,但還是有一些指導(dǎo)原則相當(dāng)通用。我在一篇文章里寫了如何選取合適的回歸模型,還有一篇備忘錄也很棒!

文章鏈接:

https://towardsdatascience.com/selecting-the-best-machine-learning-algorithm-for-your-regression-problem-20c330bad4ef

備忘錄鏈接:

https://www.google.com/search?tbs=simg:CAESqQIJvnrCwg_15JjManQILEKjU2AQaBAgUCAoMCxCwjKcIGmIKYAgDEijqAvQH8wfpB_1AH_1hL1B_1YH6QKOE6soyT-TJ9A0qCipKKoo0TS0NL0-GjA_15sJ-3A24wpvrDVRc8bM3x0nrW3Ctn6tFeYFLpV7ldtVRVDHO-s-8FnDFrpLKzC8gBAwLEI6u_1ggaCgoICAESBO

為什么對圖像使用卷積而不只是FC層?

這個問題比較有趣,因為提出這個問題的公司并不多。恰巧,在一家專攻計算機視覺的公司的面試中,我被問到這個問題。答案應(yīng)分成兩部分:首先,卷積可以保存、編碼、使用圖像的空間信息。只用FC層的話可能就沒有相關(guān)空間信息了。其次,卷積神經(jīng)網(wǎng)絡(luò)(CNN)某種程度上本身具有平移不變性,因為每個卷積核都充當(dāng)了它自己的濾波器/特征監(jiān)測器。

為什么CNN具有平移不變性?

上文解釋過,每個卷積核都充當(dāng)了它自己的濾波器/特征監(jiān)測器。假設(shè)你正在進行目標(biāo)檢測,這個目標(biāo)處于圖片的何處并不重要,因為我們要以滑動窗口的方式,將卷積應(yīng)用于整個圖像。

為什么用CNN分類需要進行最大池化?

這也是屬于計算機視覺領(lǐng)域的一個問題。CNN中的最大池化可以減少計算量,因為特征圖在池化后將會變小。與此同時,因為采取了最大池化,并不會喪失太多圖像的語義信息。還有一個理論認(rèn)為,最大池化有利于使CNN具有更好的平移不變性。關(guān)于這個問題,可以看一下吳恩達講解最大池化優(yōu)點的視頻。

視頻鏈接:https://www.coursera.org/learn/convolutional-neural-networks/lecture/hELHk/pooling-layers

為什么用CNN分割時通常需要編碼-解碼結(jié)構(gòu)?

CNN編碼器可以看作是特征提取網(wǎng)絡(luò),解碼器則利用它提供的信息,“解碼”特征并放大到原始大小,以此預(yù)測圖像片段。

殘差網(wǎng)絡(luò)有什么意義?

殘差網(wǎng)絡(luò)主要能夠讓它之前的層直接訪問特征,這使得信息在網(wǎng)絡(luò)中更易于傳播。一篇很有趣的論文解釋了本地的跳躍式傳導(dǎo)如何賦予網(wǎng)絡(luò)多路徑結(jié)構(gòu),使得特征能夠以不同路徑在整個網(wǎng)絡(luò)中傳播。

論文鏈接:https://arxiv.org/abs/1605.06431

批量標(biāo)準(zhǔn)化是什么?它為什么有效?

訓(xùn)練深層神經(jīng)網(wǎng)絡(luò)很復(fù)雜,因為在訓(xùn)練過程中,隨著前幾層輸入的參數(shù)不斷變化,每層輸入的分布也隨之變化。一種方法是將每層輸入規(guī)范化,輸出函數(shù)均值為0,標(biāo)準(zhǔn)差為1。對每一層的每個小批量輸入都采用上述方式進行規(guī)范化(計算每個小批量輸入的均值和方差,然后標(biāo)準(zhǔn)化)。這和神經(jīng)網(wǎng)絡(luò)的輸入的規(guī)范化類似。

批量標(biāo)準(zhǔn)化有什么好處?我們知道,對輸入進行規(guī)范化有助于神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)。但神經(jīng)網(wǎng)絡(luò)不過是一系列的層,每層的輸出又成為下一層的輸入。也就是說,我們可以將其中每一層視作子網(wǎng)絡(luò)的第一層。把神經(jīng)網(wǎng)絡(luò)想象成一系列互相傳遞信息的網(wǎng)絡(luò)結(jié)構(gòu),因此在激活函數(shù)作用于輸出之前,先將每一層輸出規(guī)范化,再將其傳遞到下一層(子網(wǎng)絡(luò))。

如何處理不平衡數(shù)據(jù)集?

關(guān)于這個問題我寫了一篇文章,請查看文章中第三個小標(biāo)題。

文章鏈接:https://towardsdatascience.com/7-practical-deep-learning-tips-97a9f514100e

為什么要使用許多小卷積核(如3*3的卷積核),而非少量大卷積核?

這篇VGGNet的論文中有很詳細的解釋。有兩個原因:首先,同少數(shù)大卷積核一樣,更多小卷積核也可以得到相同的感受野和空間背景,而且用小卷積核需要的參數(shù)更少、計算量更小。其次,使用小卷積核需要更多過濾器,這意味會使用更多的激活函數(shù),因此你的CNN可以得到更具特異性的映射函數(shù)。

論文鏈接:https://arxiv.org/pdf/1409.1556.pdf

你有和我們公司相關(guān)的項目經(jīng)歷嗎?

在回答這個問題時,你需要把自己的研究和他們的業(yè)務(wù)的聯(lián)系起來。想想看你是否做過什么研究,或?qū)W過什么技能,能和公司業(yè)務(wù)及你申請的崗位有所聯(lián)系。這種經(jīng)歷不需要百分之百符合所申請的崗位,只要在某種程度上有關(guān)聯(lián),這些經(jīng)歷就會成為你很大的加分項。

請介紹一下你目前的碩士研究項目。哪些項目和申請崗位有關(guān)聯(lián)?未來發(fā)展方向是什么?

這個問題的答案同上,你懂的

 

[[229150]]

結(jié)論

以上就是所有我在應(yīng)聘數(shù)據(jù)科學(xué)和機器學(xué)習(xí)相關(guān)崗位時被問到的問題。希望你喜歡這篇文章,并從中獲益。

【本文是51CTO專欄機構(gòu)大數(shù)據(jù)文摘的原創(chuàng)譯文,微信公眾號“大數(shù)據(jù)文摘( id: BigDataDigest)”】

     大數(shù)據(jù)文摘二維碼

戳這里,看該作者更多好文

責(zé)任編輯:未麗燕 來源: 大數(shù)據(jù)文摘
相關(guān)推薦

2020-03-03 17:47:07

UDP TCP面試題

2019-07-12 11:28:00

元數(shù)據(jù)大數(shù)據(jù)存儲

2009-06-02 15:11:11

Hibernate面試題查詢

2021-08-31 07:02:34

數(shù)據(jù)響應(yīng)Vue偵測數(shù)據(jù)變化

2022-08-29 07:31:48

HashMap線程擴容

2015-09-29 09:24:22

Node.js面試題

2018-09-05 12:20:09

數(shù)據(jù)庫Redis面試題

2016-12-19 10:05:01

數(shù)據(jù)面試題PCA

2017-07-25 16:04:31

概念應(yīng)用強化學(xué)習(xí)

2019-03-19 16:15:10

區(qū)塊鏈架構(gòu)設(shè)計編程語言

2020-05-13 09:14:16

哈希表數(shù)據(jù)結(jié)構(gòu)

2016-11-01 11:54:26

BI大數(shù)據(jù)

2021-01-14 05:12:19

Http協(xié)議面試

2022-08-11 13:49:37

機器學(xué)習(xí)技術(shù)

2016-11-02 11:58:06

大數(shù)據(jù)BI

2018-07-10 16:50:28

數(shù)據(jù)庫MySQL面試題

2021-07-16 10:20:56

Linux 硬鏈接Linux 系統(tǒng)

2023-07-25 16:55:15

Linuxinode

2020-11-08 13:46:18

數(shù)據(jù)科學(xué)機器學(xué)習(xí)算法

2021-03-28 18:40:02

LinuxWindowsJava
點贊
收藏

51CTO技術(shù)棧公眾號