Machine Learning學習日記 — Coursera篇 (Week 7.1):Optimization Objective, Large Margin Intuition

Pandora123
4 min readJul 4, 2016

--

回目錄:Coursera章節

上一篇:Using Large Data Sets

下一篇:

大綱

  1. Optimization Objective
  2. Large Margin Intuition

1. Optimization Objective

Support Vector Machine的公式推導主要是從Logistic Regression一步步推得的。

這是Logistic Regression的cost function:(回憶Logistic Regression)

1.我們首先要做的就是將log項目給全面替換,如下圖所示:

但為什麼cost1(θT*x)跟cost0(θT*x)這個函式能替換調原本的項目呢?

這必須先將htheta(x)中的sigmoid函式給展開:

而函式有兩種情況:當y為1的時候,我們要盡可能提高z(z=θT*x),好讓使用z的htheta(x)盡可能貼近1,而使總體cost降至0。而為了運算效率,support vector machine將於原本的曲線圖形更動為筆直的直線,並設定當z為1的時候,cost變為0

當y為0時,我們要盡可能降低z,好讓使用z的htheta(x)盡可能貼近1,而使總體cost降至0。而為了運算效率,support vector machine將於原本的曲線圖形更動為筆直的直線,並設定當z為-1的時候,cost變為0

第二步是將不必要的變數m(資料筆數)給去除掉,如下圖所示

為什麼去除這個m不會對最終結果有影響呢?

如上圖所示,儘管最後產出的總成本會變大,但是因為m對於其內部一直變動的變數(θ)是一個不變的常數,也因此不會對θ產生任何影響

第三部是將後項的λ替換成前項的C

可以將C想像為1/λ

最後就得到我們最終的函式啦!

隨堂練習

Ans:

2. Large Margin Intuition

To give a useful picture of SVM machine's idea

當y=1時,與其僅僅只是讓thetaT*x>=0,會盡量使thetaT*x>=1

當y=0時,與其僅僅只是讓thetaT*x<0,會盡量使thetaT*x<=-1

這是因為SVM不希望僅僅只是正確分類訓練資料,它將條件拉高以達到類似防火牆的功能。

下圖中就可以很清楚的看出為什麼SVM要拉高條件的原因了:酒紅色跟綠色的線都不是一個很優的選擇,而標準較高條件使得SVM得到了最大的Margin的decision boundary:黑色的線

Linearly separable:可線性分隔的

隨堂練習

denotes:註記

Ans:

--

--