1. 背景:
1.1 最早是由 vladimir n. vapnik 和 alexey ya. chervonenkis 在2023年提出
1.2 目前的版本(soft margin)是由corinna cortes 和 vapnik在2023年提出,並在2023年發表
1.3 深度學習(2012)出現之前,svm被認為機器學習中近十幾年來最成功,表現最好的演算法
2. 機器學習的一般框架:
訓練集 => 提取特徵向量 => 結合一定的演算法(分類器:比如決策樹,knn)=>得到結果
3. 介紹:
3.1 例子:
兩類?哪條線最好?
3.2 svm尋找區分兩類的超平面(hyper plane), 使邊際(margin)最大
總共可以有多少個可能的超平面?無數條
如何選取使邊際(margin)最大的超平面 (max margin hyperplane)?
超平面到一側最近點的距離等於到另一側最近點的距離,兩側的兩個超平面平行
3. 線性可區分(linear separable) 和 線性不可區分 (linear inseparable)
4. 定義與公式建立
超平面可以定義為:
w: weight vectot,, n 是特徵值的個數
x: 訓練例項
b: bias
4.1 假設2維特徵向量:x = (x1, x2)
把 b 想象為額外的 wight
超平面方程變為:
所有超平面右上方的點滿足:
所有超平面左下方的點滿足:
調整weight,使超平面定義邊際的兩邊:
綜合以上兩式,得到: (1)
所有坐落在邊際的兩邊的的超平面上的被稱作」支援向量(support vectors)"
分界的超平面和h1或h2上任意一點的距離為1/||w||(i.e.: 其中||w||是向量的範數(norm))
所以,最大邊際距離為:2/||w||
5. 求解
5.1 svm如何找出最大邊際的超平面呢(mmh)?
利用一些數學推倒,以上公式 (1)可變為有限制的凸優化問題(convex quadratic optimization)
利用 karush-kuhn-tucker (kkt)條件和拉格朗日公式,可以推出mmh可以被表示為以下「決定邊
界 (decision boundary)」
其中,
5.2 對於任何測試(要歸類的)例項,帶入以上公式,得出的符號是正還是負決定
6. 例子:
機器學習之線性分類SVM
coding utf 8 created on fri nov 30 21 05 40 2018 author muli import matplotlib.pyplot as plt import numpy as np from sklearn import datasets,cross val...
機器學習 SVM演算法
經常遇到或用到svm演算法,不過都是用的別人的 並沒有深入的研究理解過。感覺很不應該,今天記錄一下自己的感受和理解。之前對svm的理解就是將資料對映到高維空間從而找到最優的分割平面。處理二維資料時,為一條分割線,三維時就是乙個超平面。當維度上公升,那就是尋找更高維的超平面。如何確定哪條分割線是最優的...
機器學習之SVM
支援向量機是一種二類分類模型。在介紹svm之前,需要先了解支援向量這一概念,支援向量是訓練樣本的乙個子集,這一子集是二類分類的決策邊界。在二類分類過程中,可能存在無數個能夠正確分離二類資料的超平面,如圖1所示。但是不是所有的超平面都在未知資料上執行的都很好,例如圖2中的超平面b 1 就比超平面b 2...