機器學習面試題目

過擬合原因
數據:數據不規範,數據量少,數據穿越,統計特徵用到了未來的信息或者標籤信息
算法:算法過於複雜
解決:
1、將數據規範化,處理缺失值,增加數據量,採樣,添加噪聲數據
2、正則化,控制模型複雜程度,
3、early stoping,減少迭代次數,減少樹的深度,
4、學習率調大/小點、
5、融合幾個模型

L1和L2的區別
1、L1是Lasso Regression,表示向量中每個元素絕對值的和:L1範數的解通常是稀疏性的,傾向於選擇數目較少的一些非常大的值或者數目較多的insignificant的小值。
2、L2是嶺迴歸,Ridge Regression,是歐氏距離也就是平方和的平方根。L2範數越小,可以使得w的每個元素都很小,接近於0,但L1範數不同的是他不會讓它等於0而是接近於0。
3、L1正則化的w可取的值是轉置的方形,L2對應的是圓形。這樣損失函數l(w)的最小值更容易在L1對應的邊角上取得,從而這些維度變成0了。
從貝葉斯的角度來看,加入正則項相當於加入了一種先驗。即當訓練一個模型時,僅依靠當前的訓練數據集是不夠的,爲了實現更好的泛化能力,往往需要加入先驗項。
L1範數相當於加入了一個Laplacean先驗;
L2範數相當於加入了一個Gaussian先驗。
4、L2對大數的懲罰更大,但是解相對來說比較均勻。

生成模型和判別模型區別
對於輸入x,類別標籤y:
生成式模型估計它們的聯合概率分佈P(x,y)
Gaussians、Naive Bayes、Mixtures of Multinomials
Mixtures of Gaussians、Mixtures of Experts、HMMs
Sigmoidal Belief Networks, Bayesian Networks、Markov Random Fields
Latent Dirichlet Allocation

判別式模型估計條件概率分佈P(y|x)
Logistic Regression、SVM、Traditional Neural Networks、Nearest Neighbor、
CRF、Boosting、Linear Regression

svm算法的原理、如何組織訓練數據、如何調節懲罰因子、如何防止過擬合、svm的泛化能力、增量學習
1、SVM是一種二類分類的模型,它的基本模型是在特徵空間中尋找間隔最大化的分離超平面的線性分類器。
2、
3、懲罰因子C決定了你有多重視離羣點帶來的損失,顯然當所有離羣點的鬆弛變量的和一定時,你定的C越大,對目標函數的損失也越大,此時就暗示着你非常不願意放棄這些離羣點,最極端的情況是你把C定爲無限大,這樣只要稍有一個點離羣,目標函數的值馬上變成無限大,馬上讓問題變成無解,這就退化成了硬間隔問題。
懲罰因子C不是一個變量,整個優化問題在解的時候,C是一個你必須事先指定的值,指定這個值以後,解一下,得到一個分類器,然後用測試數據看看結果怎麼樣,如果不夠好,換一個C的值,再解一次優化問題,得到另一個分類器,再看看效果,如此就是一個參數尋優的過程,但這和優化問題本身決不是一回事,優化問題在解的過程中,C一直是定值,要記住。
4、解決過擬合的辦法是爲SVM引入了鬆弛變量ξ(slack variable),將SVM公式的約束條件改爲。因爲鬆弛變量能夠容忍異常點的存在,我們的支持向量和超平面都不會受到它的影響。
我們加上鬆弛變量的平方和,並求最小值。這樣就達到一個平衡:既希望鬆弛變量存在以解決異常點問題,又不希望鬆弛變量太大導致分類解決太差。
LR和SVM的聯繫與區別:
聯繫:
1、LR和SVM都可以處理分類問題,且一般都用於處理線性二分類問題(在改進的情況下可以處理多分類問題)
2、兩個方法都可以增加不同的正則化項,如l1、l2等等。所以在很多實驗中,兩種算法的結果是很接近的。
區別:
1、LR是參數模型,SVM是非參數模型。
2、從目標函數來看,區別在於邏輯迴歸採用的是logistical loss,SVM採用的是hinge loss.這兩個損失函數的目的都是增加對分類影響較大的數據點的權重,減少與分類關係較小的數據點的權重。
3、SVM的處理方法是隻考慮support vectors,也就是和分類最相關的少數點,去學習分類器。而邏輯迴歸通過非線性映射,大大減小了離分類平面較遠的點的權重,相對提升了與分類最相關的數據點的權重。
4、邏輯迴歸相對來說模型更簡單,好理解,特別是大規模線性分類時比較方便。而SVM的理解和優化相對來說複雜一些,SVM轉化爲對偶問題後,分類只需要計算與少數幾個支持向量的距離,這個在進行復雜核函數計算時優勢很明顯,能夠大大簡化模型和計算。
5、logic 能做的 svm能做,但可能在準確率上有問題,svm能做的logic有的做不了。

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