日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

SVM一些细节说明

發(fā)布時(shí)間:2025/3/15 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SVM一些细节说明 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

一句話(huà)介紹SVM

SVM中的幾個(gè)核心概念

1 確定超平面及函數(shù)間隔

2 幾何間隔

3 間隔最大化(硬間隔)

4 支持向量

5 核函數(shù)

6 為何將原始問(wèn)題轉(zhuǎn)為對(duì)偶問(wèn)題

為什么SVM對(duì)缺失值敏感

SVM與LR的聯(lián)系

SVM優(yōu)缺點(diǎn)

為什么SVM的分割超平面方程為 wx + b = 0?

超平面方程與 ax+b=y的直線(xiàn)方程有何聯(lián)系?

幾何角度解釋如何尋找最優(yōu)超平面

SVM參數(shù)C的選擇

SVM核函數(shù)的選擇


SVM的面試題目相對(duì)有章可循,本次記錄一下常見(jiàn)的幾個(gè)面試題

一句話(huà)介紹SVM

SVM是一種二分類(lèi)模型,他的基本模型是定義在特征空間上的間隔最大的線(xiàn)性分類(lèi)器,間隔大使它有別于普通的感知機(jī),通過(guò)核技巧隱式的在輸入空間直接求解映射空間中特征向量的內(nèi)積,使其成為一個(gè)非線(xiàn)性分類(lèi)器。SVM的學(xué)習(xí)策略是間隔最大化,可形式化為一個(gè)求解凸二次規(guī)劃問(wèn)題。

SVM中的幾個(gè)核心概念

1 確定超平面及函數(shù)間隔

由空間上的平面公式確定超平面 wx+b = 0,且 |wx+b| 表示點(diǎn) x 到平面上的距離。正類(lèi)負(fù)例位于分割平面兩側(cè),因此y(wx+b) 可同時(shí)表示分類(lèi)正確性以及距離確信度。這也就是函數(shù)間隔,其被定義為訓(xùn)練集中所有點(diǎn)到超平面距離的最小值。

2 幾何間隔

由于成比例地縮放w和b會(huì)使得 |wx+b| 跟著成比例縮放,因此,需要對(duì)法向量w加上約束,使得間隔是確定的,也就是函數(shù)間隔整體除以 ||w||,也就得到了幾何間隔

3 間隔最大化(硬間隔)

分為硬間隔最大和軟間隔最大
SVM的基本思想就是求解可以正確劃分?jǐn)?shù)據(jù)集并且?guī)缀伍g隔最大的分離超平面,其原因是線(xiàn)性可分超平面有無(wú)數(shù)個(gè),但是間隔最大超平面是唯一的。

間隔最大化的意思就是以充分大的確信度對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行分類(lèi),也就是說(shuō),不僅將正負(fù)實(shí)例分開(kāi),同時(shí)對(duì)最難分的實(shí)例點(diǎn)(距離超平面最近的點(diǎn))也有足夠大的確信度將其分離。
此處推出約束優(yōu)化問(wèn)題的原始形式(見(jiàn)上一篇博客)

4 支持向量

與超平面最近的點(diǎn)被稱(chēng)為支持向量,也就是使得原始問(wèn)題約束項(xiàng)成立的點(diǎn)。
實(shí)際上離超平面很遠(yuǎn)的點(diǎn)已經(jīng)被正確分類(lèi),我們讓它離超平面更遠(yuǎn)并沒(méi)有意義。反而我們最關(guān)心是那些離超平面很近的點(diǎn),這些點(diǎn)很容易被誤分類(lèi)。如果我們可以讓離超平面比較近的點(diǎn)盡可能的遠(yuǎn)離超平面,那么我們的分類(lèi)效果會(huì)好有一些

5 核函數(shù)

注意,核函數(shù)本質(zhì)不是將特征映射到高維空間,而是找到一種直接在低位空間對(duì)高維空間中向量做點(diǎn)積運(yùn)算的簡(jiǎn)便方法。
其證明以及案例可參考李航-統(tǒng)計(jì)學(xué)習(xí)方法 P117

6 為何將原始問(wèn)題轉(zhuǎn)為對(duì)偶問(wèn)題

總是說(shuō)對(duì)偶問(wèn)題更容易求解,道理在哪呢?

之所以說(shuō)換為對(duì)偶問(wèn)題更容易求解,其原因在于降低了算法的計(jì)算復(fù)雜度。在原問(wèn)題下,算法的復(fù)雜度與樣本維度相關(guān),即等于權(quán)重w的維度,而在對(duì)偶問(wèn)題下,算法復(fù)雜度與樣本數(shù)量有關(guān),即為拉格朗日算子的個(gè)數(shù)。
因此,如果你是做線(xiàn)性分類(lèi),且樣本維度低于樣本數(shù)量的話(huà),在原問(wèn)題下求解就好了,Liblinear之類(lèi)的線(xiàn)性SVM默認(rèn)都是這樣做的;但如果你是做非線(xiàn)性分類(lèi),那就會(huì)涉及到升維(比如使用高斯核做核函數(shù),其實(shí)是將樣本升到無(wú)窮維),升維后的樣本維度往往會(huì)遠(yuǎn)大于樣本數(shù)量,此時(shí)顯然在對(duì)偶問(wèn)題下求解會(huì)更好。

另一方面,我們有分析過(guò),只有在支持向量上的樣本對(duì)應(yīng)的拉格朗日算子λ才大于0,其余的λ都是=0,而轉(zhuǎn)為對(duì)偶問(wèn)題的計(jì)算對(duì)象僅有λ,所以大大降低了計(jì)算復(fù)雜度。

為什么SVM對(duì)缺失值敏感

SVM與LR的聯(lián)系

1)損失函數(shù)SVM是hinge損失LR是log損失 2)輸出LR給出了后驗(yàn)概率SVM只給出0或1,也就是屬于哪一個(gè)類(lèi)別 3)異常值LR對(duì)異常值敏感;SVM相對(duì)不敏感,泛化能力好 4)訓(xùn)練集大小較小的訓(xùn)練集更適合SVM。SVM的參數(shù)優(yōu)化方法是先轉(zhuǎn)為對(duì)偶問(wèn)題再使用SMO算法,最壞情況下的時(shí)間復(fù)雜度是O(n^2),并不適合在大規(guī)模數(shù)據(jù)集上做分類(lèi)。另外,在使用核技巧,例如RBF時(shí),特征會(huì)升高至無(wú)限維,因此其計(jì)算量也變得很大。 5)LR用到所有的樣本點(diǎn)來(lái)尋找分割面;SVM只用到少數(shù)靠近支持面的幾個(gè)點(diǎn)。 6)非線(xiàn)性處理方式LR靠特征組合高次項(xiàng);SVM也可以組合,但更多使用核函數(shù) 7)LR較為簡(jiǎn)單,可以適用于大規(guī)模線(xiàn)性分類(lèi);SVM較復(fù)雜,但是理論支撐完備, 8)SVM只考慮支持向量

SVM優(yōu)缺點(diǎn)

優(yōu)點(diǎn):1、可以有效解決高維特征的分類(lèi)和回歸問(wèn)題2、無(wú)需依賴(lài)全體樣本,只依賴(lài)支持向量3、有大量的核技巧可以使用,從而可以應(yīng)對(duì)線(xiàn)性不可分4、樣本量中等偏小照樣有較好的效果 缺點(diǎn):1、如果特征維度遠(yuǎn)大于樣本個(gè)數(shù),SVM表現(xiàn)一般2、SVM在樣本巨大且使用核函數(shù)時(shí)計(jì)算量很大3、非線(xiàn)性數(shù)據(jù)的核函數(shù)選擇依舊沒(méi)有標(biāo)準(zhǔn)4、SVM對(duì)缺失數(shù)據(jù)敏感5、特征的多樣性導(dǎo)致很少使用svm,因?yàn)?svm 本質(zhì)上是屬于一個(gè)幾何模型,這個(gè)模型需要去定義 instance 之間的 kernel 或者 similarity(線(xiàn)性svm中的內(nèi)積),而我們無(wú)法預(yù)先設(shè)定一個(gè)很好的similarity。這樣的數(shù)學(xué)模型使得 svm 更適合去處理 “同性質(zhì)”的特征

為什么SVM的分割超平面方程為 wx + b = 0?

1)這個(gè)超平面的公式是假設(shè)。
2)其中w和x均為向量,b是一個(gè)實(shí)數(shù)。
3)在三維空間中一個(gè)法向量w,一個(gè)位移b能夠唯一確定一個(gè)平面,因此作出如上公式假設(shè)。
而x向量可以看作是原點(diǎn)到平面上任一點(diǎn)的連線(xiàn)向量,而w就是原點(diǎn)垂直于平面的那個(gè)向量,因此,w的大小就是原點(diǎn)到超平面的最短距離。
4)為什么要設(shè)其=0?
為了方便,假設(shè)兩類(lèi)樣本點(diǎn)的邊界到超平面的距離是相等的,因此就設(shè)為0,這樣的話(huà),wx + b > 0就表示樣本點(diǎn)在分割平面上方,wx + b < 0的話(huà)就代表在其下方。

超平面方程與 ax+b=y的直線(xiàn)方程有何聯(lián)系?

幾何角度解釋如何尋找最優(yōu)超平面

1)給出一個(gè)中間超平面H0,并且其滿(mǎn)足wx - b = 0,給出另外兩個(gè)超平面H1:wx - b = m;H1:wx - b = -m,設(shè)定為正負(fù)m的目的是為了讓H1到H0的距離 = H2到H0的距離。
2)w和b都是可以進(jìn)行同步縮放的,因此我們?yōu)榱撕?jiǎn)化問(wèn)題,將m縮放為1,那么兩個(gè)超平面的方程為:

3)上述兩個(gè)超平面的中間是沒(méi)有數(shù)據(jù)的,這句話(huà)是對(duì)超平面的一個(gè)約束,轉(zhuǎn)化為數(shù)學(xué)描述就是:

上述兩個(gè)約束可以合并為:其中yi是兩類(lèi)樣本中的點(diǎn)


4)假設(shè):

上圖中其實(shí)可以看出,如果X0距離另外一個(gè)超平面距離為m的話(huà),那么豈不是X0+m可以求得另一個(gè)超平面上的點(diǎn)。
但是X0是可以看作一個(gè)向量,而m只是一個(gè)標(biāo)量,因此需要將m轉(zhuǎn)化為標(biāo)量,換句話(huà)說(shuō),也就是想得到一個(gè)垂直于H1的且長(zhǎng)度為m的一個(gè)向量。
其實(shí)對(duì)于H1來(lái)說(shuō),w就是其上的法向量那么:

那么K就是我們要尋找的向量。


ok,現(xiàn)在向量k找到了,可以與X0進(jìn)行相加,可以得到z0 = X0 + k,如下圖所示:

經(jīng)過(guò)上面式子的推導(dǎo)就將m的求法得到了。

SVM參數(shù)C的選擇

SVM核函數(shù)的選擇


作者:0過(guò)把火0
鏈接:https://www.jianshu.com/p/fa02098bc220

總結(jié)

以上是生活随笔為你收集整理的SVM一些细节说明的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。