成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SVM原理詳細圖文教程!一行代碼自動選擇核函數,還有實用工具

新聞 人工智能
SVM?老分類算法了,輕松拿下。然而,每一次老板讓你講解SVM,或每一次面試被問到SVM,卻總是結結巴巴漏洞百出。

本文經AI新媒體量子位(公眾號ID:QbitAI)授權轉載,轉載請聯系出處。

SVM?老分類算法了,輕松拿下。

然而,每一次老板讓你講解SVM,或每一次面試被問到SVM,卻總是結結巴巴漏洞百出。

「這些人怎么總能精準發現我的盲點?」

簡直讓人懷疑自己掌握的是假SVM。

如果你有這樣的問題,那這篇SVM數學原理對你會有很大幫助,一起來看看吧。

SVM 由線性分類開始

理解SVM,咱們必須先弄清楚一個概念:線性分類器

給定一些數據點,它們分別屬于兩個不同的類,現在要找到一個線性分類器把這些數據分成兩類。

如果用x表示數據點,用y表示類別(y可以取1或者-1,分別代表兩個不同的類),一個線性分類器的目標是要在n維的數據空間中找到一個超平面(hyper plane),將x的數據點分成兩類,且超平面距離兩邊的數據的間隔最大。

SVM原理詳細圖文教程!一行代碼自動選擇核函數,還有實用工具

這個超平面的方程可以表示為( wT中的T代表轉置):

SVM原理詳細圖文教程!一行代碼自動選擇核函數,還有實用工具
SVM原理詳細圖文教程!一行代碼自動選擇核函數,還有實用工具

2維坐標系中,超平面是一條直線

當f(x)等于0的時候,x便是位于超平面上的點,而f(x)大于0的點對應 y=1 的數據點,f(x)小于0的點對應y=-1的點。

SVM 想要的就是找到各類樣本點到超平面的距離最遠,也就是找到最大間隔超平面。任意超平面可以用下面這個線性方程來描述:

SVM原理詳細圖文教程!一行代碼自動選擇核函數,還有實用工具

二維空間點(x,y)到直線Ax+By+C=0的距離公式是:

SVM原理詳細圖文教程!一行代碼自動選擇核函數,還有實用工具

擴展到n維空間后,點x=(x1,x2……xn)到直線wTx+b=0的距離為:

SVM原理詳細圖文教程!一行代碼自動選擇核函數,還有實用工具

其中 :

SVM原理詳細圖文教程!一行代碼自動選擇核函數,還有實用工具

根據支持向量的定義,支持向量到超平面的距離為d,其他點到超平面的距離大于d。

于是有:

SVM原理詳細圖文教程!一行代碼自動選擇核函數,還有實用工具

||w||d是正數,令它為 1(之所以令它等于 1,是為了方便推導和優化,且這樣做對目標函數的優化沒有影響),于是:

SVM原理詳細圖文教程!一行代碼自動選擇核函數,還有實用工具

將兩個方程合并,有:

SVM原理詳細圖文教程!一行代碼自動選擇核函數,還有實用工具

至此,就得到了最大間隔超平面的上下兩個超平面。

SVM原理詳細圖文教程!一行代碼自動選擇核函數,還有實用工具

每個支持向量到超平面的距離可以寫為:

SVM原理詳細圖文教程!一行代碼自動選擇核函數,還有實用工具

由 y(wTx+b)>1>0 可以得到 y(wTx+b)=|wTx+b|,所以可以將支持向量到超平面距離改寫為:

SVM原理詳細圖文教程!一行代碼自動選擇核函數,還有實用工具

最大化這個距離:

SVM原理詳細圖文教程!一行代碼自動選擇核函數,還有實用工具

這里乘上 2 倍是為了后面推導方便,對目標函數沒有影響。

帶入一個支持向量,可以得到:

SVM原理詳細圖文教程!一行代碼自動選擇核函數,還有實用工具

所以得到的最優化問題是:

SVM原理詳細圖文教程!一行代碼自動選擇核函數,還有實用工具

處理異常值

有時,對于某些點(x(i),y(i)),分類器可能會做出錯誤操作。

盡管在開發實際使用的SVM模型時,會設計冗余,避免過擬合,但仍然需要想辦法將誤差控制在一個較小的范圍。

可以通過在模型中增加懲罰機制(用c表示)解決這個問題。

SVM原理詳細圖文教程!一行代碼自動選擇核函數,還有實用工具
SVM原理詳細圖文教程!一行代碼自動選擇核函數,還有實用工具

設SVM輸出結果為E,則上圖中出現的E=0則沒有懲罰。

若果c非常大,則模型分類更加精準,但支持向量到超平面距離小,容易出現過擬合。

若c=1,則支持向量到超平面距離最大化,盡管會出現一些分類誤差,但這是一種較好的方案。

約束凸優化問題

為了克服約束凸優化問題,采用PEGASOS算法。

重新構造一個約束獨立性方程:

SVM原理詳細圖文教程!一行代碼自動選擇核函數,還有實用工具

上式表示,如果點遠離直線,則誤差將為零,否則誤差將為(1-t(i))。

我們需要最小化的是:

SVM原理詳細圖文教程!一行代碼自動選擇核函數,還有實用工具

由于消除了約束,因此可以采用梯度下降來最大程度地減少損失。

SVM原理詳細圖文教程!一行代碼自動選擇核函數,還有實用工具

梯度下降算法計算損失:

SVM原理詳細圖文教程!一行代碼自動選擇核函數,還有實用工具

在SVM上應用梯度下降:

SVM原理詳細圖文教程!一行代碼自動選擇核函數,還有實用工具

非線性分類

使用SVM對非線性數據進行分類,需要將數據投影到更高的維度,即通過增加低維數據的特征向量將其轉換為高維數據

SVM原理詳細圖文教程!一行代碼自動選擇核函數,還有實用工具

增加數據特征向量需要消耗巨大的計算資源,這里采用核函數。

而這種思路最難的點,是為你自己的模型選擇一個合適的核函數。

這里推薦一種自動調參方法GridSearch

將多種核函數(線性、RBF、多項式、sigmoid等)等標號,依次調用,找到一個最合適自己模型的。

定義一個變量params:

  1. params = [{‘kernel’:[‘linear’, ‘rbf’, ‘poly’, ‘sigmoid’], ‘c’:[0.10.20.51.02.05.0]} 

調用:

SVM原理詳細圖文教程!一行代碼自動選擇核函數,還有實用工具

以上詳細介紹了SVM背后的數學原理,并提供了一些使用SVM模型時的問題解決辦法。

其中,使用代碼自動選擇核函數的方法來自外國博主Daksh Trehan

如果你對SVM的原理有更深刻的理解,或有其他實用的技巧,請留言分享給大家吧。

 

責任編輯:張燕妮 來源: 量子位
相關推薦

2009-07-10 17:54:29

SwingUtilit

2022-02-25 09:03:49

工具Swift項目

2011-01-14 13:40:24

UbuntuLinux Tips

2022-04-26 09:01:39

實用工具類型TypeScript

2025-03-04 10:49:51

2011-01-24 15:52:07

2011-07-20 14:03:33

jQuery Mobi實用工具

2017-04-28 14:47:23

人工智能

2011-04-13 09:40:27

2013-11-29 10:35:34

命令行工具ncdu

2021-11-05 06:57:50

架構工具代碼

2011-07-20 10:08:05

NetXray

2019-03-19 09:00:00

LinuxBackBox滲透測試

2023-08-02 10:41:26

2019-06-17 09:55:05

GPartedLinux根分區

2023-09-03 17:03:54

工具RegexGPTBloop

2013-02-27 10:42:07

前端工具Web

2019-12-27 09:00:28

Azure工具Azure平臺

2020-10-26 10:00:28

Linux工具命令

2009-08-17 14:03:48

虛擬化實用工具
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久成人高清视频 | 免费看黄视频网站 | 51ⅴ精品国产91久久久久久 | 在线一区二区三区 | 国产精品一区二区三区四区 | 亚洲精品乱码 | 欧美激情五月 | 国产激情精品一区二区三区 | 日韩一区在线观看视频 | 亚洲视频中文 | 中文字幕在线观看一区二区 | 成人在线电影在线观看 | 99视频免费在线观看 | 亚洲欧美一区二区三区国产精品 | 99精品在线观看 | 一级做a爰片久久毛片免费看 | 91在线视频免费观看 | 久久午夜精品福利一区二区 | 亚洲精品自拍视频 | 看毛片网站 | 亚洲国产成人精品女人久久久 | 国产精品美女久久久久久免费 | 天天精品在线 | 91麻豆精品国产91久久久更新资源速度超快 | 午夜免费看 | 一区二区三区中文字幕 | 成年人精品视频 | 精品乱码一区二区三四区视频 | 久久ww| 成人av网站在线观看 | 国内精品视频一区二区三区 | 99资源 | 91久久久久久久久久久 | 91av视频在线观看 | 91av视频在线免费观看 | 成人在线看片 | 中文在线亚洲 | av免费网站在线观看 | 亚洲午夜精品 | 国产精品精品视频一区二区三区 | 精品欧美乱码久久久久久1区2区 |