HOME 首頁
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運(yùn)營
CASE 服務(wù)案例
NEWS 熱點(diǎn)資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    svm自定義核函數(shù)(svm核函數(shù)的選擇)

    發(fā)布時(shí)間:2023-04-21 23:15:46     稿源: 創(chuàng)意嶺    閱讀: 105        

    大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于svm自定義核函數(shù)的問題,以下是小編對(duì)此問題的歸納整理,讓我們一起來看看吧。

    開始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話答疑等等

    只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁版、PC客戶端

    官網(wǎng):https://ai.de1919.com。

    創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,如需了解SEO相關(guān)業(yè)務(wù)請(qǐng)撥打電話175-8598-2043,或添加微信:1454722008

    本文目錄:

    svm自定義核函數(shù)(svm核函數(shù)的選擇)

    一、svm常用核心函數(shù)有哪些?

    (1)線性核函數(shù): K(X,Xp)=X’*Xp

    (2)多項(xiàng)式核函數(shù)

    采用該函數(shù)的SVM是一個(gè)q階多項(xiàng)式分類器,其中q為由用戶決定的參數(shù)。

    (3)Gauss核函數(shù)

    采用該函數(shù)的SVM是一種徑向積函數(shù)分類器。

    (4)Sigmoid核函數(shù)

    二、請(qǐng)教libSVM中一類SVM訓(xùn)練及測試的參數(shù)設(shè)置問題

     -s svm類型:SVM設(shè)置類型(默認(rèn)0)

    % 0 -- C-SVC

    % 1 --v-SVC

    % 2 – 一類SVM

    % 3 -- e -SVR

    % 4 -- v-SVR

    % -t 核函數(shù)類型:核函數(shù)設(shè)置類型(默認(rèn)2)

    % 0 – 線性:u'v

    % 1 – 多項(xiàng)式:(r*u'v + coef0)^degree

    % 2 – RBF函數(shù):exp(-r|u-v|^2)

    % 3 –sigmoid:tanh(r*u'v + coef0)

    % 4 -- precomputed kernel (kernel values in training_instance_matrix)

    % -d degree:核函數(shù)中的degree設(shè)置(針對(duì)多項(xiàng)式核函數(shù))(默認(rèn)3)

    % -g r(gama):核函數(shù)中的gamma函數(shù)設(shè)置(針對(duì)多項(xiàng)式/rbf/sigmoid核函數(shù))(默認(rèn)1/ k)

    % -r coef0:核函數(shù)中的coef0設(shè)置(針對(duì)多項(xiàng)式/sigmoid核函數(shù))((默認(rèn)0)

    % -c cost:設(shè)置C-SVC,e -SVR和v-SVR的參數(shù)(損失函數(shù))(默認(rèn)1)

    % -n nu:設(shè)置v-SVC,一類SVM和v- SVR的參數(shù)(默認(rèn)0.5)

    % -p p:設(shè)置e -SVR 中損失函數(shù)p的值(默認(rèn)0.1)

    % -m cachesize:設(shè)置cache內(nèi)存大小,以MB為單位(默認(rèn)40)

    % -e eps:設(shè)置允許的終止判據(jù)(默認(rèn)0.001)

    % -h shrinking:是否使用啟發(fā)式,0或1(默認(rèn)1)

    三、SVM算法采用高斯核函數(shù),核函數(shù)的參數(shù)對(duì)結(jié)果影響大嗎

    核函數(shù)一般是為了解決維度過高導(dǎo)致的計(jì)算能力不足的缺陷,實(shí)質(zhì)就是特征向量內(nèi)積的平方。

    為什么會(huì)提出核函數(shù):

    一般我們?cè)诮鉀Q一般的分類或者回歸問題的時(shí)候,給出的那個(gè)數(shù)據(jù)可能在低維空間并不線性可分,但是我們選用的模型卻是在特征空間中構(gòu)造超平面,從而進(jìn)行分類,如果在低維空間中直接使用模型,很明顯,效果必然會(huì)大打折扣。

    但是!如果我們能夠?qū)⒌途暱臻g的特征向量映射到高維空間,那么這些映射后的特征線性可分的可能性更大【記住這里只能說是可能性更大,并不能保證映射過去一定線性可分】,由此我們可以構(gòu)造映射函數(shù),但問題隨之而來了,維度擴(kuò)大,那么隨之而言的計(jì)算成本就增加了,模型效果好了,但是可用性降低,那也是不行的。

    于是有人提出了核函數(shù)的概念,可以在低維空間進(jìn)行高維度映射過后的計(jì)算,使得計(jì)算花銷大為降低,由此,使得映射函數(shù)成為了可能。舉個(gè)簡單的例子吧,假設(shè)我們的原始樣本特征維度為2,將其映射到三維空間,隨便假設(shè)我們的映射函數(shù)為f(x1,x2)

    =

    (x1^2,

    x2^2,

    2*x1*x2),那么在三維空間中,樣本線性可分更大,但是向量內(nèi)積的計(jì)算開銷從4提高到9【如果從10維映射到1000維,那么計(jì)算花銷就提高了10000倍,而實(shí)際情況下,特征維度幾萬上百萬十分常見】,再看對(duì)于樣本n1=(a1,a2),n2=(b1,b2),映射到三維空間之后,兩者的內(nèi)積I1為:a1^2

    *

    b1^2

    +

    a2^2

    *

    b2^2

    +

    4

    *

    a1

    *

    a2

    *

    b1

    *

    b2,此時(shí),又有,n1,n2在二維空間中的內(nèi)積為:a1b1

    +

    a2b2,平方之后為I2:a1^2

    *

    b1^2

    +

    a2^2

    *

    b2^2

    +

    4

    *

    a1

    *

    a2

    *

    b1

    *

    b2,此時(shí)

    I1

    I2

    是不是很相似,只要我們將f(x1,x2)調(diào)整為:

    (x1^2,

    x2^2,

    根號(hào)(2*x1*x2)

    )

    ,那么此時(shí)就有I1

    =

    I2,也就是說,映射到三維空間里的內(nèi)積,可以通過二維空間的內(nèi)積的平方進(jìn)行計(jì)算!

    個(gè)人博客:www.idiotaron.org

    里有關(guān)于svm核函數(shù)的描述~

    實(shí)際上核函數(shù)還是挺難找的,目前常用的有多項(xiàng)式核,高斯核,還有線性核。

    希望能幫到你,也希望有更好的想法,在下面分享下哈。

    四、支持向量機(jī)(SVM)常見問題

    SVM是一種二分類模型。它的基本模型是在特征空間中尋找間隔最大化的分離超平面的線性分類器。(間隔最大化是它的獨(dú)特之處),通過該超平面實(shí)現(xiàn)對(duì)未知樣本集的分類。

    意義:原始樣本空間中可能不存在這樣可以將樣本正確分為兩類的超平面,但是我們知道如果原始空間的維數(shù)是有限的,也就是說屬性數(shù)是有限的,則一定存在一個(gè)高維特征空間能夠?qū)颖緞澐帧VM通過核函數(shù)將輸入空間映射到高維特征空間,最終在高維特征空間中構(gòu)造出最優(yōu)分離超平面,從而把平面上本身無法線性可分的數(shù)據(jù)分開。核函數(shù)的真正意義是做到了沒有真正映射到高維空間卻達(dá)到了映射的作用,即減少了大量的映射計(jì)算。

    選擇:

    利用專家先驗(yàn)知識(shí)選定核函數(shù),例如已經(jīng)知道問題是線性可分的,就可以使用線性核,不必選用非線性核。

    如果特征的數(shù)量大到和樣本數(shù)量差不多,則選用線性核函數(shù)SVM或LR。

    如果特征的數(shù)量小,樣本的數(shù)量正常,則選用高斯核函數(shù)SVM。

    如果特征的數(shù)量小,樣本數(shù)量很多,由于求解最優(yōu)化問題的時(shí)候,目標(biāo)函數(shù)涉及兩兩樣本計(jì)算內(nèi)積,使用高斯核明顯計(jì)算量會(huì)大于線性核,所以手動(dòng)添加一些特征,使得線性可分,然后可以用LR或者線性核的SVM;

    利用交叉驗(yàn)證,試用不同的核函數(shù),誤差最小的即為效果最好的核函數(shù)。

    混合核函數(shù)方法,將不同的核函數(shù)結(jié)合起來。

    當(dāng)訓(xùn)練數(shù)據(jù)線性可分時(shí),存在無窮個(gè)分離超平面可以將兩類數(shù)據(jù)正確分開。感知機(jī)或神經(jīng)網(wǎng)絡(luò)等利用誤分類最小策略,求得分離超平面,不過此時(shí)的解有無窮多個(gè)。線性可分支持向量機(jī)利用間隔最大化求得最優(yōu)分離超平面,這時(shí),解是唯一的。另一方面,此時(shí)的分隔超平面所產(chǎn)生的分類結(jié)果是最魯棒的,對(duì)未知實(shí)例的泛化能力最強(qiáng)。

    增、刪非支持向量樣本對(duì)模型沒有影響;

    支持向量樣本集具有一定的魯棒性;

    有些成功的應(yīng)用中,SVM 方法對(duì)核的選取不敏感

    噪聲數(shù)量太多

    噪聲以新的分布形式出現(xiàn),與原先樣本集的噪聲分布表現(xiàn)的相當(dāng)不同。此時(shí)噪聲也有大概率落在最大分類間隔中間,從而成為支持向量,大大影響模型。

    所以我們常說的魯棒性其實(shí)是主要是體現(xiàn)在對(duì)Outlier(異常點(diǎn)、離群點(diǎn))上。

    這里說的缺失數(shù)據(jù)是指缺失某些特征數(shù)據(jù),向量數(shù)據(jù)不完整。SVM沒有處理缺失值的策略(決策樹有)。而SVM希望樣本在特征空間中線性可分,若存在缺失值它們?cè)谠撎卣骶S度很難正確的分類(例如SVM要度量距離(distance measurement),高斯核,那么缺失值處理不當(dāng)就會(huì)導(dǎo)致效果很差),所以特征空間的好壞對(duì)SVM的性能很重要。缺失特征數(shù)據(jù)將影響訓(xùn)練結(jié)果的好壞。

    SVM的空間消耗主要是在存儲(chǔ)訓(xùn)練樣本和核矩陣,由于SVM是借助二次規(guī)劃來求解支持向量,而求解二次規(guī)劃將涉及m階矩陣的計(jì)算(m為樣本的個(gè)數(shù)),當(dāng)m數(shù)目很大時(shí)該矩陣的存儲(chǔ)和計(jì)算將耗費(fèi)大量的內(nèi)存和運(yùn)算時(shí)間。如果數(shù)據(jù)量很大,SVM的訓(xùn)練時(shí)間就會(huì)比較長,所以SVM在大數(shù)據(jù)的使用中比較受限。

    過擬合是什么就不再解釋了。SVM其實(shí)是一個(gè)自帶L2正則項(xiàng)的分類器。SVM防止過擬合的主要技巧就在于調(diào)整軟間隔松弛變量的懲罰因子C。C越大表明越不能容忍錯(cuò)分,當(dāng)無窮大時(shí)則退化為硬間隔分類器。合適的C大小可以照顧到整體數(shù)據(jù)而不是被一個(gè)Outlier給帶偏整個(gè)判決平面。至于C大小的具體調(diào)參通??梢圆捎媒徊骝?yàn)證來獲得。每個(gè)松弛變量對(duì)應(yīng)的懲罰因子可以不一樣。

    一般情況下,低偏差,高方差,即遇到過擬合時(shí),減小C;高偏差,低方差,即遇到欠擬合時(shí),增大C。

    樣本偏斜是指數(shù)據(jù)集中正負(fù)類樣本數(shù)量不均,比如正類樣本有10000個(gè),負(fù)類樣本只有100個(gè),這就可能使得超平面被“推向”負(fù)類(因?yàn)樨?fù)類數(shù)量少,分布得不夠廣),影響結(jié)果的準(zhǔn)確性。

    對(duì)于樣本偏斜(樣本不平衡)的情況,在各種機(jī)器學(xué)習(xí)方法中,我們有針對(duì)樣本的通用處理辦法:如上(下)采樣,數(shù)據(jù)合成,加權(quán)等。

    僅在SVM中,我們可以通過為正負(fù)類樣本設(shè)置不同的懲罰因子來解決樣本偏斜的問題。具體做法是為負(fù)類設(shè)置大一點(diǎn)的懲罰因子,因?yàn)樨?fù)類本來就少,不能再分錯(cuò)了,然后正負(fù)類的懲罰因子遵循一定的比例,比如正負(fù)類數(shù)量比為100:1,則懲罰因子的比例直接就定為1:100,具體值要通過實(shí)驗(yàn)確定。

    優(yōu)點(diǎn):

    非線性映射是SVM方法的理論基礎(chǔ),SVM利用內(nèi)積核函數(shù)代替向高維空間的非線性映射;

    對(duì)特征空間劃分的最優(yōu)超平面是SVM的目標(biāo),最大化分類邊際的思想是SVM方法的核心;

    支持向量是SVM的訓(xùn)練結(jié)果,在SVM分類決策中起決定作用的是支持向量;

    SVM 的最終決策函數(shù)只由少數(shù)的支持向量所確定,計(jì)算的復(fù)雜性取決于支持向量的數(shù)目,而不是樣本空間的維數(shù),這在某種意義上避免了“維數(shù)災(zāi)難”。

    小樣本集上分類效果通常比較好。

    少數(shù)支持向量決定了最終結(jié)果,這不但可以幫助我們抓住關(guān)鍵樣本、“剔除”大量冗余樣本,而且注定了該方法不但算法簡單,而且具有較好的“魯棒”性。這種“魯棒”性主要體現(xiàn)在:

    ①增、刪非支持向量樣本對(duì)模型沒有影響;

    ②支持向量樣本集具有一定的魯棒性;

    ③有些成功的應(yīng)用中,SVM 方法對(duì)核的選取不敏感

    SVM 是一種有堅(jiān)實(shí)理論基礎(chǔ)的新穎的小樣本學(xué)習(xí)方法。它基本上不涉及概率測度及大數(shù)定律等,因此不同于現(xiàn)有的統(tǒng)計(jì)方法。從本質(zhì)上看,它避開了從歸納到演繹的傳統(tǒng)過程,實(shí)現(xiàn)了高效的從訓(xùn)練樣本到預(yù)報(bào)樣本的“轉(zhuǎn)導(dǎo)推理”,大大簡化了通常的分類和回歸等問題。

    缺點(diǎn):

    SVM算法對(duì)大規(guī)模訓(xùn)練樣本難以實(shí)施。由于SVM是借助二次規(guī)劃來求解支持向量,而求解二次規(guī)劃將涉及m階矩陣的計(jì)算(m為樣本的個(gè)數(shù)),當(dāng)m數(shù)目很大時(shí)該矩陣的存儲(chǔ)和計(jì)算將耗費(fèi)大量的機(jī)器內(nèi)存和運(yùn)算時(shí)間(上面有講)。

    用SVM解決多分類問題存在困難。傳統(tǒng)的SVM就是解決二分類問題的,上面有介紹不少解決多分類問題的SVM技巧,不過各種方法都一定程度上的缺陷。

    對(duì)缺失值敏感,核函數(shù)的選擇與調(diào)參比較復(fù)雜。

    答:使用ROC曲線。Roc曲線下的面積,介于0.1和1之間。AUC值是一個(gè)概率值,當(dāng)你隨機(jī)挑選一個(gè)正樣本以及負(fù)樣本,當(dāng)前的分類算法根據(jù)計(jì)算得到的Score值將這個(gè)正樣本排在負(fù)樣本前面的概率就是AUC值,AUC值越大,當(dāng)前分類算法越有可能將正樣本排在負(fù)樣本前面。Auc作為數(shù)值可以直觀的評(píng)價(jià)分類器的好壞,值越大越好,隨機(jī)情況大概是0.5,所以一般不錯(cuò)的分類器AUC至少要大于0.5。

    選擇ROC和ROC下曲線面積是因?yàn)榉诸悊栴}經(jīng)常會(huì)碰到正負(fù)樣本不均衡的問題,此時(shí)準(zhǔn)確率和召回率不能有效評(píng)價(jià)分類器的性能,而ROC曲線有個(gè)很好的特性:當(dāng)測試集中的正負(fù)樣本的分布變換的時(shí)候,ROC曲線能夠保持不變。

    答:大值特征會(huì)掩蓋小值特征(內(nèi)積計(jì)算)。高斯核會(huì)計(jì)算向量間的距離,也會(huì)產(chǎn)生同樣的問題;多項(xiàng)式核會(huì)引起數(shù)值問題。影響求解的速度。數(shù)據(jù)規(guī)范化后,會(huì)丟失一些信息。預(yù)測的時(shí)候,也要進(jìn)行規(guī)范化

    答:1)訓(xùn)練速度:線性核只需要調(diào)節(jié)懲罰因子一個(gè)參數(shù),所以速度快;多項(xiàng)式核參數(shù)多,難調(diào);徑向基核函數(shù)還需要調(diào)節(jié)γ,需要計(jì)算e的冪,所以訓(xùn)練速度變慢?!菊{(diào)參一般使用交叉驗(yàn)證,所以速度會(huì)慢】

    2)訓(xùn)練結(jié)果:線性核的得到的權(quán)重w可以反映出特征的重要性,從而進(jìn)行特征選擇;多項(xiàng)式核的結(jié)果更加直觀,解釋性強(qiáng);徑向基核得到權(quán)重是無法解釋的。

    3)適應(yīng)的數(shù)據(jù):線性核:樣本數(shù)量遠(yuǎn)小于特征數(shù)量(n<<m)【此時(shí)不需要映射到高維】,或者樣本數(shù)量與特征數(shù)量都很大【此時(shí)主要考慮訓(xùn)練速度】;徑向基核:樣本數(shù)量遠(yuǎn)大于特征數(shù)量(n>>m)

    答:如果σ選得很大的話,高次特征上的權(quán)重實(shí)際上衰減得非常快,使用泰勒展開就可以發(fā)現(xiàn),當(dāng)很大的時(shí)候,泰勒展開的高次項(xiàng)的系數(shù)會(huì)變小得很快,所以實(shí)際上相當(dāng)于一個(gè)低維的子空間;

    如果σ選得很小,則可以將任意的數(shù)據(jù)映射為線性可分——當(dāng)然,這并不一定是好事,因?yàn)殡S之而來的可能是非常嚴(yán)重的過擬合問題,因?yàn)榇藭r(shí)泰勒展開式中有效的項(xiàng)將變得非常多,甚至無窮多,那么就相當(dāng)于映射到了一個(gè)無窮維的空間,任意數(shù)據(jù)都將變得線性可分。

    相同

    第一,LR和SVM都是分類算法。

    第二,如果不考慮核函數(shù),LR和SVM都是線性分類算法,也就是說他們的分類決策面都是線性的。

    第三,LR和SVM都是監(jiān)督學(xué)習(xí)算法。

    第四,LR和SVM都是判別模型。

    第五,LR和SVM都有很好的數(shù)學(xué)理論支撐。

    不同

    第一,loss function不同。

    第二,支持向量機(jī)只考慮局部的邊界線附近的點(diǎn),而邏輯回歸考慮全局(遠(yuǎn)離的點(diǎn)對(duì)邊界線的確定也起作用)。

    第三,在解決非線性問題時(shí),支持向量機(jī)采用核函數(shù)的機(jī)制,而LR通常不采用核函數(shù)的方法。在計(jì)算決策面時(shí),SVM算法里只有少數(shù)幾個(gè)代表支持向量的樣本參與了計(jì)算,也就是只有少數(shù)幾個(gè)樣本需要參與核計(jì)算(即kernal machine解的系數(shù)是稀疏的)。然而,LR算法里,每個(gè)樣本點(diǎn)都必須參與決策面的計(jì)算過程,也就是說,假設(shè)我們?cè)贚R里也運(yùn)用核函數(shù)的原理,那么每個(gè)樣本點(diǎn)都必須參與核計(jì)算,這帶來的計(jì)算復(fù)雜度是相當(dāng)高的。所以,在具體應(yīng)用時(shí),LR很少運(yùn)用核函數(shù)機(jī)制。​

    第四,​線性SVM依賴數(shù)據(jù)表達(dá)的距離測度,所以需要對(duì)數(shù)據(jù)先做normalization,LR不受其影響。一個(gè)計(jì)算概率,一個(gè)計(jì)算距離!​

    第五,SVM的損失函數(shù)就自帶正則?。。。〒p失函數(shù)中的1/2||w||^2項(xiàng)),這就是為什么SVM是結(jié)構(gòu)風(fēng)險(xiǎn)最小化算法的原因?。?!而LR必須另外在損失函數(shù)上添加正則項(xiàng)!??!所謂結(jié)構(gòu)風(fēng)險(xiǎn)最小化,意思就是在訓(xùn)練誤差和模型復(fù)雜度之間尋求平衡,防止過擬合,從而達(dá)到真實(shí)誤差的最小化。未達(dá)到結(jié)構(gòu)風(fēng)險(xiǎn)最小化的目的,最常用的方法就是添加正則項(xiàng),SVM的目標(biāo)函數(shù)里居然自帶正則項(xiàng)!??!再看一下上面提到過的SVM目標(biāo)函數(shù):

    我們?cè)賮砜纯?,所謂out lier,是怎么產(chǎn)生的,無非有兩種情況,一種就是這個(gè)樣本的標(biāo)簽y搞錯(cuò)了,一種就是沒搞錯(cuò),但這個(gè)樣本是一個(gè)個(gè)例,不具備統(tǒng)計(jì)特性。

    不論對(duì)于哪一種情況,svm會(huì)在f將這個(gè)out lier預(yù)測的比較正確時(shí),就停止,不會(huì)一直優(yōu)化對(duì)out lier的預(yù)測,因?yàn)闆]有什么太大意義了。而lr則不同,它會(huì)繼續(xù)要求f對(duì)這個(gè)out lier的預(yù)測進(jìn)行優(yōu)化,并且永不停止,顯然,這樣的優(yōu)化很可能會(huì)削弱f的泛化性能,因?yàn)闆]有必要死磕out lier 。

    答案就是SVM?。。?

    以上就是關(guān)于svm自定義核函數(shù)相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。


    推薦閱讀:

    百度網(wǎng)盤白嫖svip(百度網(wǎng)盤白嫖超級(jí)會(huì)員)

    2022百度網(wǎng)盤svip一天激活碼(百度云超級(jí)會(huì)員試用1天激活碼)

    vis是啥牌子(visvim是什么牌子)

    宜昌餐飲品牌設(shè)計(jì)怎么做(宜昌餐飲品牌設(shè)計(jì)怎么做出來的)

    齊家柚子裝修(齊家柚子裝修效果圖)