感知機
1957年由Rosenblatt提出,是神經網絡與支持向量機的基礎。
- 感知機是根據輸入實例的特徵向量x對其在進行二類分類的線性分類模型:
感知機模型對應於輸入空間(特徵空間)中的分離超平面wx+b=0
- 感知機學習的策略是極小化損失函數:
損失函數對應於誤分類點到分離超平面的總距離 (幾何間隔):
- 感知機學習算法是誤分類驅動的的、基於隨機梯度下降的對損失函數的最優化算法,有原始形式和對偶形式。
- 當訓練數據集線性可分時,感知機是收斂的
算法:
1. 選取初值w0, b0
2. 訓練集中選取數據(xi, yi)
3. if yi(w·xi+b) <= 0:
w := w + \alpha yixi
b := b + \alpha yi
4. 轉至2,知道訓練集中沒有誤分類點
支持向量機
優:泛化錯誤率低、計算開銷不大、結果易解釋
缺:對參數調節和核函數的選擇敏感
線性可分:可以用一條直線將兩組數據分開。
超平面:將數據集分隔開的直線或平面稱爲超平面(hyperplane),也就是分類的決策邊界。
間隔:希望找到離分隔超平面最近的點,確保它們離超平面的距離儘可能遠。點到分隔面的距離稱爲間隔。
支持向量:離分隔超平面最近的那些點。
間隔最大化
回顧點到直線的距離公式:
劃分超平面用如下線性方程式描述:
則樣本空間中任意點x到超平面(w,b)的距離可寫爲
線性可分、硬間隔最大化
二次規劃的對偶問題是:
通過求解對偶問題學習線性可分支持向量機,即首先求解對偶問題的最優值\alpha,然後求最優值w、b,得出分離超平面和分類決策函數。
線性不可分、軟間隔最大化
鬆弛變量:用來允許有些數據點可以處於分隔面的錯誤一側。
線性不可分意味着某些樣本點(xi,yi)不能滿足函數間隔大於等於1的約束條件。爲了解決這個問題,可以對每個樣本點(xi,yi)引入一個鬆弛變量,使函數間隔加上鬆弛變量大於等於1.
C稱爲懲罰參數,C大時對誤分類的懲罰大,意味着不願放棄離羣點,正則化小。
對偶問題是:
支持向量迴歸(support Vector Regression)
支持向量迴歸假設我們能 容忍 f(x)與y之間最多有 \xi 的偏差,即僅當f(x)與y之間的差別絕對值大於 \xi 時才計算損失。相當於以f(x)爲中心構建了一個寬帶爲2\xi的 間隔 帶,若訓練樣本落入此間隔帶,則認爲是被預測正確的。
核函數(Kernel)
核方法或核技巧會將數據從一個低維空間映射到一個高維空間,可以將一個在低維空間中的非線性問題轉換成高維空間下的線性問題來求解。
\phi(x)表示將x映射後的特徵向量,於是,在特徵空間中劃分超平面所對應的模型可表示爲:
設想一個函數,特徵空間的內積等於它們在原始樣本空間中通過函數k(.,.)計算的結果:
- 線性核
- 多項式核
- 徑向基核函數(高斯核)
- 拉普拉斯核
- Sigmoid核
k(.,.)是定義在輸入空間上的對稱函數,k是核函數當且僅當對於任意數據D={x1,x2,…,xm},“核矩陣”(kernel matrix)K總是正定的。
- 核函數的線性組合也是核函數
- 核函數的積也是核函數
- 任意函數乘核函數也是核函數
核技巧強大的原因:
- 能夠使用保證有效收斂的凸優化技術來學習非線性模型,我們認爲\phi是固定的,僅優化\alpha,即優化算法可以將決策函數視爲不同空間中的線性函數。
- 核函數k的實現方法通常比直接構建\phi(x)再算點積高效很多。
序列最小優化(Sequential Minimal Optimization, SMO)
支持向量機試圖通過求解一個二次優化問題來最大化分類間隔。過去,訓練支持向量機常採用複雜且低效的二次規劃求解方法。John Platt於1998年引入了SMO算法,通過每次優化2個alpha值來加快SVM的訓練速度。
特點:不斷將原二次規劃問題分解爲只有兩個變量的二次規劃子問題,並對子問題進行解析求解,知道所有變量滿足KKT條件爲止。
《機器學習實戰》 6
《統計學習方法》 2 7
《機器學習》 5 6
《支持向量機導論》
《深度學習》 5.7.2 P89