在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SVM的使用方法

恩智浦MCU加油站 ? 來源:恩智浦MCU加油站 ? 2024-01-25 09:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

上一篇本著回歸傳統(tǒng)的觀點(diǎn),在這個(gè)深度學(xué)習(xí)繁榮發(fā)展的時(shí)期,帶著大家認(rèn)識(shí)了一位新朋友,英文名SVM,中文名為支持向量機(jī),是一種基于傳統(tǒng)方案的機(jī)器學(xué)習(xí)方案,同樣的,支持根據(jù)輸入的數(shù)據(jù)進(jìn)行訓(xùn)練,以進(jìn)行分類等任務(wù)。

那么怎么理解這個(gè)支持向量呢,簡(jiǎn)單來說,這些支持向量就是我們從輸入數(shù)據(jù)中挑選的一些代表性數(shù)據(jù)。這些數(shù)據(jù)可以是一個(gè)或多個(gè),當(dāng)我們通過訓(xùn)練獲取這些向量即得到了一個(gè)svm模型后,所有采集到的新數(shù)據(jù),都要和這些代表數(shù)據(jù)進(jìn)行對(duì)比以判斷歸屬。當(dāng)然這里的支持向量根據(jù)分類的類別數(shù),可以存在多組,以實(shí)現(xiàn)多分類。

為了更好的說明,SVM的工作原理,這里用一個(gè)python代碼給大家展示一下如何使用SVM進(jìn)行一個(gè)單分類任務(wù)。之后還會(huì)給大家介紹一個(gè)小編和同事開發(fā)的實(shí)際應(yīng)用SVM的異常檢測(cè)項(xiàng)目,讓大家實(shí)際看下SVM的應(yīng)用效果。

那就先從python代碼開始,先開門瞧瞧SVM的世界,請(qǐng)看代碼:

(悄悄地說:請(qǐng)各位事先安裝numpy,matplotlib以及scikit-learn庫(kù))

import numpy as np
import matplotlib.pyplot as plt
from sklearn import svm
from sklearn.datasets import load_iris


# Load the Iris dataset
iris = load_iris()
X = iris.data[:, :2]  # Select only the first two features for visualization


# Select a single class for one-class classification (Class 0)
X_train = X[iris.target == 0]


# Create and train the One-Class SVM model
model = svm.OneClassSVM(kernel='rbf', nu=0.05, gamma = 1)
model.fit(X_train)


# Generate test data
x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1
y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1
xx, yy = np.meshgrid(np.linspace(x_min, x_max, 500), np.linspace(y_min, y_max, 500))
Z = model.predict(np.c_[xx.ravel(), yy.ravel()])
Z = Z.reshape(xx.shape)


# Plot the training data and decision boundary
plt.scatter(X_train[:, 0], X_train[:, 1], color='blue', label='Inliers')
plt.contourf(xx, yy, Z, levels=[-1, 0], colors='lightgray', alpha=0.5)
plt.contour(xx, yy, Z, levels=[0], linewidths=2, colors='darkred')


support_vector_indices = model.support_
support_vectors = X_train[support_vector_indices]


# pait the support vector
plt.scatter(support_vectors[:, 0], support_vectors[:, 1], color='red', label='Support Vectors')


plt.xlabel('Sepal length')
plt.ylabel('Sepal width')
plt.title('One-Class SVM - Iris Dataset')
plt.legend()
plt.show()

以上代碼,我們就使用svm. OneClassSVM構(gòu)建了一個(gè)單分類SVM模型,并使用著名的鳶尾花數(shù)據(jù)集進(jìn)行模型訓(xùn)練;最終利用matplotlib庫(kù)進(jìn)行結(jié)果繪制,結(jié)果通過model.predict獲取,并將最終訓(xùn)練得到的支持向量用紅色點(diǎn)繪制出來,先來看看運(yùn)行效果:

7b8daca6-bb1b-11ee-8b88-92fbcf53809c.png

中間的暗紅色區(qū)域就是模型所訓(xùn)練出來的決策區(qū)域,可以簡(jiǎn)單認(rèn)為落在紅色區(qū)域里面的點(diǎn)就是屬于我們這一類的。這里我們?cè)谟?xùn)練SVM模型時(shí)候,選擇了兩個(gè)特征,分別是花萼的長(zhǎng)度以及寬度,當(dāng)然也可以多選擇幾組特征(只不過不好圖形化顯示了)。

相信大家也注意到了,svm.OneClassSVM函數(shù)中有兩個(gè)參數(shù),nu和gamma,這兩個(gè)可是模型好壞的關(guān)鍵:

nu 控制訓(xùn)練誤差和支持向量數(shù)之間的權(quán)衡。它表示訓(xùn)練誤差的上限和支持向量數(shù)的下限。較小的nu 值允許更多的支持向量和更靈活的決策邊界,而較大的 nu 值限制支持向量數(shù)并導(dǎo)致更保守的決策邊界。

gamma 定義每個(gè)訓(xùn)練樣本的影響力。它確定訓(xùn)練樣本的影響范圍,并影響決策邊界的平滑程度。較小的 gamma 值使決策邊界更平滑,并導(dǎo)致每個(gè)訓(xùn)練樣本的影響范圍更大。相反,較大的值使決策邊界更復(fù)雜,并導(dǎo)致每個(gè)訓(xùn)練樣本的影響范圍更小。

接下來我們就實(shí)際測(cè)試下,調(diào)整gamma值從1到100:

7b9c4180-bb1b-11ee-8b88-92fbcf53809c.png

正如上面所述,gamma值變大使得決策區(qū)域變得復(fù)雜,并且似乎每一個(gè)訓(xùn)練數(shù)據(jù)都變成了支持向量。

接下來我們看看調(diào)整nu的情況,nu從0.05->0.5:

7bb0a242-bb1b-11ee-8b88-92fbcf53809c.png

決策邊界正如上文所講,變得更加保守了。不過,在實(shí)際使用中,我們需要聯(lián)合調(diào)整nu和gamma參數(shù),以獲取最佳的模型擬合效果,當(dāng)然這就是經(jīng)驗(yàn)之談了。所謂:煉丹的過程,沒錯(cuò),即便我們回歸傳統(tǒng),煉丹的過程也依舊還是存在的。

好了,那本期小編就給大家先分享到這里,下期將為大家?guī)硪粋€(gè)實(shí)打?qū)嵉模瑢畏诸恠vm用作異常檢測(cè)的實(shí)際項(xiàng)目,敬請(qǐng)期待!!

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • SVM
    SVM
    +關(guān)注

    關(guān)注

    0

    文章

    154

    瀏覽量

    33017
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3504

    瀏覽量

    50191
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8499

    瀏覽量

    134311
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5557

    瀏覽量

    122641

原文標(biāo)題:讓機(jī)器學(xué)習(xí)回歸傳統(tǒng)之SVM使用方法

文章出處:【微信號(hào):NXP_SMART_HARDWARE,微信公眾號(hào):恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    逆變器的調(diào)制方法進(jìn)階篇—空間矢量調(diào)制SVM

    這篇文章將介紹一種新的調(diào)制方法,空間矢量調(diào)制 (Space Vector Modulation),簡(jiǎn)稱 SVM
    的頭像 發(fā)表于 11-09 14:14 ?2971次閱讀
    逆變器的調(diào)制<b class='flag-5'>方法</b>進(jìn)階篇—空間矢量調(diào)制<b class='flag-5'>SVM</b>

    一種基于凸殼算法的SVM集成方法

    為提高支持向量機(jī)(SVM)集成的訓(xùn)練速度,提出一種基于凸殼算法的SVM 集成方法,得到訓(xùn)練集各類數(shù)據(jù)的殼向量,將其作為基分類器的訓(xùn)練集,并采用Bagging 策略集成各個(gè)SVM。在訓(xùn)
    發(fā)表于 04-16 11:43 ?10次下載

    示波器的使用方法

    示波器的使用方法 1 示波器使用        本節(jié)介紹示波器的使用方法。示波器種類、型號(hào)很多,功能也不同。
    發(fā)表于 01-14 13:06 ?1.9w次閱讀

    Matlab使用方法和程序設(shè)計(jì)

    Matlab使用方法和程序設(shè)計(jì) 實(shí)驗(yàn)一 Matlab使用方法和程序設(shè)計(jì)一、
    發(fā)表于 10-17 00:18 ?5567次閱讀
    Matlab<b class='flag-5'>使用方法</b>和程序設(shè)計(jì)

    示波器的使用方法

    數(shù)字萬用表使用方法和示波器的使用方法詳解。
    發(fā)表于 03-14 10:38 ?32次下載

    基于優(yōu)化SVM模型的網(wǎng)絡(luò)負(fù)面信息分類方法研究

    基于優(yōu)化SVM模型的網(wǎng)絡(luò)負(fù)面信息分類方法研究_鄭金芳
    發(fā)表于 01-07 18:56 ?0次下載

    基于SVM的梅雨量預(yù)測(cè)方法朱天一

    基于SVM的梅雨量預(yù)測(cè)方法_朱天一
    發(fā)表于 03-17 09:28 ?0次下載

    基于行為識(shí)別和SVM的短信過濾方法研究_趙英剛

    基于行為識(shí)別和SVM的短信過濾方法研究_趙英剛
    發(fā)表于 03-16 14:37 ?0次下載

    基于LLE和SVM的手部動(dòng)作識(shí)別方法_伍吉瑤

    基于LLE和SVM的手部動(dòng)作識(shí)別方法_伍吉瑤
    發(fā)表于 03-19 19:08 ?1次下載

    xilinx 原語使用方法

    xilinx 原語使用方法
    發(fā)表于 10-17 08:57 ?11次下載
    xilinx 原語<b class='flag-5'>使用方法</b>

    ORCAD PSPICE 使用方法

    ORCAD PSPICE 使用方法
    發(fā)表于 10-18 14:52 ?39次下載
    ORCAD PSPICE <b class='flag-5'>使用方法</b>

    采用SVM的網(wǎng)頁分類方法研究

    支持向量機(jī)SVM一種可訓(xùn)練的機(jī)器學(xué)習(xí)方法,它對(duì)小樣本進(jìn)行學(xué)習(xí),得到一個(gè)分類函數(shù),冉將待測(cè)文本代入此分類函數(shù)中判定文本所屬的類別。SVM的特點(diǎn)是:SVM可以通過映射把低維樣本宅間映射到高
    發(fā)表于 11-08 11:42 ?3次下載

    淺析SVM多核學(xué)習(xí)方法

    SVM是機(jī)器學(xué)習(xí)有監(jiān)督學(xué)習(xí)的一種方法,常用于解決分類問題,其基本原理是:在特征空間里尋找一個(gè)超平面,以最小的錯(cuò)分率把正負(fù)樣本分開。因?yàn)?b class='flag-5'>SVM既能達(dá)到工業(yè)界的要求,機(jī)器學(xué)習(xí)研究者又能知道其背后的原理,所以
    的頭像 發(fā)表于 05-04 18:16 ?2064次閱讀
    淺析<b class='flag-5'>SVM</b>多核學(xué)習(xí)<b class='flag-5'>方法</b>

    示波器的使用方法(三):示波器的使用方法詳解

    示波器的使用方法并非很難,重點(diǎn)在于正確使用示波器的使用方法。往期文章中,小編對(duì)模擬示波器的使用方法和數(shù)字示波器的使用方法均有所介紹。為增進(jìn)大家對(duì)示波器的
    的頭像 發(fā)表于 12-24 20:37 ?3767次閱讀

    基于SVM的電機(jī)異常檢測(cè)系統(tǒng)

    之前為大家?guī)砹藘善P(guān)于SVM的介紹與基于python的使用方法。相信大家都已經(jīng)上手體驗(yàn),嘗鮮了鳶尾花數(shù)據(jù)集了吧。
    的頭像 發(fā)表于 04-18 10:34 ?1259次閱讀
    基于<b class='flag-5'>SVM</b>的電機(jī)異常檢測(cè)系統(tǒng)
    主站蜘蛛池模板: 亚洲综合成人在线 | 色综合88 | 四虎影院网站 | 日韩一级视频 | 国产三级日本三级韩国三级在线观看 | 欧美日本免费 | 欧美色图综合 | 国产小福利 | 天天草夜夜爽 | 一色屋免费视频 | 一级片在线免费 | china国语对白刺激videos chinese国产videoxx实拍 | 色婷婷亚洲精品综合影院 | 米奇777四色精品人人爽 | 欧美女人天堂 | 亚洲91| 成人免费视频一区二区三区 | 久操视频在线播放 | 男人不识本网站上遍色站也枉然 | 精品视频在线观看视频免费视频 | 欧美一区二区三区性 | 人人澡人| 毛片8| 特黄一级黄色片 | 一区二区三区精品国产欧美 | 欧美1| 成人综合激情 | 天使色| 天天看天天操 | 欧美色碰碰碰免费观看长视频 | 色秀视频免费高清网站 | 色狠狠成人综合网 | 色视频免费在线观看 | 丁香狠狠色婷婷久久综合 | 狠狠干狠狠插 | 国产小视频免费看 | 天堂影院在线 | 中国一级黄色毛片 | 国模私拍视频 | 萝l在线精品社区资源 | 男人在线网站 |