1. 程式人生 > >機器學習資料探勘常見面試題,

機器學習資料探勘常見面試題,

上月就棄坑了,誰知道又投份簡歷讓我去面試,我是真的不想搞這些東西了,心累.

如何判斷函式是凸函式?

設f是定義域為實數的函式,如果定義域內對於所有的實數x,f的二階導大於等於0,稱f是凸函式。

當x是向量時,如果其海森矩陣A是半正定的(H>=0),f也是凸函式。

如果f的二階導大於0或者H>0,那麼稱f是嚴格凸函式。

反之,如果二階導小於0或者x是向量時,其海森矩陣小於0,f為凹函式

LR 與 SVM 的相同和不同

相同點

1都是分類演算法,都是監督學習演算法(有標籤),

2都是判別模型(不用計算聯合概率分佈的模型KNN、SVM、LR,生成模型先計算聯合概率p(Y,X)然後通過貝葉斯公式轉化為條件概率,樸素貝葉斯,隱馬爾可夫模型)

3廣為人之,且應用廣泛

不同點

1支援向量機只考慮超平面附近的點--支援向量,而邏輯迴歸考慮所有的資料(遠離的點對邊界線的確定也起作用)

2損失函式不同,LR用對數損失函式,SVM用合頁損失函式

3解決非線性問題,SVM引入核函式,而LR不解決非線性問題.因為LR所有點都參與決策,那麼計算量太大,而SVM只有少數的支援向量參與計算

4SVM要經過資料的歸一化,依賴於資料的距離測度,LR沒有這個問題

隨機森林和GBDT區別

1)隨機森林採用的bagging思想,而GBDT採用的boosting思想。
2)組成隨機森林的樹可以是分類樹,也可以是迴歸樹;而GBDT只能由迴歸樹組成。
3)組成隨機森林的樹可以並行生成;而GBDT只能是序列生成。
4)對於最終的輸出結果而言,隨機森林採用多數投票等;而GBDT則是將所有結果累加起來,或者加權累加起來。
5)隨機森林對異常值不敏感;GBDT對異常值非常敏感。
6)隨機森林對訓練集一視同仁;GBDT是基於權值的弱分類器的整合。
7)隨機森林是通過減少模型方差提高效能;GBDT是通過減少模型偏差提高效能。

方差與偏差:

偏差指的是演算法的期望預測與真實值之間的偏差程度,反映了模型本身的擬合能力;Bagging每個樣本上訓練出來的模型取平均值,減小了偏差,並行演算法有這種作用

方差度量了同等大小的訓練集的變動導致學習效能的變化,刻畫了資料擾動所導致的影響。Boosting是迭代演算法,每一次迭代都根據上一次迭代的預測結果對樣本進行加權,所以隨著迭代進行,誤差會越來越小,所以模型的 方差會不斷減小

如何進行特徵選擇?

特徵是否發散:如果一個特徵不發散,例如方差接近於0,也就是說樣本在這個特徵上基本上沒有差異,這個特徵對於樣本的區分並沒有什麼用。

特徵與目標的相關性:與目標相關性高的特徵,應該優先選擇。

根據特徵選擇的形式分為以下幾種:

Filter(過濾法):按照發散性或者相關性對各個特徵進行評分,設定閾值或者待選擇閾值的個數,選擇特徵。

Wrapper(包裝法):根據目標函式(通常是預測效果),每次選擇若干特徵,或者排除若干特徵。

Embedded(嵌入法):先使用某些機器學習的演算法和模型進行訓練,得到各個特徵的權值係數,根據係數從大到小選擇特徵。類似於Filter方法,但是是通過訓練來確定特徵的優劣。

聚類演算法中的距離度量有哪些

歐氏距離:可以簡單的描述為多維空間的點點之間的幾何距離

曼哈頓距離:如果歐式距離看成是多維空間物件點點的直線距離,那麼曼哈頓距離就是計算從一個物件到另一個物件所經過的折線距離

參考:  LR與SVM的異同  https://www.cnblogs.com/zhizhan/p/5038747.html

         RF和GBDT區別  https://blog.csdn.net/blank_tj/article/details/82453535

         方差與偏差 https://blog.csdn.net/zrh_CSDN/article/details/80934338

        特徵選擇   https://blog.csdn.net/datoutong_/article/details/78813233