機(jī)器學(xué)習(xí)之支持向量機(jī)算法
怎么理解支持向量機(jī)SVM算法這一概念及其應(yīng)用場(chǎng)景?這篇文章里,作者做了相對(duì)詳細(xì)的分析和解讀,一起來(lái)看一下。
一、什么叫支持向量機(jī)算法
支持向量機(jī)SVM算法,英文全稱(chēng)是“Support Vector Machine”。在機(jī)器學(xué)習(xí)中,SVM是監(jiān)督學(xué)習(xí)下的二分類(lèi)算法,可用于分類(lèi)和回歸任務(wù)。
二、基本原理
SVM的核心任務(wù)就是:構(gòu)建一個(gè)N-1維的分割超平面來(lái)實(shí)現(xiàn)對(duì)N維樣本數(shù)據(jù)放入劃分,認(rèn)定的分隔超平面兩側(cè)的樣本點(diǎn)分屬兩個(gè)不同類(lèi)別。我們還是從一個(gè)最為簡(jiǎn)單的示例開(kāi)始講起(二維平面):
情況1:請(qǐng)大家觀察一下,A、B、C三條直線哪一條才是正確的分類(lèi)邊界呢?顯而易見(jiàn),只有A“完整”的區(qū)分了兩種數(shù)據(jù)的決策邊界。
情況2:與情況1不同的是,上圖中,A、B、C三條線都完整的區(qū)分了邊界,那我們應(yīng)該如何選擇呢?既然能分豆的工具這么多,那我們理所當(dāng)然應(yīng)該找一個(gè)最好的是不是?最佳答案應(yīng)該是B,因?yàn)锽與邊數(shù)據(jù)的距離是最遠(yuǎn)的,之所以選擇邊距最遠(yuǎn)的線,是因?yàn)檫@樣它的容錯(cuò)率更高,表現(xiàn)更穩(wěn)定,也就是說(shuō)當(dāng)我們?cè)俅畏湃敫嗟亩沟臅r(shí)候,出錯(cuò)的概率更小。
那么由此推導(dǎo)出,SVM的分類(lèi)方法,首先考慮的是正確分類(lèi);其次考慮的優(yōu)化數(shù)據(jù)到邊界的距離。接下來(lái)更麻煩的情景出現(xiàn)了,請(qǐng)看下圖,這堆豆子要怎么分?如果這是在一個(gè)二維平面上,這些豆子應(yīng)該用一條什么線來(lái)劃分呢?
難道我們真的要在畫(huà)一條無(wú)限曲折的線去劃分嗎?如果再怎樣曲折還是無(wú)法區(qū)分又該怎么做呢?這就是線性不可分的情況,其實(shí)在現(xiàn)實(shí)生活中,大量的問(wèn)題都線性不可分,而SVM正是處理這種線性不可分情況的好幫手。
處理這類(lèi)問(wèn)題的辦法就是,將二維平面轉(zhuǎn)化到一個(gè)三維空間,因?yàn)橥诘途S空間下的非線性問(wèn)題,轉(zhuǎn)化到高維空間中,就變成了線性問(wèn)題。比如說(shuō)上面的圖也許就變成了下方的情況。
如上圖所示,即三維樣本數(shù)據(jù)被二維平面劃分,在二維空間中的不可分問(wèn)題也被轉(zhuǎn)換成了三維線性可分問(wèn)題,可以被支持向量機(jī)處理。基于這個(gè)思想,SVM采用核函數(shù)來(lái)實(shí)現(xiàn)低維空間到高維空間的映射,從而在一定程度上解決了低維空間線性不可分的問(wèn)題。
下面我們簡(jiǎn)述一下關(guān)于核函數(shù)的定義,以利于進(jìn)一步理解他的作用。
核函數(shù):任意兩個(gè)樣本點(diǎn)在擴(kuò)維后的空間的內(nèi)積,如果等于這兩個(gè)樣本點(diǎn)在原來(lái)空間經(jīng)過(guò)一個(gè)函數(shù)后的輸出,那么這個(gè)函數(shù)就叫核函數(shù)。作用:有了這個(gè)核函數(shù),以后的高維內(nèi)積都可以轉(zhuǎn)化為低維的函數(shù)運(yùn)算了,這里也就是只需要計(jì)算低維的內(nèi)積,然后再平方。明顯問(wèn)題得到解決且復(fù)雜度極大降低。總而言之,核函數(shù)它本質(zhì)上隱含了從低維到高維的映射,從而避免直接計(jì)算高維的內(nèi)積。
常用的核函數(shù)有如下一些:例如線性核函數(shù)、多項(xiàng)式核函數(shù)、徑向基核函數(shù)(RBF)、高斯核函數(shù)、拉普拉斯核函數(shù)、sigmoid核函數(shù)等等。三、支持向量機(jī)算法的應(yīng)用步驟
下面是SVM算法應(yīng)用過(guò)程中的關(guān)鍵步驟:
第一步:數(shù)據(jù)準(zhǔn)備與預(yù)處理(通用)在應(yīng)用SVM前,首先需要收集并準(zhǔn)備相關(guān)數(shù)據(jù)。數(shù)據(jù)預(yù)處理步驟可能包括數(shù)據(jù)清洗(去除噪聲和不相關(guān)的數(shù)據(jù)點(diǎn)),數(shù)據(jù)轉(zhuǎn)換(如特征縮放確保不同特征在相近的數(shù)值范圍),以及數(shù)據(jù)標(biāo)準(zhǔn)化處理。
第二步:選擇核函數(shù)根據(jù)數(shù)據(jù)集的特性選擇合適的核函數(shù),是SVM核心的步驟之一。如果數(shù)據(jù)集線性可分,可以選擇線性核;對(duì)于非線性數(shù)據(jù),可以選擇如徑向基函數(shù)(RBF)核或多項(xiàng)式核來(lái)增加數(shù)據(jù)維度并發(fā)掘復(fù)雜的數(shù)據(jù)關(guān)系。
第三步:參數(shù)優(yōu)化優(yōu)化SVM的參數(shù)(例如C參數(shù)和核參數(shù))對(duì)模型的性能有著直接的影響。C參數(shù)決定數(shù)據(jù)點(diǎn)違反間隔的程度的容忍性,而核參數(shù)(如RBF核的γ參數(shù))控制了數(shù)據(jù)映射到高維空間后的分布。
第四步:訓(xùn)練SVM模型使用選定的核函數(shù)和優(yōu)化后的參數(shù),利用訓(xùn)練數(shù)據(jù)來(lái)訓(xùn)練SVM模型。在這個(gè)階段,算法將學(xué)習(xí)劃分不同類(lèi)別的最佳超平面,并確定支持向量。
第五步:模型評(píng)估(通用)利用測(cè)試集來(lái)評(píng)估SVM模型的表現(xiàn)。常見(jiàn)的評(píng)估指標(biāo)包括準(zhǔn)確率、召回率、F1分?jǐn)?shù)等。評(píng)估結(jié)果可以幫助我們了解模型在未知數(shù)據(jù)上的泛化能力。第六步:模型部署與監(jiān)控(通用)
最后一步是將訓(xùn)練好的SVM模型部署到生產(chǎn)環(huán)境中,并實(shí)施持續(xù)監(jiān)控。在模型部署過(guò)程中,需要確保實(shí)時(shí)數(shù)據(jù)的格式與訓(xùn)練時(shí)一致,并對(duì)模型進(jìn)行定期評(píng)估以適應(yīng)可能的數(shù)據(jù)或環(huán)境變化。
四、應(yīng)用場(chǎng)景
SVM不僅適用于線性問(wèn)題,還適用于非線性問(wèn)題,具有較好的分類(lèi)性能和泛化能力,適用于多種實(shí)際問(wèn)題的解決。
- 文本分類(lèi):SVM可以將文本表示為特征向量,并通過(guò)訓(xùn)練一個(gè)SVM分類(lèi)器來(lái)將文本分為不同的類(lèi)別,如垃圾郵件分類(lèi)、情感分析、文本主題分類(lèi)等。
- 圖像分類(lèi):通過(guò)提取圖像的特征向量,可以使用SVM來(lái)訓(xùn)練一個(gè)分類(lèi)器,將圖像分為不同的類(lèi)別,如人臉識(shí)別、物體識(shí)別、圖像檢索等。
- 生物醫(yī)學(xué)領(lǐng)域:可以使用SVM來(lái)進(jìn)行癌癥分類(lèi)、蛋白質(zhì)結(jié)構(gòu)預(yù)測(cè)、基因表達(dá)數(shù)據(jù)分析等。
- 金融領(lǐng)域:SVM可以用于金融領(lǐng)域的多個(gè)任務(wù),如信用評(píng)分、欺詐檢測(cè)、股票市場(chǎng)預(yù)測(cè)等。
- 醫(yī)學(xué)圖像分析:可以使用SVM來(lái)進(jìn)行病變檢測(cè)、疾病診斷、醫(yī)學(xué)圖像分割等。
- 自然語(yǔ)言處理:可以使用SVM進(jìn)行命名實(shí)體識(shí)別、句法分析、機(jī)器翻譯等任務(wù)。
五、優(yōu)缺點(diǎn)
優(yōu)點(diǎn):
- 效果很好,分類(lèi)邊界清晰;
- 在高維空間中特別有效;
- 在空間維數(shù)大于樣本數(shù)的情況下很有效;
- 它使用的是決策函數(shù)中的一個(gè)訓(xùn)練點(diǎn)子集(支持向量),所以占用內(nèi)存小,效率高。
缺點(diǎn):
- 如果數(shù)據(jù)量過(guò)大,或者訓(xùn)練時(shí)間過(guò)長(zhǎng),SVM會(huì)表現(xiàn)不佳;
- 如果數(shù)據(jù)集內(nèi)有大量噪聲,SVM效果不好;
- SVM不直接計(jì)算提供概率估計(jì),所以我們要進(jìn)行多次交叉驗(yàn)證,代價(jià)過(guò)高。
參考:
- AI產(chǎn)品經(jīng)理必懂算法:支持向量機(jī)SVM-人人都是產(chǎn)品經(jīng)理-燕然未勒
- 解碼分類(lèi)的超級(jí)英雄——支持向量機(jī)(SVM)-人人都是產(chǎn)品經(jīng)理-柳星聊產(chǎn)品
本文由@厚謙 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。
題圖來(lái)自Unsplash,基于CC0協(xié)議。
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。
- 目前還沒(méi)評(píng)論,等你發(fā)揮!