去參加過機(jī)器學(xué)習(xí)方面面試的小伙伴都清楚
這個(gè)面試可以說是很痛苦的了
為了面試,你做好了許多的準(zhǔn)備
到場卻還是陷入窘境
為了讓大家不再面臨這些情況
科多特地去搜集了某位大神的面試經(jīng)驗(yàn)
希望能夠幫助到發(fā)大家
機(jī)器學(xué)習(xí)
面試經(jīng)驗(yàn)小總結(jié)
機(jī)器學(xué)習(xí)
在面試中襟齿,這些理論問題我們要重視
看似簡單的問題,其實(shí)很考驗(yàn)?zāi)愕闹R(shí)
接下來衡奥,我們一起來看看
常見的理論問題
什么是偏差-方差之間的權(quán)衡?
什么是梯度下降?
請(qǐng)解釋過擬合和欠擬合遇西,如何應(yīng)對(duì)這兩種情況?
如何解決維數(shù)災(zāi)難問題?
什么是正則化?為什么要正則化?請(qǐng)給出一些正則化常用方法。
為什么在神經(jīng)網(wǎng)絡(luò)中蛾狗,ReLU是比Sigmoid更好玄渗、更常用的激活函數(shù)?
數(shù)據(jù)規(guī)范化是什么?
為什么需要對(duì)數(shù)據(jù)進(jìn)行規(guī)范化?
數(shù)據(jù)規(guī)范化在預(yù)處理階段尤為重要座菠,它可以將數(shù)值縮放到特定的范圍,以在反向傳播時(shí)獲得更好的收斂性藤树。一般而言浴滴,規(guī)范化就是讓每一個(gè)數(shù)據(jù)點(diǎn)減去它們的均值,并除以標(biāo)準(zhǔn)差岁钓。
如果不這樣處理升略,一些(數(shù)量級(jí)較大的)特征值在代價(jià)函數(shù)中的權(quán)重就會(huì)更大(如果大數(shù)量級(jí)特征值改變1%微王,代價(jià)函數(shù)的變化就會(huì)很大,但小數(shù)量級(jí)的特征值改變1%產(chǎn)生的影響則微乎其微)品嚣。規(guī)范化使得所有特征值具有相同的權(quán)重炕倘。
請(qǐng)解釋降維,以及使用場合和它的優(yōu)勢翰撑。
降維是一種通過分析出主變量來減少特征變量的過程罩旋,其中主變量通常就是重要的特征。一個(gè)特征變量的重要性取決于它對(duì)數(shù)據(jù)信息的解釋程度额嘿,以及你所采用的方法瘸恼。至于如何選取方法劣挫,主要靠不斷摸索册养,以及你自己的偏好。通常大家會(huì)從線性方法開始压固,如果結(jié)果欠缺擬合性球拦,則考慮嘗試非線性的方法。
數(shù)據(jù)降維的優(yōu)勢
(1)節(jié)省存儲(chǔ)空間;
(2)節(jié)省計(jì)算時(shí)間(比如應(yīng)用于機(jī)器學(xué)習(xí)算法時(shí));
(3)去除冗余特征變量帐我,正如同時(shí)以平方米和平方英里存儲(chǔ)地區(qū)面積沒有任何意義(甚至可能是收集數(shù)據(jù)時(shí)出現(xiàn)錯(cuò)誤);
(4)將數(shù)據(jù)降維到二維或三維后坎炼,我們或許可以畫圖,將數(shù)據(jù)可視化拦键,以觀察數(shù)據(jù)具有的模式谣光,獲得對(duì)數(shù)據(jù)的直觀感受;
(5)特征變量過多或模型過于復(fù)雜可能導(dǎo)致模型過擬合。
如何處理數(shù)據(jù)集中缺失或損壞的數(shù)據(jù)?
你可以在數(shù)據(jù)集中找到缺失/損壞的數(shù)據(jù)芬为,并刪除它所在的行或列萄金,或是用其他值代替之。Pandas中有兩個(gè)非常有效的函數(shù):isnull()和dropna()媚朦,這兩個(gè)函數(shù)可以幫你找到有缺失/損壞數(shù)據(jù)的行氧敢,并刪除對(duì)應(yīng)值。如果要用占位符(比如0)填充這些無效值询张,你可以使用fillna()函數(shù)孙乖。
請(qǐng)解釋一下某種聚類算法。
由于文章篇幅有限份氧,而相關(guān)的信息比較多唯袄,因此寫了一篇《數(shù)據(jù)科學(xué)家應(yīng)當(dāng)知曉的5種聚類算法》,詳盡細(xì)致討論了這些算法蜗帜,文章的可視化也很棒恋拷,想了解的小伙伴可以進(jìn)鏈接尋找。
文章鏈接:
https://towardsdatascience.com/the-5-clustering-algorithms-data-scientists-need-to-know-a36d136ef68
如何開展探索性數(shù)據(jù)分析(EDA)?
EDA的目的是在應(yīng)用預(yù)測模型之前钮糖,了解數(shù)據(jù)的信息梅掠,獲得對(duì)數(shù)據(jù)的直觀感受酌住。總的來說阎抒,開展探索性數(shù)據(jù)分析一般采取由粗到精的方法酪我。
如何開展數(shù)據(jù)分析
(1)首先獲取一些高層次、全局性的直觀感受且叁。檢查一下不平衡的類都哭,查看每一類的均值和方差〕汛看看第一行欺矫,了解數(shù)據(jù)大致內(nèi)容。
運(yùn)行pandas中的http://df.info()函數(shù)展氓,看看哪些是連續(xù)變量穆趴、分類變量,并查看變量的數(shù)據(jù)類型(整型遇汞、浮點(diǎn)型未妹、字符串)。然后刪掉一些在分析空入、預(yù)測中不需要的列络它,這些列中的很多行數(shù)值都相同(提供的信息也相同),或者存在很多缺失值歪赢。我們也可以用某一行/列的眾數(shù)或中值填充該行/列中的缺失值化戳。
(2)可以做一些基本的可視化操作。從相對(duì)高層次埋凯、全局性的角度開始点楼,比如繪制分類特征關(guān)于類別的條形圖,繪制最終類別的條形圖递鹉,探究一下最“常用”的特征盟步,對(duì)獨(dú)立變量進(jìn)行可視化以獲得一些認(rèn)知和靈感等。
(3)可以展開更具體的探索躏结。比如同時(shí)對(duì)兩三個(gè)特征進(jìn)行可視化却盘,看看它們相互有何聯(lián)系。也可以做主成分分析媳拴,來確定哪些特征中包含的信息最多黄橘。類似地,還可以將一些特征分組屈溉,以觀察組間聯(lián)系祠乃。
比如可以考察一下馋辈,取A = B = 0時(shí)硫戈,不同的類會(huì)有什么表現(xiàn)?取A = 1、B = 0時(shí)呢?還要比較一下不同特征的影響小压,比方說特征A可以取“男性”或“女性”,則可以畫出特征A與旅客艙位的關(guān)系圖椰于,判斷男性和女性選在艙位選擇上是否有差異怠益。
除了條形圖、散點(diǎn)圖或是其他基本圖表瘾婿,也可以畫出PDF(概率分布函數(shù))或CDF(累計(jì)分布函數(shù))蜻牢、使用重疊繪圖方法等。還可以考察一下統(tǒng)計(jì)特性偏陪,比如分布抢呆、p值等。最后就該建立機(jī)器學(xué)習(xí)模型了笛谦。
從簡單的模型開始抱虐,比如樸素貝葉斯、線性回歸等揪罕。如果上述模型效果不理想梯码,或是數(shù)據(jù)高度非線性,則考慮使用多項(xiàng)式回歸好啰、決策樹或支持向量機(jī)。EDA可以挑選出重要的特征儿奶。如果數(shù)據(jù)量很大框往,可以使用神經(jīng)網(wǎng)絡(luò)。別忘了檢查ROC曲線(感受性曲線)闯捎、準(zhǔn)確率和召回率椰弊。
怎么知道應(yīng)當(dāng)選取何種機(jī)器學(xué)習(xí)模型?
雖然人們應(yīng)當(dāng)堅(jiān)信天下沒有免費(fèi)的午餐,但還是有一些指導(dǎo)原則相當(dāng)通用瓤鼻。這是寫回歸模型的文章以及相關(guān)信息的備忘錄秉版,里面內(nèi)容比較全面。
文章鏈接:
備忘錄鏈接:
為什么對(duì)圖像使用卷積而不只是FC層?
這個(gè)問題比較有趣茬祷,因?yàn)樘岢鲞@個(gè)問題的公司并不多清焕。但不排除一些公司會(huì)提出這個(gè)問題,如果面試時(shí)遇見祭犯,你可以分為兩方面回答這些問題秸妥。
回答
卷積可以保存、編碼沃粗、使用圖像的空間信息粥惧。只用FC層的話可能就沒有相關(guān)空間信息了。
卷積神經(jīng)網(wǎng)絡(luò)(CNN)某種程度上本身具有平移不變性最盅,因?yàn)槊總€(gè)卷積核都充當(dāng)了它自己的濾波器/特征監(jiān)測器突雪。
為什么CNN具有平移不變性?
上文解釋過起惕,每個(gè)卷積核都充當(dāng)了它自己的濾波器/特征監(jiān)測器。假設(shè)你正在進(jìn)行目標(biāo)檢測咏删,這個(gè)目標(biāo)處于圖片的何處并不重要疤祭,因?yàn)槲覀円曰瑒?dòng)窗口的方式,將卷積應(yīng)用于整個(gè)圖像饵婆。
為什么用CNN分類需要進(jìn)行最大池化?
這也是屬于計(jì)算機(jī)視覺領(lǐng)域的一個(gè)問題勺馆。CNN中的最大池化可以減少計(jì)算量,因?yàn)樘卣鲌D在池化后將會(huì)變小侨核。與此同時(shí)草穆,因?yàn)椴扇×俗畲蟪鼗⒉粫?huì)喪失太多圖像的語義信息搓译。還有一個(gè)理論認(rèn)為悲柱,最大池化有利于使CNN具有更好的平移不變性。關(guān)于這個(gè)問題些己,可以看一下吳恩達(dá)講解最大池化優(yōu)點(diǎn)的視頻豌鸡。
視頻鏈接:https://www.coursera.org/learn/convolutional-neural-networks/lecture/hELHk/pooling-layers
為什么用CNN分割時(shí)通常需要編碼-解碼結(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),使得特征能夠以不同路徑在整個(gè)網(wǎng)絡(luò)中傳播赛糟。
論文鏈接:https://arxiv.org/abs/1605.06431
批量標(biāo)準(zhǔn)化是什么?它為什么有效?
訓(xùn)練深層神經(jīng)網(wǎng)絡(luò)很復(fù)雜派任,因?yàn)樵谟?xùn)練過程中,隨著前幾層輸入的參數(shù)不斷變化璧南,每層輸入的分布也隨之變化掌逛。一種方法是將每層輸入規(guī)范化,輸出函數(shù)均值為0司倚,標(biāo)準(zhǔn)差為1豆混。對(duì)每一層的每個(gè)小批量輸入都采用上述方式進(jìn)行規(guī)范化(計(jì)算每個(gè)小批量輸入的均值和方差,然后標(biāo)準(zhǔn)化)对湃。這和神經(jīng)網(wǎng)絡(luò)的輸入的規(guī)范化類似崖叫。
批量標(biāo)準(zhǔn)化的好處
對(duì)輸入進(jì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)于這個(gè)問題有專門的文章解釋說明弃甥,請(qǐng)查看文章中第三個(gè)小標(biāo)題。
文章鏈接:https://towardsdatascience.com/7-practical-deep-learning-tips-97a9f514100e
為什么要使用許多小卷積核(如3*3的卷積核)汁讼,而非少量大卷積核?
這篇VGGNet的論文中有很詳細(xì)的解釋淆攻。有兩個(gè)原因:
使用小卷積核的原因
首先,同少數(shù)大卷積核一樣嘿架,更多小卷積核也可以得到相同的感受野和空間背景瓶珊,而且用小卷積核需要的參數(shù)更少、計(jì)算量更小耸彪。
其次伞芹,使用小卷積核需要更多過濾器,這意味會(huì)使用更多的激活函數(shù)蝉娜,因此你的CNN可以得到更具特異性的映射函數(shù)唱较。
論文鏈接:https://arxiv.org/pdf/1409.1556.pdf
你有和我們公司相關(guān)的項(xiàng)目經(jīng)歷嗎?
在回答這個(gè)問題時(shí),你需要把自己的研究和他們的業(yè)務(wù)的聯(lián)系起來召川。想想看你是否做過什么研究南缓,或?qū)W過什么技能,能和公司業(yè)務(wù)及你申請(qǐng)的崗位有所聯(lián)系扮宠。這種經(jīng)歷不需要百分之百符合所申請(qǐng)的崗位西乖,只要在某種程度上有關(guān)聯(lián),這些經(jīng)歷就會(huì)成為你很大的加分項(xiàng)坛增。
請(qǐng)介紹一下你目前的碩士研究項(xiàng)目。哪些項(xiàng)目和申請(qǐng)崗位有關(guān)聯(lián)?未來發(fā)展方向薄腻。
這個(gè)問題的答案同上收捣,你懂的~~~
以上就是便是應(yīng)聘數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)相關(guān)崗位時(shí)常被問到的問題。希望你喜歡這篇文章庵楷,并能有所收獲罢艾,找到一份中意的工作。