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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

数学之路(3)-机器学习(3)-机器学习算法-SVM[7]

發布時間:2023/12/10 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数学之路(3)-机器学习(3)-机器学习算法-SVM[7] 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

SVM是新近出現的強大的數據挖掘工具,它在文本分類、手寫文字識別、圖像分類、生物序列分析等實際應用中表現出非常好的性能。SVM屬于監督學習算法,樣本以屬性向量的形式提供,所以輸入空間是Rn的子集。

圖1

如圖1所示,SVM的目標是找到兩個間距盡可能大的邊界平面來把樣本本點分開,以”最小化泛化誤差“,即對新的樣本點進行分類預測時,出錯的幾率最小。落在邊界平面上的點稱為支持向量。Vapnik證明如果可以找到一個較小的支持向量集,就可以保證得到很好的泛化能力----也就是說支持向量的個數越少越好。

數據點通常在輸入空間是線性不可分的,我們把它映射到更高維的特征空間,使其線性可分----這里的映射函數我們稱之為核函數。特征空間的超平面對應輸入空間的一個非線性的分離曲面,因此稱為非線性分離器。

線性SVM分類器的輸出是u=w*x-b。w是分類平面的法矢,x是輸入向量,b是常量,u代表分類。即SVM的目的就是計算出w和b。最大化margin(兩個分類平面之間的距離)等價于求下面的二次優化問題:

?

對于非線性分類器就要把x映射到特征空間,同時考慮誤差ε的存在(即有些樣本點會越過分類邊界),上述優化問題變為:

?

從輸入空間是映射到特征空間的函數稱為核函數,LibSVM中使用的默認核函數是RBF(徑向基函數radial basis function),即

?

這樣一來就有兩個參數需要用戶指定:cgamma

?

我們先安裝python的機器學習庫

http://sourceforge.net/projects/mlpy/

該學習庫有以下3個核函數

1、‘linear’ (uT*v)

2、‘poly’ ((gamma*uT*v +coef0)^degree)

3、‘rbf’ (exp(-gamma*|u-v|^2)), ‘sigmoid’ (tanh(gamma*uT*v + coef0))
其中degree為 [int (for ‘poly’ kernel_type)] degree in kernel

下載并安裝后,調用 其中的SVM模塊對下面的數據進行訓練,這次訓練我們使用線性核做為SVM的核函數

?

x = [[1,8],[3,20],[1,15],[3,35],[5,35],[4,40],[7,80],[6,49]] y=[1,1,0,0,1,0,0,1] showpoint=['ro','bo'] tshowpoint=['r*','b*'] x=np.array(x) y=np.array(y) svm = mlpy.LibSvm() svm.learn(x, y)



本博客所有內容是原創,如果轉載請注明來源

http://blog.csdn.net/myhaspl/


然后生成隨機的未知樣本測試數據驗證生成的SVM模型 ,星號表示未知樣本

?

?

#未知樣本分類 tlp_x1=np.random.rand(50)*(xmax-xmin)+xmin tlp_x2=np.random.rand(50)*(ymax-ymin)+xmin tlp_x=np.array(zip(tlp_x1,tlp_x2)) for ii in xrange(0,len(tlp_x)):ty=svm.pred(tlp_x[ii])if ty>0:plt.plot(tlp_x1[ii],tlp_x2[ii], tshowpoint[int(ty)])else:plt.plot(tlp_x1[ii],tlp_x2[ii], tshowpoint[int(ty)])

>>> runfile(r'K:\book_prog\mplsvm1.py', wdir=r'K:\book_prog')
http://blog.csdn.net/myhaspl
myhaspl@qq.com


loading ?...
>>>?

?

?

總結

以上是生活随笔為你收集整理的数学之路(3)-机器学习(3)-机器学习算法-SVM[7]的全部內容,希望文章能夠幫你解決所遇到的問題。

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