1. 程式人生 > >SVM中令 WX + b = 1的理解

SVM中令 WX + b = 1的理解

都知道SVM中的核心就是找到一個超曲面來實現樣本點的線性可分,那麼對於多個可用的超曲面來說,哪個是最好的呢?

Answer:SVM對超曲面選取的標準是:max margin

每一個候選的超曲面對應都有一個margin,我們選的就是讓這margin最大的超曲面!而這裡定義的一個超曲面的

margin指的是所有的樣本點到該超曲面的幾何距離的最小值。

需要注意的是,對於任意一個超曲面,都可以用一個法向量W和一個常數b(截距)來表示:WX+b = 0

而一個點(其實是一個向量)到一個曲面的距離 d = (WX + b) / ||W||

但是要知道的是,對一個超曲面而言,它可以表示成無陣列<W, b>來表示,只是W的模不同而已,這都對應空間中那同一個超曲面。

說到這裡就明白了,為什麼可以直接讓 WX + b = 1。因為這個只是計算到曲面距離d的一個分子,對於給定的樣本點,我們一定可以選出一組<W, b>來讓這個超曲面的margin可以表示成 1 / ||W||

一句話,<W, b>不管怎麼變,只要按照一定的規則,它都對應空間中相同的一個曲面!SVM中只是選了一個讓表示看起來更優美的形式,就是在無陣列<W, b>中選了滿足 WX + b = 1的那一組來代表這個曲面