福利網站!程序員面試——算法工程師面試大全第一部分

1. SGD,Momentum,Adagard,Adam 原理

SGD 爲隨機梯度下降,每一次迭代計算數據集的 mini-batch 的梯度,然後對參數進行跟新.

Momentum 參考了物理中動量的概念,前幾次的梯度也會參與到當前的計算中,但是前幾輪的 梯度疊加在當前計算中會有一定的衰減.

Adagard 在訓練的過程中可以自動變更學習的速率,設置一個全局的學習率,而實際的學習 率與以往的參數模和的開方成反比.

Adam 利用梯度的一階矩估計和二階矩估計動態調整每個參數的學習率,在經過偏置的校正 後,每一次迭代後的學習率都有個確定的範圍,使得參數較爲平穩.

 

2.L1 不可導的時候該怎麼辦

當損失函數不可導,梯度下降不再有效,可以使用座標軸下降法,梯度下降是沿着 當前點的負梯度方向進行參數更新,而座標軸下降法是沿着座標軸的方向,假設有 m 個特徵個數, 座標軸下降法進參數更新的時候,先固定 m-1 個值,然後再求另外一個的局部最優解,從而避免損 失函數不可導問題. 使用 Proximal Algorithm 對 L1 進行求解,此方法是去優化損失函數上界結果.

 

3.sigmoid 函數特性

定義域爲( − ∞, + ∞)

值域爲(-1,1)

函數在定義域內爲連續和光滑的函數 處處可導,

導數爲݂

 

4.切比雪夫不等式

 

5.最大似然估計和最大後驗概率的區別?

最大似然估計提供了一種給定觀察數據來評估模型參數的方法,而最大似然估計中的採樣滿 足所有采樣都是獨立同分布的假設.最大後驗概率是根據經驗數據獲難以觀察量的點估計,與最大似然估計最大的不同是最大後驗概率融入了要估計量的先驗分佈在其中,所以最大後驗概率可 以看做規則化的最大似然估計. 

 

6.概率和似然的區別

概率是指在給定參數θ的情況下,樣本的隨機向量 X=x 的可能性.而似然表示的是在給定樣 本 X=x 的情況下,參數θ爲真實值的可能性.一般情況,對隨機變量的取值用概率表示.而在非貝葉斯統計的情況下,參數爲一個實數而不是隨機變量,一般用似然來表示.

 

7.頻率學派和貝葉斯學派的區別

頻率派認爲抽樣是無限的,在無限的抽樣中,對於決策的規則可以很精確.貝葉斯派認爲世界 無時無刻不在改變,未知的變量和事件都有一定的概率,即後驗概率是先驗概率的修正.頻率派認爲模型參數是固定的,一個模型在無數次抽樣後,參數是不變的.而貝葉斯學派認爲數據纔是固定的而參數並不是.頻率派認爲模型不存在先驗而貝葉斯派認爲模型存在先驗.

 

8.Lasso 的損失函數

 

9.Sfit 特徵提取和匹配的具體步驟

生成高斯差分金字塔,尺度空間構建,空間極值點檢測,穩定關鍵點的精確定位,穩定關鍵點,方向信息分配,關鍵點描述,特徵點匹配 

 

10.歐拉公式

 

11.矩陣正定性的判斷,Hessian 矩陣正定性在梯度下降中的應用

若矩陣所有特徵值均不小於 0,則判定爲半正定.若矩陣所有特徵值均大於 0,則判定爲正定. 在判斷優化算法的可行性時Hessian矩陣的正定性起到了很大的作用,若Hessian正定,則函數的 二階偏導恆大於 0,函數的變化率處於遞增狀態,在牛頓法等梯度下降的方法中,Hessian 矩陣的 正定性可以很容易的判斷函數是否可收斂到局部或全局最優解.

 

12.講一下 PCA

PCA 是比較常見的線性降維方法,通過線性投影將高維數據映射到低維數據中,所期望的是在投影的維度上,新特徵自身的方差儘量大,方差越大特徵越有效,儘量使產生的新特徵間的相關性越小.PCA 算法的具體操作爲對所有的樣本進行中心化操作,計算樣本的協方差矩陣,然後對協方差矩陣做特徵值分解,取最大的 n 個特徵值對應的特徵向量構造投影矩陣.

 

13.擬牛頓法的原理

牛頓法的收斂速度快,迭代次數少,但是 Hessian 矩陣很稠密時,每次迭代的計算量很大,隨 着數據規模增大,Hessian 矩陣也會變大,需要更多的存儲空間以及計算量.擬牛頓法就是在牛頓 法的基礎上引入了Hessian矩陣的近似矩陣,避免了每次都計算Hessian矩陣的逆,在擬牛頓法中, 用Hessian矩陣的逆矩陣來代替Hessian矩陣,雖然不能像牛頓法那樣保證最優化的方向,但其逆 矩陣始終是正定的,因此算法始終朝最優化的方向搜索.

 

14.交叉熵公式

交叉熵:設 p(x),q(x)是 X 中取值的兩個概率分佈,則 p 對 q 的相對熵是:

在一定程度上,相對熵可以度量兩個隨機變量的“距離”,且有 D(p||q) ≠D(q||p).另外, 值得一提的是,D(p||q)是必然大於等於 0 的.

互信息:兩個隨機變量 X,Y 的互信息定義爲 X,Y 的聯合分佈和各自獨立分佈乘積的相對熵, 用 I(X,Y)表示:

且有 I(X,Y)=D(P(X,Y)||P(X)P(Y)).下面,咱們來計算下 H(Y)-I(X,Y)的結果,如下: 

 

15.LR 公式

邏輯迴歸本質上是線性迴歸,只是在特徵到結果的映射中加入了一層邏輯函數 g(z),即先 把特徵線性求和,然後使用函數 g(z)作爲假設函數來預測.g(z)可以將連續值映射到 0 和 1. g(z)爲 sigmoid function.

sigmoid function 的導數如下:

 

 邏輯迴歸用來分類 0/1 問題,也就是預測結果屬於 0 或者 1 的二值分類問題.這裏假設了 二值滿足伯努利分佈,也就是

其也可以寫成如下的形式:

對於訓練數據集,特徵數據 x={x1, x2, … , xm}和對應的分類標籤 y={y1, y2, … , ym}, 假設 m 個樣本是相互獨立的,那麼,極大似然函數爲:

log 似然爲:

如何使其最大呢?與線性迴歸類似,我們使用梯度上升的方法(求最小使用梯度下降),那 麼 

 如果只用一個訓練樣例(x,y),採用隨機梯度上升規則,那麼隨機梯度上升更新規則爲:

 

 

 

 

 

 

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