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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【机器学习】SVM基本线性可分与多分类

發布時間:2023/12/20 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【机器学习】SVM基本线性可分与多分类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

上一篇講了線性可分的SVM推導,現在講一講基本線性可分的情形,后面還會介紹多分類的使用以及核函數的使用。

outlier 的處理

給定數據集? ,當樣本數據大部分為線性可分的,存在少量異常值使得數據線性不可分,或者導致分離超平面被擠壓,可以通過一些方法仍然按照線性可分的方式處理,異常值的情況如下圖所示:

以上情況意味著某些樣本點的函數間隔并不滿足大于 1 的要求。為了解決這個問題,為每個樣本引入一個松弛變量, 使得函數間隔可以小于 1 ,即滿足??,這里顯然??不能任意大,因為那會導致任意樣本點都滿足要求,所以要把優化目標改成如下的形式:

上面將不等式約束都已經化成了的形式了,為方便使用拉格朗日乘子法與KKT條件。

這里??叫做懲罰參數,上述的不等式約束記做??的形式,同樣通過對偶的形式求解,首先構造拉格朗日函數:

拉格朗日函數中的乘子?, 且???,很明顯的有:

因此原始問題轉化為:

對于上述問題應用對偶可得:

接下來求解對偶問題,對于極小部分的參數??求導:

將以上結果帶入對偶問題,極小部分便得到一個關于??的函數:

注意這里根據??與??消去了?。

使原始問題滿足KKT條件,則原問題與對偶問題具備強對偶性。(其實在這里可以通過Slater條件成立推出強對偶性,再從強對偶性推出原問題滿足KKT條件,Slater條件為兩個,1是原問題為凸優化問題,這個顯而易見。2是原問題存在嚴格滿足不等式約束的解,這個也是顯而易見的,對于所有不是支持向量的點,都是嚴格滿足這個條件的。故Slater條件是成立的。)

聯立KKT條件與對偶問題約束最后可求解得出

首先由? KKT 條件 (1) 可得:

根據 KKT 條件(3) (4) (6) (9)可知若?,則??,且存在??,使得:

因此便可求得??:

至此,可以總結出帶有異常值的線性可分 SVM 的算法1.3:

Algorithm 1.3

下圖中實線為分離超平面,虛線為間隔邊界,且有間隔邊界與分離超平面的函數距離為1,幾何距離為?。在線性不可分的情況下,求解得到??的分量??對應的樣本實例??中的??稱為支持向量,這時的支持向量要比線性可分復雜一些,如下圖的點,以下支持向量點到間隔邊界的幾何距離均已標注出為?。這個幾何距離是這樣計算的,點? 到分離超平面的函數距離為?, 而分離超平面與間隔邊界的函數距離為 1 ,所以點? 到間隔邊界的距離為??,幾何距離只需除以??即可得到結果。

可見這時候的支持向量或者分布在間隔邊界上,或者在間隔邊界與超平面之間,或者在分離超平面誤分的一側。 根據 KKT 條件可以得出一些很有意思的結論,當??時,根據 KKT 條件 (3) 可得?,即? ,又由于??可得??,根據 KKT 條件 (4) 可得??,所以當??時,可得 ,這時樣本便為支持向量,且落在間隔邊界上;當??時且??,這時便為分類正確的且落在間隔邊界之后的點,至于? 的情況,根據??的不同取值,可分為不同的情況,總結起來便有:

至此,帶有異常值的非線性可分的情況也解決了,但是還需要注意的是數據集是完全非線性可分的。這時便需要引入核方法了。核方法并不是 SVM 的專利,其可以解決一系列機器學習問題。


多分類

至于 K 分類問題 (K>2) ,最簡單的方式便是?one-vs-all?的方法,如下圖所示,該方法共訓練 K 個分類器,對于待分類樣本點,分別使用這 K 個分類器進行分類,對于樣本??分類的計算如下:?,若只有一個 +1 出現,則其為樣本對應類別 k ;但實際情況下構造的決策函數總是有誤差的,此時輸出不只一個 +1 (不只一類聲稱它屬于自己),或者沒有一個輸出為 +1 (即沒有一個類聲稱它屬于自己),這時比較則比較??輸出值,最大者對應類別為樣本 ?的類別 k 。

或者采用 LIBSVM 中?one-vs-one?的方法,其做法是在任意兩類樣本之間設計一個SVM,因此 k 個類別的樣本就需要設計??個SVM。當對一個未知樣本進行分類時,最后得票最多的類別即為該未知樣本的類別。比如說 A,B,C 三類。在訓練的時候針對 (A,B) (A,C) (B,C) 所對應的樣本作為訓練集,然后得到三個模型,在測試的時候,對應的分別對三個模型進行測試,然后采取投票形式得到最后的結果,如下圖所示:

再就是直接使用 Hinge Loss 進行多分類了,這個接下來也會詳細介紹。

參考文章:

致謝ooon大神,從他的博文中學到了很多東西!

支持向量機SVM

?

?

總結

以上是生活随笔為你收集整理的【机器学习】SVM基本线性可分与多分类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。