算法崗面試知識點總結

目錄

一、機器學習知識點

二、深度學習知識點


一、機器學習知識點

1、交叉熵公式,邏輯迴歸(LR)公式,邏輯迴歸損失函數,SVM的損失函數

2、邏輯迴歸(LR)和線性迴歸的區別

線性迴歸用來做預測,LR用來做分類;線性迴歸是來擬合函數,LR是來預測函數;線性迴歸用最小二乘法來計算參數,LR用最大似然估計來計算參數;線性迴歸更容易受到異常值的影響,而LR對異常值有較好的穩定性。

3、支持向量機(SVM)及SVM與LR的區別

 SVM:用於解決二分類或者多分類問題,基本模型定義爲特徵空間上的間隔最大的線性分類器,它的學習策略爲最大化分類間隔,構造一個最優化的超平面在空間中分割數據,最終可轉化爲凸二次規劃問題求解。

LR是參數模型,採用損失函數爲Logistic Loss;SVM是非參數模型,採用損失函數爲Hinge Loss;在學習分類器的時候,SVM只考慮與分類最相關的少數支持向量點,LR的模型相對簡單,在進行大規模線性分類時比較方便。

4、機器學習中的距離計算方法

歐式距離,餘弦距離,曼哈頓距離,切比雪夫距離

5、SVM硬間隔和軟間隔的表達式,SVM使用對偶計算的目的

SVM使用對偶計算的目的有兩個:一是方便核函數的引入;二是原問題的求解複雜度與樣本的維度相關,而轉成對偶問題後只與樣本的數量有關。

6、SVM中的核函數

核函數種類:線性核,多項式核,高斯核。

核函數的選擇:樣本特徵多,維數高,線性可分,使用線性核;樣本的數量較少,且維數較少時,使用高斯核。

核函數的作用:核函數隱含着一個從低維空間到高維空間的映射,這個映射可以把低維空間中線性不可分的兩類點變成線性可分的。

7、生成模型和判別模型的特點,分別有哪些

生成式模型特點:先從數據中學習聯合概率分佈,然後利用貝葉斯公式求得特徵和標籤對應的條件概率分佈。

判別式模型特點:直接學習條件概率分佈,直觀的輸入什麼特徵就預測可能的類別;

生成式模型:樸素貝葉斯、HMM、Gaussians(高斯模型)、馬爾科夫隨機場,LDA

判別式模型:線性迴歸和邏輯迴歸(LR),SVM,神經網絡,k-近鄰,CRF,Boosting

8、分類算法的種類以及應用場景

單一分類方法:LR邏輯迴歸,SVM支持向量機,DT決策樹、NB樸素貝葉斯、NN人工神經網絡、K-近鄰;

集成學習算法:基於Bagging和Boosting算法思想,RF隨機森林,GBDT,Adaboost,XGboost。

9、ID3,C4.5和CART三種決策樹的區別

ID3決策樹優先選擇信息增益大的屬性來對樣本進行劃分,但是這樣的分裂節點方法有一個很大的缺點,當一個屬性可取值數目較多時,可能在這個屬性對應值下的樣本只有一個或者很少個,此時它的信息增益將很高,ID3會認爲這個屬性很適合劃分,但實際情況下多屬性的取值會使模型的泛化能力較差;

C4.5不採用信息增益作爲劃分依據,而是採用信息增益率作爲劃分依據。但是仍不能完全解決以上問題,而是有所改善;

CART樹使用gini係數(基尼指數)作爲節點的分裂依據。

10、L1和L2正則化的區別

L1是模型各個參數的絕對值之和,L2爲各個參數平方和的開方值;L1更趨向於產生少量的特徵,其它特徵爲0,最優的參數值很大概率出現在座標軸上,從而導致產生稀疏的權重矩陣,而L2會選擇更多的矩陣,但是這些矩陣趨向於0。

11、損失函數(Loss Function)都有哪些

均方誤差損失,交叉熵損失,Hinge損失(SVM),殘差損失(CART迴歸樹)

12、K-means算法

K-means算法流程:從數據集中隨機選擇k個聚類樣本作爲初始的聚類中心,然後計算數據集中每個樣本到這k個聚類中心的距離,並將此樣本分到距離最小的聚類中心所對應的類中。將所有樣本歸類後,對於每個類別重新計算每個類別的聚類中心即每個類中所有樣本的質心,重複以上操作直到聚類中心不變爲止。

K-means算法存在的缺點:k-means是局部最優的,容易受到初始質心的影響;k值的選取也會直接影響聚類結果,最優聚類的k值應與樣本數據本身的結構信息相吻合。

K-means算法中K值得確定:由於K-means一般作爲數據預處理,或者用於輔助分類貼標籤,所以k一般不會設置很大。可以通過枚舉,令k從2到一個固定值如10,在每個k值上重複運行數次k-means(避免局部最優解),並計算當前k的平均輪廓係數,最後選取輪廓係數最大的值對應的k作爲最終的集羣數目。

13、LDA的原理

LDA是一種基於有監督學習的降維方式,將數據集在低維度的空間進行投影,要使得投影后的同類別的數據點間的距離儘可能的靠近,而不同類別間的數據點的距離儘可能的遠。

14、DBSCAN聚類算法

DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一種基於密度的空間聚類算法。

15、推薦算法

協同過濾推薦算法(Collaborative Filtering Recommendation):itemCF,userCF;內容推薦算法,相似性推薦算法,關聯規則推薦算法。

16、Bagging和Boosting的區別

Bagging:Random Forest;Boosting:AdaBoost,GBDT,XGBoost

(1)樣本選擇:Bagging:訓練集是在原始集中有放回選取的,從原始集中選出的各輪訓練集之間是獨立的。Boosting:每一輪的訓練集不變,只是訓練集中每個樣例在分類器中的權重發生變化。而權值是根據上一輪的分類結果進行調整。

(2)樣本權重:Bagging:使用均勻取樣,每個樣本的權重相等。Boosting:根據錯誤率不斷調整樣本的權值,錯誤率越大則權重越大。

(3)預測函數:Bagging:所有預測函數的權重相等。Boosting:每個弱分類器都有相應的權重,對於分類誤差小的分類器會有更大的權重。

(4)並行計算:Bagging:各個預測函數可以並行生成。Boosting:各個預測函數只能順序生成,因爲後一個模型參數需要前一輪模型的結果。

17、Adaboost,GBDT ,XGBoost和LightGBM的區別

18、XGBoost原理以及特徵重要性計算

19、LightGBM的優勢

20、HMM隱馬爾可夫模型的參數估計方法

期望最大化(Expectation-Maximum,EM)算法

21、Bootstrap方法

從一個數據集中有放回的抽取N次,每次抽M個,Bagging算法基於Bootstrap

22、防止模型過擬合的方法

(1)早停法(Early Stopping);(2)L1和L2正則化(在模型中添加懲罰函數來防止過擬合);(3)神經網絡的Dropout;(4)決策樹剪枝;(5)SVM的鬆弛變量;(6)增加訓練樣本

23、正負樣本不平衡怎麼處理,用什麼評價指標

24、特徵工程相關問題

 

二、深度學習知識點

1、RNN,LSTM和GRU的結構圖、原理及計算公式

2、Dropout

在神經網絡的訓練過程中,對於神經單元按一定的概率將其隨機從網絡中丟棄,從而達到對於每個mini-batch都是在訓練不同網絡的效果,防止過擬合。

3、神經網絡激活函數的種類,圖像,特點,區別和優缺點等

sigmoid,tanh,relu

Relu相比於sigmoid的優點:Sigmoid的導數只有在0的附近時有比較好的激活性,在正負飽和區域的梯度都接近0,會導致梯度彌散。而relu函數在大於0的部分梯度爲常數,不會產生梯度彌散現象。Relu函數在負半區導數爲0,也就是說這個神經元不會經歷訓練,就是所謂稀疏性;而且relu函數的導數計算的更快。

4、Batch Normalization的作用

神經網絡在訓練的時候隨着網絡層數的加深,激活函數的輸入值的整體分佈逐漸往激活函數的取值區間上下限靠近,從而導致在反向傳播時低層的神經網絡的梯度消失。

BN層的作用是把一個batch內的所有數據,從不規範的分佈拉到正態分佈。這樣做的好處是使得數據能夠分佈在激活函數的敏感區域,敏感區域即爲梯度較大的區域,因此在反向傳播的時候能夠較快反饋誤差傳播從而使梯度變大加快學習收斂速度避免梯度消失的問題。

5、梯度消失

在神經網絡中,當前面隱藏層的學習速率低於後面隱藏層的學習速率,即隨着隱藏層數目的增加,分類準確率反而下降了,這種現象叫做消失的梯度問題。

7、訓練過程中,若一個模型不收斂,那麼是否說明這個模型無效,導致模型不收斂的原因有哪些

並不能說明這個模型無效。

導致模型不收斂的原因可能有數據分類的標註不準確;樣本的信息量太大導致模型不足以擬合整個樣本空;學習率設置的太大容易產生震,太小會導致不收斂;可能複雜的分類任務用了簡單的模型;數據沒有進行歸一化的操作。

8、圖像處理中的銳化和平滑

銳化就是通過增強高頻分量來減少圖像中的模糊,在增強圖像邊緣的同時也增加了圖像的噪聲;平滑與銳化相反,過濾掉高頻分量,減少圖像的噪聲使圖片變得模糊。

9、DropConnect原理

防止過擬合方法的一種,與dropout不同的是它不是按概率將隱藏層的節點輸出清0,而是對每個節點與之相連的輸入權值以一定的概率清0。

10、Attention機制及作用

作用:減少處理高維輸入數據的計算負擔,結構化的選取輸入的子集,從而降低數據的維度。讓系統更加容易的找到輸入的數據中與當前輸出信息相關的有用信息,從而提高輸出的質量。幫助類似於decoder這樣的模型框架更好的學到多種內容模態之間的相互關係。

11、Adam

Adam 算法和傳統的隨機梯度下降不同。隨機梯度下降保持單一的學習率(即 alpha)更新所有的權重,學習率在訓練過程中並不會改變。而 Adam 通過計算梯度的一階矩估計和二階矩估計而爲不同的參數設計獨立的自適應性學習率。

12、LSTM和GRU可以解決RNN的梯度消失問題

RNN由於網絡較深,後面層的輸出誤差很難影響到前面層的計算,RNN的某一單元主要受它附近單元的影響。而LSTM因爲可以通過閥門記憶一些長期的信息,相應的也就保留了更多的梯度。而GRU也可通過重置和更新兩個閥門保留長期的記憶,也相對解決了梯度消失的問題。

13、GAN(Generative adversarial network)生成對抗網絡的思想

GAN用一個生成模型和一個判別模型,判別模型用於判斷給定的圖片是不是真實的圖片,生成模型自己生成一張圖片和想要的圖片很像,開始時兩個模型都沒有訓練,然後兩個模型一起進行對抗訓練,生成模型產生圖片去欺騙判別模型,判別模型去判別真假,最終兩個模型在訓練過程中,能力越來越強最終達到穩態。

14、Seq2seq模型

Seq2seq屬於encoder-decoder結構的一種,利用兩個RNN,一個作爲encoder一個作爲decoder。Encoder負責將輸入序列壓縮成指定長度的向量,這個向量可以看作這段序列的語義,而decoder負責根據語義向量生成指定的序列。

15、神經網絡用過哪些優化器(Optimizer)

SGD(隨機梯度下降),BGD(批量梯度下降),MBGD(小批量梯度下降),Momentum,Nesterov,Adagrad,RMSprop,Adadelta,Adam

16、傳統數字圖像處理常用方法

(1)圖像變換:由於圖像陣列很大,直接在空間域中進行處理,涉及計算量很大。因此,往往採用各種圖像變換的方法,如傅立葉變換、沃爾什變換、離散餘弦變換等間接處理技術,將空間域的處理轉換爲變換域處理,不僅可減少計算量,而且可獲得更有效的處理(如傅立葉變換可在頻域中進行數字濾波處理)。目前新興研究的小波變換在時域和頻域中都具有良好的局部化特性,它在圖像處理中也有着廣泛而有效的應用。

(2)圖像編碼壓縮:圖像編碼壓縮技術可減少描述圖像的數據量(即比特數),以便節省圖像傳輸、處理時間和減少所佔用的存儲器容量。壓縮可以在不失真的前提下獲得,也可以在允許的失真條件下進行。編碼是壓縮技術中最重要的方法,它在圖像處理技術中是發展最早且比較成熟的技術。

(3)圖像增強和復原:圖像增強和復原的目的是爲了提高圖像的質量,如去除噪聲,提高圖像的清晰度等。圖像增強不考慮圖像降質的原因,突出圖像中所感興趣的部分。如強化圖像高頻分量,可使圖像中物體輪廓清晰,細節明顯;如強化低頻分量可減少圖像中噪聲影響。圖像復原要求對圖像降質的原因有一定的瞭解,一般講應根據降質過程建立“降質模型”,再採用某種濾波方法,恢復或重建原來的圖像。

(4)圖像分割:圖像分割是數字圖像處理中的關鍵技術之一。圖像分割是將圖像中有意義的特徵部分提取出來,其有意義的特徵有圖像中的邊緣、區域等,這是進一步進行圖像識別、分析和理解的基礎。雖然目前已研究出不少邊緣提取、區域分割的方法,但還沒有一種普遍適用於各種圖像的有效方法。因此,對圖像分割的研究還在不斷深入之中,是目前圖像處理中研究的熱點之一。

(5)圖像描述:圖像描述是圖像識別和理解的必要前提。作爲最簡單的二值圖像可採用其幾何特性描述物體的特性,一般圖像的描述方法採用二維形狀描述,它有邊界描述和區域描述兩類方法。對於特殊的紋理圖像可採用二維紋理特徵描述。隨着圖像處理研究的深入發展,已經開始進行三維物體描述的研究,提出了體積描述、表面描述、廣義圓柱體描述等方法。

(6)圖像分類(識別):圖像分類(識別)屬於模式識別的範疇,其主要內容是圖像經過某些預處理(增強、復原、壓縮)後,進行圖像分割和特徵提取,從而進行判決分類。圖像分類常採用經典的模式識別方法,有統計模式分類和句法(結構)模式分類,近年來新發展起來的模糊模式識別和人工神經網絡模式分類在圖像識別中也越來越受到重視。

17、圖像的頻率,低頻,高頻以及圖像補全方法

圖像的頻率:灰度值變化劇烈程度的指標,是灰度在平面空間上的梯度。

低頻:低頻就是顏色緩慢地變化,也就是灰度緩慢地變化,就代表着那是連續漸變的一塊區域,這部分就是低頻。對於一幅圖像來說,除去高頻的就是低頻了,也就是邊緣以內的內容爲低頻,而邊緣內的內容就是圖像的大部分信息,即圖像的大致概貌和輪廓,是圖像的近似信息。

高頻:高頻就是頻率變化快。圖像中什麼時候灰度變化快?就是相鄰區域之間灰度相差很大,這就是變化得快。圖像中,一個影像與背景的邊緣部位,通常會有明顯的差別,也就是說變化那條邊線那裏,灰度變化很快,也即是變化頻率高的部位。因此,圖像邊緣的灰度值變化快,就對應着頻率高,即高頻顯示圖像邊緣。圖像的細節處也是屬於灰度值急劇變化的區域,正是因爲灰度值的急劇變化,纔會出現細節。

圖像補全:Region Filling and Object Removal by Exemplar-Based Image Inpainting

18、TensorFlow的工作原理

Tensorflow是用數據流圖來進行數值計算的,而數據流圖是描述有向圖的數值計算過程。在有向圖中,節點表示爲數學運算,邊表示傳輸多維數據,節點也可以被分配到計算設備上從而並行的執行操作。

19、手寫一下TensorFlow的二分類代碼

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章