Machine Learning - Andrew Ng 筆記(5)

Support Vector Machines

SVM是本次課程中會介紹到的最后一種監(jiān)督機器學習算法.

Optimization Objective

SVM cost1(z) and cost0(z)

如果將logistic regression的cost function去掉regularization和sum相關的東西,剩下的那部分(上圖中的Cost of example)可以看作是每個樣本貢獻的代價,該代價分為兩部分,左邊部分在y=1時貢獻代價,右邊部分在y=0時貢獻代價,繼續(xù)將sigmoid函數帶入Cost of example中我們可以分別繪制y=1和y=0時cost(z)的圖形.
Recall:對于logistic regression來說,在y=1時要讓代價最小那么要滿足,y=0時情況相反.
SVM的cost(z)相對于logistic regression更簡單,當y=1時,并且時,cost(z)=0,當時表現和logistic regression類似,只是是一個線性函數,當y=0時,并且時,cost(z)=0.對于SVM來說當y=1時,代價記作,當y=0時,記作.

SVM Cost Function

SVM的代價函數和Logistic Regression的代價函數形式上略微有些不同:

  • cost(z)不同
  • 關注點不同,LR中通過對Regularization部分使用\lambda來影響\Theta最終取值.SVM中通過C來影響第一部分,假設我們將C設置為一個相當大的數字,那么cost function要想最小,就會得出以下結論:
    SVM Decision Boundary

    1.當y=1時,我們希望\Theta^{T}x>=1,這樣cost function的前半部分會最小(0)
    2.當y=0時,我們希望\Theta^{T}x<=-1,這樣cost function的前半部分會最小(0)
    如果能找到\Theta滿足以上兩點,那么cost function就只剩第二部分了.
SVM Decision Boundary 2

使用SVM的話,decision boundary很大程度上會是上圖中黑色的那一條,相比于另外兩條來說,黑色的decision boundary會盡可能離所有樣本的距離最遠(所以也更"安全"),這個距離被稱為margin,所以SVM也被稱為Large margin classifier.


outliers

SVM在C設置的非常大的時候很容易受特異值的干擾,如上圖中傾斜的那根decision boundary,此時需要調整C為一個略小的值.

The mathematics behind large margin classification

Vector inner product


其中||u||是向量u的長度
p是v在u上投影的長度(正負取決于u,v的夾角)
SVM Decision Boundary

為了簡單起見,假設我們只有3個參數,,,其中,在滿足y=1,z>=1;y=0,z<=-1時,代價函數可以看作是求的最小值.
z又可以看作,其中p是x在上投影的長度,如下圖:
SVM Decision Boundary

假設我們隨意作一條decision boundary(綠色),如上圖左,可以證明\Theta是一條垂直于decision boundary的直線,在這種情況下p值很小,但是我們又希望p?||\Theta||>=1,那么cost function會使得||\Theta||變大,導致整體代價變大.反觀上圖右,在這種情況下p值相對左圖較大,所以我們會得到一個相對較小的||\Theta||,這樣一來整體代價會更小.所以在使用SVM計算出的decision boundary總會離樣本有足夠大的margin(只要C足夠大).

Why the theta is perpendicular to the decision boundary

Kernel

Non-linear Decision Boundary

之前使用Logistic Regression的時候我們會像右圖一樣設計hypothesis函數,但是在SVM中我們又更好的解決方案--Kernel
Kernel:對于給定的訓練樣本,使用landmark計算新的特征值f.
使用kernel之后,新的hypothesis將會變成
predict 1 when otherwise 0
f有很多種計算方式,下圖是Gaussian Kernel
Gaussian Kernel

上圖中的代表第一個landmark.由公式可知:
if :
if x far away from :
Predict by using Kernel

hypothesis如上圖所示,并且挑選了,假設現在有訓練樣本x(粉紅色)靠近,那么使用Gaussian Kernel計算得到,通過cost function假設我們求到并帶入hypothesis函數可知predict y=1
那么接下來的問題,landmark怎么選?Cost function長什么樣?

Landmarks

Given (x^{(1)}, y^{(1)}),(x^{(2)}, y^{(2)}),...,(x^{(m)}, y^{(m)})
choose l^{(1)}=x^{(1)},l^{(2)}=x^{(2)},...,l^{(m)}=x^{(m)}

Cost function with kernels

Cost function

SVM使用Kernel之后的代價函數與之前不同之處在于:
1.->
2.通過Kernel新生成的特征值數量和Training Set中樣本的個數是一致的,所以第二部分中的n(代表之前的特征值數量)需要寫成m.

SVM with Kernels

總結下SVM使用Kernel的過程
1.挑選landmarks(與Training Set一一對應)
2.對于每一個樣本x^{(i)}計算對應的向量f^{(i)},(對于一些kernel在計算前需要先做feature scaling)
f^{(i)}=\left[ \begin{matrix} f_0 \\ f_1^{(i)} \\ f_2^{(i)} \\ ...\\ f_m^{(i)} \end{matrix} \tag{1-1} \right]
其中f_0=1
3.將f帶入到cost function中計算得到\Theta,hypothesis完成.
注意,因為新的特征值數量是m+1,所以通過cost function 求出的 \Theta向量的大小也是m+1

SVM with Kernels high variance or bias trading off

1.cost function 中的C如果越大,\Theta^Tfp||\Theta||傾向于去滿足>=Threshold或者<=Threshold來使cost function中的第一部分減小,所以||\Theta||會傾向變大,這樣會導致overfitting.反之如果C越小,則會導致underfitting.
2.對于Gaussian Kernel來說\sigma^2越大,f的變化趨于平穩(wěn),那么容易導致underfitting.反之如果\sigma^2越小,f的變化則不那么平穩(wěn),這樣容易導致overfitting.
\sigma^2f函數圖如下:

Example

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市晌端,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機匿值,發(fā)現死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來赂摆,“玉大人挟憔,你說我怎么就攤上這事⊙毯牛” “怎么了绊谭?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長汪拥。 經常有香客問我达传,道長,這世上最難降的妖魔是什么迫筑? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任宪赶,我火速辦了婚禮,結果婚禮上脯燃,老公的妹妹穿的比我還像新娘搂妻。我一直安慰自己,他們只是感情好辕棚,可當我...
    茶點故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布欲主。 她就那樣靜靜地躺著,像睡著了一般逝嚎。 火紅的嫁衣襯著肌膚如雪扁瓢。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天补君,我揣著相機與錄音引几,去河邊找鬼。 笑死赚哗,一個胖子當著我的面吹牛她紫,可吹牛的內容都是我干的。 我是一名探鬼主播屿储,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼渐逃!你這毒婦竟也來了够掠?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤茄菊,失蹤者是張志新(化名)和其女友劉穎疯潭,沒想到半個月后赊堪,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡竖哩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年哭廉,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片相叁。...
    茶點故事閱讀 40,030評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡遵绰,死狀恐怖,靈堂內的尸體忽然破棺而出增淹,到底是詐尸還是另有隱情椿访,我是刑警寧澤,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布虑润,位于F島的核電站成玫,受9級特大地震影響,放射性物質發(fā)生泄漏拳喻。R本人自食惡果不足惜哭当,卻給世界環(huán)境...
    茶點故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望冗澈。 院中可真熱鬧钦勘,春花似錦、人聲如沸渗柿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽朵栖。三九已至颊亮,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間陨溅,已是汗流浹背终惑。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留门扇,地道東北人雹有。 一個月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像臼寄,于是被迫代替她去往敵國和親霸奕。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,976評論 2 355

推薦閱讀更多精彩內容