關於支持向量機的數學問題?
01-30
不太理解點到分割面的距離求解公式
高維想不通那我們就從低維開始想起,笛卡爾坐標系中的直線可以表達為,這個方程的意思就是直線上任意一點都滿足條件,這裡的係數和決定直線的斜率(slope),也可以理解為方向,舉個實際點的例子直線,那麼它的方向向量可以是或者所有與之平行的向量,這條直線在坐標繫上的是和這個向量平行的,那麼與這個向量垂直的向量比如是與這條直線垂直的,也稱為這條直線的法向量,很容易看到這個法向量正好是與線性相關的。
其實也很容易理解這種「正好」。經過原點的直線表達的正好是這樣一種關係:向量和直線上任意一點與原點構成的向量都滿足垂直關係,而參數表示的只是在這個經過原點的直線的基礎上平移多少(改變截距),的值始終是一個定值。所以對於直線來說向量始終是一個法向量。
還記得初中還是高中的分析幾何裡面學過的點P到直線l:的距離公式么?也是距離公式的一個具體化的實例。
常規理解的P到l的距離是通過P直接向l作垂線得到的,這裡不妨換個思路:以直線l上任意一點為起點到P的構成向量(這裡我取的直線上的點是原點,這個向量就是藍線標出的部分),在法向量上的投影長度(紅線)部分可以表示P到l的距離。至於為什麼能表示,這些詳細證明我不作論證了,這裡就推導一下這個思路算的距離公式::
:在上的投影長度:又因為在直線l上所以滿足如果到此為止的理解沒有問題那麼就可以從具體的二維平面擴展到超平面(hyperplane),SVM最終得到的是一個分類函數:,對於有個特徵的向量來說,函數值的正負決定分類結果,那麼等式置0是一個維空間裡面一個維的超平面,函數中的係數構成改超平面的法向量,換個形式重寫一下函數就是(b為常數項,就是),那麼按照以上二維平面計算點到直線的距離的方法,再算一下這裡超平面外任意一個點(向量)到超平面的距離:
推薦閱讀:
※BAT機器學習面試1000題系列(181-185題)
※【Matlab】安裝libsvm的問題與解決辦法
※達觀數據推薦演算法實現:協同過濾之item embedding
※如何理解SVM | 支持向量機之我見
TAG:SVM |