logo
Loading...

【QA】什麼是支援向量機(Support Vector Machine)? - Cupoy

支援向量機(Support Vector Machine)可以被視為感知器的延伸,本次想與各位介紹這...

【QA】什麼是支援向量機(Support Vector Machine)?

2021/09/25 下午 10:26
機器學習共學討論版
Ray
觀看數:27
回答數:1
收藏數:1

支援向量機(Support Vector Machine)可以被視為感知器的延伸,本次想與各位介紹這個被廣泛使用的學習演算法-支援向量機(Support Vector Machine)

回答列表

  • 2021/09/25 下午 10:37
    Ray
    贊同數:0
    不贊同數:0
    留言數:0

    支援向量機(Support Vector Machine)又被簡稱為SVM,是一種監督式的學習方法,它屬於線性分類器的一種,但同時也可以解決非線性的分類問題,其基本概念就是將邊界(margin)的最大化最為SVM的最佳化目標,那麼什麼是邊界呢?邊界在這裡被定義為一個超平面(hyperplane,也就是決策邊界(Decision Boundary))和最接近該平面的樣本之間的距離;為何要使邊界最大化呢?原因很簡單,就是為了能夠完美的替樣本進行分類,當有新樣本加入時,該樣本被正確分類的機會也會更高,也就是說有較大決策邊界的模型其泛化程度較高,而邊界較小的模型往往容易過擬合,而最接近超平面的樣本又分別形成兩個與決策邊界平行的超平面,分別是正超平面(positive hyperplane)、負超平面(negative hyperplane),而若在這兩個平面上的樣本就是所謂的支援向量(Support Vector),如下圖所示: ![1_aqNgiEu0ZBeB-ojoWyryZA.png](http://kwassistfile.cupoy.com/0000017C1D59F9190000002C6375706F795F72656C65617365414E53/1632459429377/large)[參考圖片來源](https://chih-sheng-huang821.medium.com/%E6%A9%9F%E5%99%A8%E5%AD%B8%E7%BF%92-%E6%94%AF%E6%92%90%E5%90%91%E9%87%8F%E6%A9%9F-support-vector-machine-svm-%E8%A9%B3%E7%B4%B0%E6%8E%A8%E5%B0%8E-c320098a3d2e) ----------- 以下以圖示來簡單說明SVM分類方法的概念: 我們的資料大致上可以分為線性和非線性兩種,每一種演算法都是在不同的假設或著是條件下去尋找能夠完成分類的線 ![image-23.png](http://kwassistfile.cupoy.com/0000017C1D59F9190000002C6375706F795F72656C65617365414E53/1632459429378/large)[參考圖片來源](https://pyecontech.com/2020/03/24/svm/) 而SVM則是假設將在低維度無法分類的資料將其映射到較高維度後能夠有一個平面((w^T)* x+b=0)可以完美分類兩組資料。 ![image-24.png](http://kwassistfile.cupoy.com/0000017C1D59F9190000002C6375706F795F72656C65617365414E53/1632459429379/large)[參考圖片來源](https://pyecontech.com/2020/03/24/svm/) 當我們找到該平面後,從另一個角度去觀察,就會發現該組資料從原本的線性不可分變成線性可分了,而SVM所做的就是找出決策邊界的參數(w和b) 讓兩組資料之間的距離最大化,以實現最佳化分類。 ![image-25.png](http://kwassistfile.cupoy.com/0000017C1D59F9190000002C6375706F795F72656C65617365414E53/1632459429380/large)[參考圖片來源](https://pyecontech.com/2020/03/24/svm/) ---------- 接著我們從數學的角度來理解SVM的分類概念: 決策邊界的正超平面(positive hyperplane)與負超平面(negative hyperplane)分別可以表示成 ![MommyTalk1632579383577.png](http://kwassistfile.cupoy.com/0000017C1D59F9190000002C6375706F795F72656C65617365414E53/1632459429381/large)![MommyTalk1632579394635.png](http://kwassistfile.cupoy.com/0000017C1D59F9190000002C6375706F795F72656C65617365414E53/1632459429382/large) 當樣本y被正確分類時,可以表示成 ![MommyTalk1632579628255.png](http://kwassistfile.cupoy.com/0000017C1D59F9190000002C6375706F795F72656C65617365414E53/1632459429383/large)![MommyTalk1632579644205.png](http://kwassistfile.cupoy.com/0000017C1D59F9190000002C6375706F795F72656C65617365414E53/1632459429384/large) 這兩個方程式表示所有的正樣本都落在正超平面(positive hyperplane)那一側,而所有的負樣本都落在負超平面(negative hyperplane)那一側;這兩個方程式又可被簡化為: ![MommyTalk1632579721017.png](http://kwassistfile.cupoy.com/0000017C1D59F9190000002C6375706F795F72656C65617365414E53/1632459429385/large) -------- 有興趣進一步了解的人可以參考一下連結: * [[機器學習首部曲] 支援向量機 SVM](https://pyecontech.com/2020/03/24/svm/) * [機器學習-支撐向量機(support vector machine, SVM)詳細推導](https://chih-sheng-huang821.medium.com/%E6%A9%9F%E5%99%A8%E5%AD%B8%E7%BF%92-%E6%94%AF%E6%92%90%E5%90%91%E9%87%8F%E6%A9%9F-support-vector-machine-svm-%E8%A9%B3%E7%B4%B0%E6%8E%A8%E5%B0%8E-c320098a3d2e) * [[資料分析&機器學習] 第3.4講:支援向量機(Support Vector Machine)介紹](https://medium.com/jameslearningnote/%E8%B3%87%E6%96%99%E5%88%86%E6%9E%90-%E6%A9%9F%E5%99%A8%E5%AD%B8%E7%BF%92-%E7%AC%AC3-4%E8%AC%9B-%E6%94%AF%E6%8F%B4%E5%90%91%E9%87%8F%E6%A9%9F-support-vector-machine-%E4%BB%8B%E7%B4%B9-9c6c6925856b) * [支持向量機](https://zh.wikipedia.org/wiki/%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA)