SVM要點分析

2021-06-25 17:02:15 字數 2649 閱讀 5561

內容來自coursera 的machine learning課程:對其中的講解進行了一些梳理和小結,包含了其中optional的large margin classification的總結以及c值取值的分析。

1.假設 hypothesis:

2.代價函式 cost function :

與logistic regression不太一樣,由下圖中曲線所代表的logistic regression的cost function可以看出,無論是任何情況下,代價始終存在而非0。

在svm中,當y=1時,我們希望theta^t*x(其中theta^t表示theta的轉置)遠遠大於0,故可使用cost1(z)作為代價函式,當z>=1時,cost1(z)=0;

當y=0時,我們希望theta^t*x遠遠小於0,故可使用cost0(z)作為代價函式,當z<=-1時,cost0(z)=0;

svm的代價函式與logistic regression中的相比,去掉了對結果無影響的m,並用c取代了λ,相當於整個式子除以了λ,c=1/λ;

與logistic regression相比,svm能夠發現與樣本有最大間距的判定邊界,如下圖所示,綠色和洋紅色的線更接近於logistic regression得到的判定邊界,黑線則更接近於svm。

當c非常非常大時,我們會特別的希望引數theta可以使代價函式中的第一項為0,此時優化問題就等價於:

c同時也扮演了類似於1/λ的角色,c對svm的影響如下圖所示,其中左下角的紅色樣本看起來更像是異常值。

沒有左下角的點時,不管c值如何結果均如黑線所示。

加上左下角的點後,當c較大時,如洋紅色的線所示,對異常值較為敏感,高擬合,低偏差。當c較小時,如黑線所示,對異常值不敏感,低擬合,高偏差;

當c較小,且異常值不能用線性方法分類時,svm仍可做出正確的判斷:

4.(optional)svm為什麼是large margin classifier?

由於標準內積的代數定義與幾何定義等價,如下面兩式所示:

所以,可以將theta與x的標準內積可以看成x在theta上的投影p與theta長度的乘積:

當c非常大時,svm的優化問題為:

下面說明為什麼svm難以得到下圖中綠色的判定邊界。假設svm得到判定邊界如綠色的線所示,由theta與判定邊界垂直,則各樣本在在theta上的投影p值都較小,為了使p||theta||>=1或者<=-1,theta值就要很大。而梯度下降的目的正是為了減小代價函式的值,因此梯度下降的過程中會減小||theta||,與theta值很大形成矛盾。

為了簡便起見,將theta0設為0。(theta0不為零時分析方法類似,判定邊界不過原點。)

正是這個原因,svm會更趨向於形成下圖這樣的large margin。

5.核函式(kernels)

可解決無法用直線分隔的分類問題:

採用新特徵f代替x,

f可以根據需要自己確定。常用的高斯核函式(gaussian kernel)f由x和l的近似程度確定,其中l為預先選定的地標(landmarks)(如何選l?):

f1表示的x到l1的近似程度,其中similarity即為核函式:

跟高斯函式類似,x與l越接近,f的值越接近於1,;x與l越遠,f越接近於0;

σ值影響如下:

**的例子,theta值如圖中右下角所示,由下圖公式可知洋紅色點和綠色點的點**值為1,青色點**值為0:

l值的選擇如下圖所示。假設有m個訓練樣本,選擇m個l值,每個l值對應乙個x值。對於每個xi,並用核函式計算出與所有l值分別對應的值,構造出fi矩陣,由於xi=li,每個fi矩陣中第i項均為1。

6.c, delta引數的選擇

可以分別從一組資料,如0.01, 0.03, 0.1,0.3, 1, 3, 10, 30中選取c和delta的值,並用交叉驗證集找出**成功率最大時對應的c和delta值。

7.邏輯回歸,svm,神經網路的比較:

CSS相容要點分析

ie vs ff css 相容要點 doctype 影響 css 處理 ff div 設定 margin left,margin right 為 auto 時已經居中,ie 不行 ff body 設定 text align 時,div 需要設定 margin auto 主要是 margin left...

CRM操作要點分析

有些企業的客戶下單有明顯的季節性,如空調 電風扇等產品,帶有明顯的季節性,這時最好不要根據未交易時間確認,否則,客戶關係管理系統crm系統容易誤判。失去客戶的原因是什麼?許多企業對這個問題比較感興趣。是由於 方面的原因,還是由於客戶的投訴未及時處理,又或是交貨延遲等原因,crm則能夠自動收期這些資訊...

資料分析05 SVM

標籤 空格分隔 資料分析 svm 是有監督的學習模型,我們需要事先對資料打上分類標籤,通過求解最大分類間隔來求解二分類問題。如果要求解多分類問題,可以將多個二分類器組合起來形成乙個多分類器。如何建立乙個 svm 分類器呢?我們首先使用 svc 的建構函式 model svm.svc kernel r...