一些常見的機器學(xué)習(xí)面試題(不定時更新)幅垮。
激活函數(shù)的作用?
激活函數(shù)為神經(jīng)網(wǎng)絡(luò)提供了非線性名眉。如果不使用激活函數(shù),每一層的輸入都相當(dāng)于是上一層輸入的線性組合凰棉,無論網(wǎng)絡(luò)有多少層损拢,最終都能寫成只有一層的線性組合。激活函數(shù)作為非線性函數(shù)撒犀,使神經(jīng)網(wǎng)絡(luò)能夠逼近任意一個函數(shù)福压,提高了網(wǎng)絡(luò)的近似能力。常見的激活函數(shù)或舞?
- sigmoid:
sigmoid與神經(jīng)元的功能類似荆姆,并且可微,但缺點就是在輸入值特別大或者特別小時映凳,對應(yīng)的梯度會接近于0胆筒,會導(dǎo)致梯度爆炸;不是關(guān)于原點對稱的诈豌,會導(dǎo)致在訓(xùn)練過程中輸入的分布發(fā)生變化仆救。 - tanh:
tanh解決了關(guān)于原點對稱的問題,但是梯度爆炸的問題依舊存在矫渔。 - ReLU:
ReLU很好的解決了梯度爆炸的問題彤蔽,收斂速度更快,但是不關(guān)于原點對稱庙洼,并且在負(fù)半部分輸出會一直為0顿痪,導(dǎo)致神經(jīng)元死亡。
-Leaky ReLU
在負(fù)數(shù)部分使用了一個斜率很小的線性函數(shù)油够,解決了dead ReLU的問題蚁袭。
- 激活函數(shù)有什么性質(zhì)?
- 非線性叠聋,為神經(jīng)網(wǎng)絡(luò)提供非線性映射撕阎;
- 可微性,梯度傳播碌补;
- 單調(diào)性虏束,保證萬能逼近定理;
- 輸出值有范圍
softmax函數(shù)是做什么的厦章?
讓多分類的神將網(wǎng)絡(luò)輸成為一個和為1的概率分布镇匀。
反向傳播是什么?
信息通過網(wǎng)絡(luò)從輸入流行輸出被稱為前向傳播袜啃。訓(xùn)練中汗侵,前向傳播會產(chǎn)生一個代價函數(shù)。反向傳播算法允許代價函數(shù)的信息通過網(wǎng)絡(luò)向后流動群发,一邊計算梯度晰韵。梯度下降使用該梯度進行學(xué)習(xí)。反向傳播算法可以由計算圖來描述熟妓。計算圖中每一個節(jié)點都表示變量雪猪,包括標(biāo)量,向量起愈,矩陣等只恨。如果y是由一個操作計算在x上得到的,就畫一條從x到y(tǒng)的有向邊抬虽,上面標(biāo)著操作官觅。靜態(tài)圖和動態(tài)圖的區(qū)別?
神經(jīng)網(wǎng)絡(luò)框架分為靜態(tài)圖框架和動態(tài)圖框架阐污。Tensorfolw使用靜態(tài)圖休涤,每次運行之前都要先定義好計算圖,笛辟,再把具體的數(shù)字放入其中功氨,靜態(tài)圖運行時不需要重新構(gòu)建計算圖,所以運算更快隘膘。Pytorch是動態(tài)圖疑故,每次都會重新構(gòu)建一個新的計算圖。動態(tài)圖比較直觀弯菊,方便debug纵势,但是效率相對的不高。動態(tài)圖中只有葉子節(jié)點的梯度會被保留下來管钳,使用.retain_grad()可以保留任意非葉子節(jié)點的梯度钦铁。什么是梯度下降?
梯度下降是一種優(yōu)化算法才漆,目的是找到函數(shù)的局部的極值牛曹,如果要找的是局部最小值,需要向函數(shù)當(dāng)前點的梯度的反方向上以一定步長進行迭代探索醇滥;如果要找到是最大值黎比,則是以梯度方向探索超营。迭代的公式為:
,其中是學(xué)習(xí)率,
參數(shù)阅虫,
是要求極小值的函數(shù)演闭。
梯度下降的方法?
- BGD:每個迭代計算整個數(shù)據(jù)集的所有樣本的梯度
- SGD:每次迭代只計算一個樣本的梯度
- min-batch GD: 每次迭代計算一個batch的樣本的梯度
- momentum:在SGD的基礎(chǔ)上加上了一個動量以減小震蕩颓帝。
- ...
什么是梯度消失和梯度爆炸米碰?解決梯度消失和梯度爆炸的方案都有哪些?
在神經(jīng)網(wǎng)絡(luò)里购城,隨著層數(shù)的增多吕座,梯度的值也在不斷累積。如果梯度大于1瘪板,層數(shù)增多的時候吴趴,最終的求出的梯度更新將以指數(shù)形式增加,即發(fā)生梯度爆炸篷帅,如果小于1史侣,那么隨著層數(shù)增多,求出的梯度更新信息將會以指數(shù)形式衰減魏身,即發(fā)生了梯度消失惊橱。
解決梯度爆炸可以使用正則化,對權(quán)重進行正則化限制過擬合箭昵,防止梯度爆炸税朴。
使用ReLU作為激活函數(shù)地粪,也可以減少梯度爆炸服猪、梯度消失的問題。
還有一個是使用batch normalization厉膀,規(guī)范每一層的輸出颤殴,消除權(quán)重放大縮小帶來的影響觅廓,進而解決梯度爆炸或者消失的問題。
LSTM使用長時記憶涵但,解決了梯度爆炸的問題杈绸。
面試題—梯度消失于梯度爆炸什么過擬合和欠擬合,如何避免矮瘟?
過擬合指的是經(jīng)過訓(xùn)練的模型瞳脓,在訓(xùn)練集上表現(xiàn)得十分出色,但是在測試集上表現(xiàn)得很差的情況澈侠〗俨啵可能的原因有訓(xùn)練數(shù)據(jù)太少,訓(xùn)練次數(shù)太多,模型太過復(fù)雜等烧栋,使模型只會“背答案”写妥,面對沒有見過的題型不知所措。
欠擬合則相反劲弦,是因為模型沒有充分訓(xùn)練耳标,以至于對數(shù)據(jù)認(rèn)識不足醇坝,在訓(xùn)練集和測試集表現(xiàn)性能都很差邑跪。原因可能是模型太簡單,訓(xùn)練次數(shù)太少呼猪,數(shù)據(jù)沒有清洗等画畅。
更多關(guān)于過擬合、欠擬合宋距、恰好擬合的處理方法轴踱。Dropout的作用是什么?
在前向過程中讓神經(jīng)元以一定的概率被停止工作谚赎,可以減少相鄰神經(jīng)元之間的依賴淫僻,減少過擬合,提高泛化能力壶唤。-
算法分類問題的評價標(biāo)準(zhǔn)有哪些雳灵?ROC和AUC分別指是什么, 其中圖坐標(biāo)(橫坐標(biāo)和縱坐標(biāo))的意義是闸盔?
先介紹一下混淆矩陣
混淆矩陣 (https://blog.csdn.net/quiet_girl/article/details/70830796)
true postive: 正確分類悯辙,真實數(shù)據(jù)為正,預(yù)測為正
true negetive: 正確分類迎吵,真實數(shù)據(jù)為負(fù)躲撰,樣本為負(fù)
false positive: 錯誤分類, 真實樣本為負(fù)击费,預(yù)測為正
false negative: 錯誤分類拢蛋,真實樣本為正,預(yù)測為負(fù)
算法分類的指標(biāo)有:
準(zhǔn)確率 accuracy:正確分類的樣本占所有樣本的比例
召回率 recall:預(yù)測為正且正確的樣本占真實樣本的比例
精確率 precision:預(yù)測為正且正確的樣本占所有預(yù)測為正的樣本的比例
f1 score: Precison 和 Recall的結(jié)合
ROC曲線:橫軸為false positive rate蔫巩,縱軸為true positive rate谆棱,曲線越貼近左上角,說明表現(xiàn)越好
AUC:ROC曲線下的面積批幌,越接近1說明越好
機器學(xué)習(xí):準(zhǔn)確率(Precision)础锐、召回率(Recall)、F值(F-Measure)荧缘、ROC曲線皆警、PR曲線:https://blog.csdn.net/quiet_girl/article/details/70830796 常見的循環(huán)神經(jīng)網(wǎng)絡(luò)都有哪些?他們的優(yōu)缺點及應(yīng)用場景截粗?詳細(xì)描述之前其中一種網(wǎng)絡(luò)結(jié)構(gòu)及其推導(dǎo)過程.
LSTM:長短期記憶模型信姓,在RNN的基礎(chǔ)上加上了遺忘門和記憶單元鸵隧。
GRU:門控循環(huán)單元,LSTM 簡化得來的意推。
應(yīng)用:文本生成豆瘫,機器翻譯,語音識別等菊值。LSTM和GRU的區(qū)別是什么外驱?
從結(jié)構(gòu)上來說,GRU只有兩個門(update和reset)腻窒,LSTM有三個門(forget昵宇,input,output)儿子,GRU直接將hidden state 傳給下一個單元瓦哎,而LSTM則把hidden state 包裝起來。GRU 參數(shù)更少因此更容易收斂柔逼,但是數(shù)據(jù)集很大的情況下蒋譬,LSTM表達性能更好。LSTM為什么能解決梯度爆炸/消失的問題?
LSTM使用的gate選擇讓一部分的信息通過愉适,gate是由一個sigmoid和一個點乘組成犯助,當(dāng)gate打開時,梯度接近于1儡毕,梯度不會消失也切;梯度也不會超過1,因此不會梯度爆炸腰湾。
https://www.zhihu.com/question/44895610CNN的平移不變性是什么雷恃?
平移不變性指的是CNN對于同一特征以及平移之后的版本都能輸出相同的結(jié)果,由卷積核池化實現(xiàn)的费坊。卷積核能夠檢測到在任意位置的相同特征倒槐。池化操作對應(yīng)的感受野中,如果最大值(對于最大池化)被移動了附井,但仍在感受野范圍內(nèi)讨越,那么池化依舊輸出相同的輸出。擴大感受野的方法永毅?
增加網(wǎng)絡(luò)深度把跨,池化,空洞卷積有哪些調(diào)參技巧沼死?
https://www.notion.so/a30db4067c00479aaa0d71fe1785cb0c#fa2c11ce51d84f25a67323e49f78c704目標(biāo)檢測里如何解決前景少背景多的問題着逐?
- 硬數(shù)據(jù)挖掘
- 類平衡思路改進過的損失函數(shù)
- ROIPooling和 ROIAlign的區(qū)別
- ROIPool的候選區(qū)相對較大
- ROI采用直接擬合的方式進行候選區(qū)域求取
- SVM與LR的區(qū)別
LR:logistic regression是基于概率論的方法,通過極大似然估計得到參數(shù)的值。每個點都會參與決策耸别。
SVM:最大化間隔健芭,只考慮在分類間隔上的點。SVM可以使用核函數(shù)秀姐。