Machine Learning學習日記 — Coursera篇 (Week 7.1):Optimization Objective, Large Margin Intuition
回目錄:Coursera章節
下一篇:
大綱
- Optimization Objective
- 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:黑色的線
隨堂練習
Ans: