目錄
1. 支持向量機(SVM)概述
2. 超平面與支持向量
3. 間隔最大化
4. 優化問題
5. 核函數
6. 總結
1. 支持向量機(SVM)概述
- 定義:支持向量機是一種監督學習模型,主要用于數據分類問題。其基本思想是通過一個超平面來分割數據點,使得不同類別的數據點位于超平面的兩側。
- 分類:支持向量機主要分為三類:線性可分支持向量機、線性支持向量機和非線性支持向量機。
2. 超平面與支持向量
- 超平面:在n維空間中,超平面是一個n-1維的子空間。在二維空間中,它是一個直線;在三維空間中,它是一個平面。超平面可以表示為 w^T * x + b = 0,其中w是法向量,b是截距,x是樣本點。
- 支持向量:距離超平面最近的樣本點稱為支持向量。這些點對確定超平面的位置起著決定性作用。
3. 間隔最大化
- 函數間隔:對于給定的訓練集和超平面,樣本點 (x_i, y_i) 到超平面的函數間隔為 r_i?= y_i(wT * x_i + b)。但是,當w和b成比例變化時,函數間隔也會成比例變化。
- 幾何間隔:為了消除這種影響,引入了幾何間隔。樣本點 (x_i, y_i) 到超平面的幾何間隔為 γ_i = y_i((w / ||w||) * x_i + b / ||w||)。其中 ||w|| 是w的范數。
- 目標:SVM的目標是找到一個超平面,使得訓練集上所有樣本點的幾何間隔最大。這可以轉化為一個優化問題,即最大化幾何間隔。
4. 優化問題
- 優化目標:最小化 ||w||2 / 2,同時滿足約束條件 y_i(wT * x_i + b) ≥ 1(對于所有樣本點)。這是一個凸二次規劃問題。
- 求解:通過拉格朗日乘子法將原始問題轉化為對偶問題,并利用SMO算法求解。最終得到的是w和b的最優解,從而確定最優超平面。
5. 核函數
- 非線性分類:對于非線性可分的數據,SVM通過引入核函數將數據映射到高維空間,使得數據在高維空間中線性可分。
- 常用核函數:包括線性核、多項式核、高斯核等。選擇合適的核函數對于SVM的性能至關重要。
6. 總結
- 支持向量機通過找到一個最優超平面來實現對數據的分類。該超平面由支持向量確定,并且使得訓練集上所有樣本點的幾何間隔最大。
- 對于非線性可分的數據,SVM通過引入核函數將數據映射到高維空間,實現非線性分類。
- SVM具有泛化能力強、對高維數據有效等優點,在許多領域都有廣泛的應用。