2018 年大疆機器學習演算法工程師春季提前批筆試題

2018 年大疆機器學習演算法工程師春季提前批筆試題

來自專欄深度學習11 人贊了文章

前不久參加了一次大疆公司的 2018 年春季提前批機器學習演算法崗的筆試,發現自己的相關基礎知識的確還不是很紮實,特此分享一些事後還記憶深刻的題目,給大家作為一個參考。話說,相比控制演算法、導航演算法、相機演算法等相關演算法工程師崗位,機器學習演算法的崗位可不是一般的火爆,單這一個崗位的面試人數就足以碾壓其他所有崗位的人數之和!

一、單項選擇題

1. 考察SVM 分類和深度學習邏輯回歸分類的區別

B. SVM 只能應用於線性分類

錯誤,SVM 可以應用於線性分類和非線性分類問題,取決於核函數的選取。

C. SVM 是凸問題,深度學習都是非凸問題

正確,深度學習演算法的目標函數,幾乎全都是非凸的。

2. 考察 L1 和 L2 正則化的區別

L0 範數:向量中非0元素的個數。

L1 範數 (Lasso Regularization):向量中各個元素絕對值的和。

L2 範數(Ridge Regression):向量中各元素平方和再求平方根。

L0 範數和 L1 範數都能夠達到使參數稀疏的目的,但 L0 範數更難優化求解,L1 範數是 L0 範數的最優凸近似,而且它比 L0 範數要容易優化求解。

L2 範數不但可以防止過擬合,提高模型的泛化能力,還可以讓我們的優化求解變得穩定和快速。L2 範數對大數和 outlier 更敏感!

3. 考察 SVM 決策邊界

四個點坐標為(1,1),(1,0),(-1,-1),(-1,0),用 SVM 分類的決策邊界是

A. y = x

B. x = 0

C. y = -x

D. y = 0

SVM 是一種優化的分類演算法,其動機是尋找一個最佳的決策邊界,使得從決策邊界與各組數據之間存在 margin ,並且需要使各側的 margin 最大化。本題目四個選項的 margin 分別為 0, 1, 0.707, 0,因此選擇 B。

二、多項選擇題

1. 無監督學習方法

強化學習、K-means 聚類、自編碼、受限波爾茲曼機等

2. 增大感受野方法

dilated 卷積(空洞卷積)、池化、增大卷積核

3. 正則化方法

B. 減少神經網路層數

錯誤,減少網路層數實際上是減弱了網路的擬合能力

C. 減小權重衰減參數

錯誤,應該是增大權重衰減係數,類似於 L2 正則化係數的作用

三、填空題

1. 經過下列卷積操作後,3×3 conv -> 3×3 conv -> 2×2 maxpool -> 3×3 conv,卷積步長為 1,沒有填充,輸出神經元的感受野是多大?

2. 100×100×3,3×3 卷積核,輸出是 50×50×10,算進行了多少次乘-加操作?

輸出的每個像素點都要經過 3×3×3 = 27 次乘-加操作,因此總共需要進行 50×50×10×27 次乘-加操作。

四、簡答題

1. 簡述梯度下降法和牛頓法的優缺點?

隨機梯度下降法:適用於樣本量大的情況,需要內存小;但每一步可能並不是向著最優解方向 ;

牛頓法:收斂速度快;但對目標函數有嚴格要求,必須有連續的一、二階偏導數,計算量大。

2. 正樣本 10000,負樣本 1000,怎樣訓練?

正負樣本懸殊具體數據記不太清楚了,異常檢測演算法(高斯分布演算法),可以適用於異常(也就是負樣本)比較少的情況。

3. Relu 相對於 sigmoid 函數的優缺點?

優點:分段線性,梯度較大,收斂速度快;Relu 會使一部分神經元的輸出為 0,會造成了網路的稀疏性;

缺點:某些神經元可能永遠不會被激活,導致相應的參數永遠不能被更新。

4. 正則化方法?

數據增強(Data Augmentation)、L1 正則化、L2 正則化、 Dropout、Drop Connect 和早停(Early stop)。

5. 說出物體檢測、人臉識別、物體分割等某一領域的常見演算法,並用一兩句話簡述其中一種演算法的原理?

物體檢測:YOLO、R-CNN、Fast R-CNN、Faster R-CNN、Mask R-CNN、SSD 等;

YOLO 演算法直接利用一個卷積神經網路就輸出物體所在的位置以及所屬的類別,是一個端到端的系統,因此檢測速度特別快,可以達到實時性的要求。

五、編程題

1. 輸入序列 a, 判斷是否存在 i < j < k, 滿足 a[i] < a[k] < a[j],並寫出演算法複雜度?

思路:三個循環,在最內層循環進行一個判斷,演算法複雜度O(n^3)。

2. 輸入多邊形頂點坐標 List,判斷是否為凸多邊形(如果把一個多邊形的所有邊中,任意一條邊向兩方無限延長成為一直線時,其他各邊都在此直線的同旁,那麼這個多邊形就叫做凸多邊形)?

思路:遍歷所有相鄰頂點,以兩點坐標求得直線方程,判斷其餘頂點是否在直線同側。

以上的題目有些記得不是非常清楚,答案也僅代表個人的意見,只作為參考,同時也非常歡迎留言批評指正!

獲取更多精彩,請關注「seniusen」!

weixin.qq.com/r/PilRSSf (二維碼自動識別)

推薦閱讀:

年薪比髮際線還高的演算法工程師,是個什麼樣的存在?
專訪 | 3個月iOS轉崗NLP,收穫45萬年薪offer
怎樣成為一名優秀的演算法工程師
演算法工程師成長計劃

TAG:機器學習 | 數據挖掘 | 演算法工程師 |