1. 程式人生 > >Machine Learning -- SVM(支援向量機)通俗理解

Machine Learning -- SVM(支援向量機)通俗理解

SVM(支援向量機):

支援向量機演算法可以看作是邏輯迴歸演算法的 強化:通過給予邏輯迴歸演算法更嚴格的優化條件,

支援向量機演算法可以獲得比邏輯迴歸更好的分類界線。通過和高斯核函式的結合,支援向量機可以

表達出非常複雜的分類界線,從而達成很好的分類效果。"核"事實上就是一種特殊的函式,最典型的特徵

就是可以將低維的空間對映到高維空間。如下圖所示:

                                                           

我們如何在二維平面劃分出一個圓形的分類界線?在二維平面可能會很困難,但是通過"核"可以將

二維空間對映到三維空間,然後使用一個線性平面就可以 達成類似效果。也就是說,二維平面劃分

出的非線性分類界線可以等價於三維平面的線性分類界線。 於是,我們可以通過在三維空間中進行

簡單的線性劃分就可以達到在二維平面中的非線性劃分效果。

                                           

支援向量機是一種數學成分很濃的機器學習演算法(相對的,神經網路則有生物科學成分)。在演算法的核心步驟中,有一步證明,即將資料從低維對映到高維不會帶來最後計算複雜性的提升。於是,通過支援向量機演算法,既可以保持計算效率,又可以獲得非常好的分類效果。因此支援向量機在90年代後期一直佔據著機器學習中最核心的地位,基本取代了神經網路演算法。直到現在神經網路藉著深度學習重新興起,兩者之間才又發生了微妙的平衡轉變。