機器學習面試筆記整理4 支援向量機

2021-09-14 03:42:06 字數 3119 閱讀 5777

基於合頁損失找到一條最佳分離邊界,能把最難分的點(支援向量)分得間隔最大。

優點:

1.泛化能力高

2.利用核技巧對非線性樣本分類

3.svm 的最終決策函式只由少數的支援向量所確定,計算的複雜性取決於支援向量的數目,而不是樣本空間的維數,可解決高維問題,這在某種意義上避免了「維數災難」。

4少數支援向量決定了最終結果,這不但可以幫助我們抓住關鍵樣本、「剔除」大量冗餘樣本,而且使得該演算法簡單且具有較好的「魯棒」性。

5.類別不平衡影響不大

缺點:

1.對非線性,很難找到合適核函式

2.解決多分類較麻煩

3.大規模樣本難以訓練,因為對偶計算中涉及矩陣運算,當樣本很大時,儲存和計算耗費計算機大量的記憶體和執行時間。

3.可解釋性弱

4.對缺失特徵資料敏感

如何定義這條曲線最佳?

hinge(合頁)損失最小

為什麼需要間隔最大化?

(1)svm演算法認為靠近決策邊界的點與決策邊界的距離最大時,是最好的分類選擇

(2) 因為「正中間」的劃分超平面對訓練樣本區域性擾動的「容忍性」好,分隔超平面所產生的分類結果是最魯棒的,對**樣本泛化能力最強;

(3)線性條件下,分類超平面的解唯一

svm的對偶原理?

把目標函式和約束全部融入乙個新的函式,即拉格朗日函式,原始問題就變成了乙個極大極小問題,min(w,b)->max(乘子a),再通過這個函式來尋找最優點。

為什麼要使用對偶?

(1) 數學層面上,求解更容易;

(2)分類效能上,自然引入核函式,可推廣到非線性問題上。

為什麼引入核函式?

線性不可分時,可將樣本從原始空間對映到乙個更高維的特徵空間,使得線性可分。

svm常見的核函式?

線性、多項式、高斯(靈活,易過擬合,需要樣本量大)、sigmod

什麼svm對缺失特徵資料敏感?

因為svm涉及距離度量,缺失資料若處理不好可能會導致分類效果差。svm沒有處理缺失值的策略(而決策樹,xgboost有)。

svm是用的是哪個庫?

sklearn實現的。採用sklearn.svm.svc設定的引數, sklearn.svm.svc(c=1.0, kernel=『rbf』, degree=3, gamma=『auto』, coef0=0.0, ……)

svm引數?

最重要的引數有2個:懲罰係數c

cc與gam

ma(=

1/σ2

)gamma(=1/σ2)

gamma(

=1/σ

2),c

cc類似於正則化中1/λ

1/λ1/

λ的作用。c

cc越大,說明越不能容忍出現誤差,越容易過擬合。σ

σσ越大,核函式越平滑,波動越小,對雜訊越不敏感,易欠擬合;σ

σσ越小,高斯分布長得又高又瘦, 會造成只會作用於支援向量樣本附近,對於未知樣本分類效果很差。

svm如何實現多分類?

(1) 訓練k個分類器,訓練時依次把某個類別的樣本歸為一類,其他剩餘的樣本歸為另一類,最後分類時,將未知樣本分類為具有最大分類函式值的那類;

(2) 訓練c(2,k)個分類器取多數

svm降低模型複雜度(過擬合)的方法?

給每個樣本引入鬆弛變數

svm做回歸svr?

一串連續數值向量a=(

x1,x

2,x3

,…xi

)a=(x_1,x_2,x_3,…x_i)

a=(x1​

,x2​

,x3​

,…xi

​)對應其函式值(y1

,y2,

y3…y

i)

(y_1,y_2,y_3…y_i)

(y1​,y

2​,y

3​…y

i​),將其翻轉後成為一列資料,類似svm的不同樣本,剩餘步驟和svm類似。只是svr希望大部分點在間隔內,間隔外的點會帶來損失,而svm希望大部分點在間隔兩邊。

函式間隔和幾何間隔區別?

函式間隔主要表示是否分類正確,可正可負;幾何間隔表示點到超平面的距離,只能為正。

svm與樹模型間的區別?

(1)svm可解釋性更弱;樹模型可解釋性好

(2)svm對缺失特徵資料敏感;樹模型對缺失特徵資料不敏感

(3)svm處理多分類問題麻煩

(4)svm對異常值不敏感;樹模型對異常值敏感

(5)svm泛化能力強;樹模型依賴訓練樣本集,對沒有出現的特徵沒有辦法

(6)svm適用於處理小樣本訓練集;樹模型可處理大樣本訓練資料集

lr與svm的區別:

(1)異常值:lr的目標是使得所有的點分類正確。所以lr會受到資料集中所有點的影響,當資料不均衡時,lr的效能會受到影響;而svm分類效能只會受到支援向量的影響,只要支援向量不變,類別不平衡影響不大;也就是,lr對異常值敏感。

(2)起作用點的範圍:lr模型盡量讓所有點都遠離超平面,而svm讓只考慮support vectors(最難劃分/最靠近中間分割線的那些點),也就是和分類最相關的少數點,盡量遠離超超平面,即只用到那些支援向量的樣本。也就是svm的約束來體現的

(3)loss:目標函式不一樣,lr對數似然損失函式,svm凸優化問題。

(4)非線性:處理非線性分類時,svm採用核函式更好更快,lr很少使用核函式

(5)linear svm依賴資料表達的距離測度,所以需要對資料先做normalization;lr不受其影響,但是如果要正則的話也要歸一化

(6)概率值:svm不能給出概率結果,lr可以產生概率,因此可做ranking

(7)svm的目標函式就自帶有約束正則(目標函式中的1/2

∣∣w∣

∣2

1/2||w||^2

1/2∣∣w

∣∣2項),這就是為什麼svm是泛化力更強的原因。而lr必須另外在損失函式上新增正則項。

(8)lr可解釋性更強

svm與感知機的區別

(1)解:svm基於間隔最大化,求得分類超平面,解是唯一,且分類結果最魯棒,泛化能力強;感知機基於誤分類最小策略,求得分離超平面,不唯一

(2)學習策略:感知機使用梯度下降;svm使用由約束條件構造拉格朗日函式,然後求偏導令其為0求得極值點。

機器學習筆記(二 支援向量機)

本次筆記基於mooc平台浙江大學的機器學習課程 對於乙個訓練樣本集,i 1 n,若存在 w,b 使得使得滿足下式,則是線性可分問題。要求這樣的乙個超平面 在二維平面中是一條直線 則要滿足以下公式 證明過程如下 首先要確認兩個事實,即 和 則可以根據線性可分問題的滿足式,用a來縮放 w,b 使得找到某...

深度學習筆記整理 1 2 2 支援向量機

1.支援向量機的目的 獲取乙個分類邊界,這個邊界可以最大化距離不同類別的最近點。這樣的邊界可以擁有更好的抗雜訊干擾性。2.限制 分類正確 margin min類別到邊界距離 於是,我們將這個問題轉化為了乙個maxmin的問題,並且我們的限制出現了不等式,於是需要kkt等演算法,將原問題轉化為其對偶問...

機器學習筆記 六 支援向量機

對於給定的訓練集d yi 分類學習的初衷就是基於訓練集在樣本空間中找到乙個可以有效劃分樣本的超平面。可能存在很多可將樣本分開的超平面,選擇分類結果最魯棒 泛化能力最強的超平面便是支援向量機模型的重點。通過二維樣本點分布的圖示看,最直觀上,找到兩類樣本正中間的超平面是最佳的。如此,在樣本空間中,劃分超...