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

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

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

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

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

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

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

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

    本文目錄:

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

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

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

    (2)多項式核函數(shù)

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

    (3)Gauss核函數(shù)

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

    (4)Sigmoid核函數(shù)

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

     -s svm類型:SVM設置類型(默認0)

    % 0 -- C-SVC

    % 1 --v-SVC

    % 2 – 一類SVM

    % 3 -- e -SVR

    % 4 -- v-SVR

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

    % 0 – 線性:u'v

    % 1 – 多項式:(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ù))(默認3)

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

    % -r coef0:核函數(shù)中的coef0設置(針對多項式/sigmoid核函數(shù))((默認0)

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

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

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

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

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

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

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

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

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

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

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

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

    =

    (x1^2,

    x2^2,

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

    *

    b1^2

    +

    a2^2

    *

    b2^2

    +

    4

    *

    a1

    *

    a2

    *

    b1

    *

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

    +

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

    *

    b1^2

    +

    a2^2

    *

    b2^2

    +

    4

    *

    a1

    *

    a2

    *

    b1

    *

    b2,此時

    I1

    I2

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

    (x1^2,

    x2^2,

    根號(2*x1*x2)

    )

    ,那么此時就有I1

    =

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

    個人博客:www.idiotaron.org

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

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

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

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

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

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

    選擇:

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

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

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

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

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

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

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

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

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

    有些成功的應用中,SVM 方法對核的選取不敏感

    噪聲數(shù)量太多

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

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

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

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

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

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

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

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

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

    優(yōu)點:

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

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

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

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

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

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

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

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

    ③有些成功的應用中,SVM 方法對核的選取不敏感

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

    缺點:

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

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

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

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

    選擇ROC和ROC下曲線面積是因為分類問題經(jīng)常會碰到正負樣本不均衡的問題,此時準確率和召回率不能有效評價分類器的性能,而ROC曲線有個很好的特性:當測試集中的正負樣本的分布變換的時候,ROC曲線能夠保持不變。

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

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

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

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

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

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

    相同

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

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

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

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

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

    不同

    第一,loss function不同。

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

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

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

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

    我們再來看看,所謂out lier,是怎么產(chǎn)生的,無非有兩種情況,一種就是這個樣本的標簽y搞錯了,一種就是沒搞錯,但這個樣本是一個個例,不具備統(tǒng)計特性。

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

    答案就是SVM?。?!

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


    推薦閱讀:

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

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

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

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

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