作者Dminor (低小調)
看板DataScience
標題[問題] SVM基礎觀念問題請教
時間Tue Jun 4 22:38:05 2019
小弟剛接觸SVM,這個問題可能有點蠢,不過一直搞不清這個問題。
就是我在google找尋SVM相關說明的文章中都有提到:
Wx+b>=1 和 Wx+b<=-1
我能理解要找到分割平面Wx+b=0,離兩邊的資料越遠越好,
但實在搞不懂為什麼突然就跑出 Wx+b>=1 和 Wx+b<=-1 了……
還有為什麼是1,不能是其它數字,像是 Wx+b>=0.5 和 Wx+b<=0.5。
假如我今天手上的資料距離很近,
找不到能使所有資料都符合Wx+b>=1 和 Wx+b<=-1的條件怎麼辦呢?
我看的有以下幾篇:
https://medium.com/@chih.sheng.huang821/c320098a3d2e
https://taweihuang.hpd.io/2016/09/21/讀者提問:什麼是支持向量機-svm/
https://en.wikipedia.org/wiki/Support-vector_machine
這問題可能菜得很蠢,不過還是請好心的大大們指導一下,謝謝QQ
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.226.219.84 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/DataScience/M.1559659093.A.457.html
1F:推 thefattiger: 三言兩語講不完,你把W和b乘以任意值,Wx+b的結果 06/04 23:17
2F:→ thefattiger: 都會不一樣,所以要配上另一條constrain才有意義 06/04 23:17
3F:→ thefattiger: 可以去u2搜林軒田教授講SVM的部分 06/04 23:18
4F:推 moonoftree: 選 1 算是通用吧 也是為了後續推導用 事實上沒差 06/05 04:40
5F:→ moonoftree: wx+b>=1 兩邊同乘 0.5 變 0.5wx+0.5b>=0.5 06/05 04:40
6F:→ moonoftree: 令 w'=0.5w b'=0.5b 就變成 w'x+b'>=0.5 06/05 04:40
7F:→ moonoftree: 這式子透過同樣方法求出來的 線是一樣的 06/05 04:40
8F:→ moonoftree: 反正主要是要理解 SVM 想要去 maximize margin 06/05 04:40
9F:→ moonoftree: 假如當初選 1 的話 06/05 04:40
10F:→ moonoftree: 可以透過兩平行線距離求得 margin = 2/|w| 06/05 04:40
11F:→ moonoftree: 而實際上很難找到一條線完整把正負資料分開 06/05 04:40
12F:→ moonoftree: 所以可以參考 soft SVM 06/05 04:40
13F:→ moonoftree: 容忍資料與線中有些許的誤差去做分類 06/05 04:40
14F:→ moonoftree: 詳細的內容可以參考林軒田老師的教學 06/05 04:40
15F:推 ouryouth: 樓上是對的 因為經過scale過了 06/05 12:49
16F:→ sxy67230: 其實那個1就是方便計算而已,因為那是"最大邊界"。就算 06/05 19:23
17F:→ sxy67230: 你不設1,基於最優化,max(margin/||w||),更新過後的w' 06/05 19:23
18F:→ sxy67230: =w/margin,代入後就是max(1/||w'||),考慮正負就是2/|| 06/05 19:23
19F:→ sxy67230: w|| 06/05 19:23
20F:→ sxy67230: 這在物理意義上代表今天你就算設100,svm在做最優化他 06/05 19:25
21F:→ sxy67230: 還是會自動幫你找到間隔在正負1之間。 06/05 19:25