機器學習常見面試知識點梳理 第一期

機器學習與數據挖掘的區別

機器學習是指在沒有明確的程序指令的情況下,給予計算機學習能力,使它能自主的學習、設計和擴展相關算法。數據挖掘則是一種非結構化數據裡面提取知識或者未知的、人們感興趣的圖片。在這個過程中應用了機器學習算法。

機器學習常見面試知識點梳理 第一期

有監督學習和無監督學習的區別

有監督學習:對具有標記的訓練樣本進行學習,以儘可能對訓練樣本集外的數據進行分類預測。

無監督學習:對未標記的樣本進行訓練學習,以發現這樣樣本中的結構知識。

簡要介紹下 SVM

SVM,全稱是 support vector machine,中文名叫支持向量機,它的目標是為確定一個分類超平面,從而將不同的數據分隔開。

機器學習常見面試知識點梳理 第一期

過擬合

如果一味的去提高訓練數據的預測能力,所選模型的複雜度往往會很高,這種現象稱為過擬合。所表現的就是模型訓練時候的誤差很小,但在測試的時候誤差很大。一般過擬合產生的原因是:

  • 因為參數太多,會導致我們的模型複雜度上升,容易過擬合。

  • 權值學習迭代次數足夠多,擬合了訓練數據中的噪聲和訓練樣本樣例中沒有代表的特徵。

正則化

正則化是針對過擬合而提出的,以前在求解模型最優的是一般只優化最小經驗風險,現在在該經驗風險上加入模型複雜度這一項(正則化項是模型參數向量的範數),並使用一個 rate 比率經驗來權衡模型複雜度與以往經驗風險的權重,如果模型複雜度越高,結構化的經驗風險會越大,現在的目標就變為了結構經驗風險的最優化,可以防止模型訓練過度複雜,有效的降低擬合的風險。

GBDT 和 XGBoost 的區別

XGBoost 類似於 GBDT 的優化版,不論是精度還是效率上都有了提升。與 GBDT 相比,具體的優點有:

  • 損失函數是用泰勒展式二項逼近的,而不是像 GBDT 裡的就是一階導數

  • 對樹的結構進行了正則化的約束,防止模型過度複雜,降低了過擬合的可能性

  • 節點分裂的方式不同,GBDT 是用的 GINI 係數,XGBoost 是經過優化推導後的

機器學習常見面試知識點梳理 第一期

生成模型和判別模型

  • 生成模型:由數據學習聯合概率分佈 P(X, Y),然後求出條件概率分佈 P(Y|X) 作為預測的模型,即生成模型:P(Y|X) = P(X,Y) / P(X)。生成模型可以還原聯合概率分佈 P(X, Y),並且有較快的學習收斂速度,還可以用於隱變量的學習。

  • 判別模型:由數據直接學習決策函數 Y = f(X) 或者條件概率分佈 P(Y|X) 作為預測的模型,即判別模型,如 k 近鄰、決策樹。直接面對預測,往往準確率較高,直接對數據在各種程度上的抽象,所以可以簡化模型。

L1 和 L2 正則的區別,如何選擇 L1 和 L2 正則

  • L1 是在損失函數後面加上模型參數的1範數(也就是 |Xi|)

  • L2 是在損失函數後面加上模型參數的2範數(也就是 sigma(Xi^2) ),注意 L2 範數的定義是 sqrt(sigma(Xi^2)),在正則項上沒有添加sqrt根號是為了更加容易優化

  • L1 會產生稀疏的特徵

  • L2 會產生更多的特徵但是都會接近於 0

  • L1 會趨向於產生少量的特徵,而其他的特徵都是 0,而 L2 會選擇更多的特徵,這些特徵都會接近於 0。L1 在特徵選擇時候非常有用,而 L2 就只是一種規則化而已。

協方差和相關性的區別

相關性是協方差的標準化格式。協方差本身是很難做比較的。

例如:如果我們計算工資和年齡的協方差,因為這兩個變量有不同的度量,所以他們會得到不能做比較的不同協方差。

為了解決這個問題,我們計算相關性來得到一個介於 -1 和 1 之間的值,就可以忽略它們各自不同的度量。

Gradient Boosting 算法(GBM)和隨機森林都是基於樹的算法,它們有什麼區別

最根本的區別是,隨機森林算法使用 bagging 技術做出預測;而 GBM 是採用 boosting 技術做預測的。在 bagging 技術中,數據集用隨機採樣的方法被劃分成 n 個樣本。然後,使用單一的學習算法,在所有樣本上建模。接著利用投票或者求平均來組合所得到的預測。

bagging 是平行進行的,而 boosting 是在第一輪的預測之後,算法將分類出錯的預測加高權重,使得它們可以在後續一輪中得到校正。這種給予分類出錯的預測高權重的順序過程持續進行,一直達到停止標準為止。

隨機森林通過減少方差(主要方式)提高模型的精度。生成樹之間是不相關的,以把方差的減少最大化。在另一方面,GBM 提高了精度,同時減少了模型的偏差和方差。

機器學習常見面試知識點梳理 第一期

在 k-means 或 kNN ,我們是用歐式距離來計算最近的鄰居之間的距離,為什麼不使用曼哈頓距離

我們不用曼哈頓距離,因為它只計算水平或垂直距離,有維度的限制。另一方面,歐式距離可用於任何空間的距離計算問題。因為,數據點可以存在與任何空間,歐式距離是更可行的選擇。

例如:想象一下國際象棋棋盤,象或車所做的移動是由曼哈頓距離計算的,因為它們是在各自的水平和垂直方向做的運動。

為什麼樸素貝葉斯如此“樸素”

因為它假定所有的特徵在數據集中的作用是同樣重要和獨立的。正如我們所知,這個假設在現實世界中是很不真實的,因此,說樸素貝葉斯真的很“樸素”。

談談 LR 和 SVM 的聯繫與區別

相同點:

  • LR 和 SVM 都可以處理分類問題,且一般都用於處理線性二分類問題

  • 兩個方法都可以增加不同的正則化項如 L1、L2 等等。所以在很多實驗中,兩種算法的結果是很接近的。

不同點:

  • LR 是參數模型,SVM 是非參數模型。

  • 從目標函數來看,區別在與邏輯迴歸採用的是 logistical loss,SVM 採用的是 hinge loss,這兩個損失函數的目的都是增加對分類影響較大的數據點的權重,減少與分類關係較小的數據點的權重。

  • SVM 的處理方法是隻考慮 support vectors,也就是和分類最相關的少數點,去學習分類器。而邏輯迴歸通過非線性映射,大大減小了離分類平面較遠的點的權重,相對提升了與分類最相關的數據點的權重。

  • 邏輯迴歸相對來說模型更簡單,好理解,特別是大規模線性分類時比較方便。而 SVM 的理解和優化相對來說複雜一些,SVM 轉化為對偶問題後,分類只需要計算與少數幾個支持向量的距離,這個在進行復雜核函數計算時優勢很明顯,能夠大大簡化模型和計算。

  • logic 能做的 SVM 能做,但可能在準確率上有問題,SVM 能做的 logic 有的做不了。

機器學習常見面試知識點梳理 第一期

線性分類器與非線性分類器的區別以及優劣

如果模型是參數的線性函數,並且存在線性分類面,那麼就是線性分類器,否則不是。

常見的線性分類器有:LR、貝葉斯分類、單層感知機、線性迴歸

常見的非線性分類器有:決策樹、RF、GBDT、多層感知機

  • 線性分類器速度快、編程方便,但是可能擬合效果不會很好

  • 非線性分類器編程複雜,但是效果擬合能力強

  • 當特徵比數據量還大時,選擇線性分類器,因為維度高的時候數據一般在維度空間裡面會比較稀疏,很有可能線性可分

  • 對於維度極低的特徵,選擇非線性分類器,因為低緯空間可能很多特徵都跑到一起了,導致線性不可分


分享到:


相關文章: