真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python核函數(shù)是什么的簡(jiǎn)單介紹

機(jī)器學(xué)習(xí)有很多關(guān)于核函數(shù)的說(shuō)法,什么是核函數(shù)?核函數(shù)的作用是什么

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

成都創(chuàng)新互聯(lián)于2013年開(kāi)始,先為資源等服務(wù)建站,資源等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為資源企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

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

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

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

于是有人提出了核函數(shù)的概念,可以在低維空間進(jìn)行高維度映射過(guò)后的計(jì)算,使得計(jì)算花銷大為降低,由此,使得映射函數(shù)成為了可能。舉個(gè)簡(jiǎn)單的例子吧,假設(shè)我們的原始樣本特征維度為2,將其映射到三維空間,隨便假設(shè)我們的映射函數(shù)為f(x1,x2) = (x1^2, x2^2, 2*x1*x2),那么在三維空間中,樣本線性可分更大,但是向量?jī)?nèi)積的計(jì)算開(kāi)銷從4提高到9【如果從10維映射到1000維,那么計(jì)算花銷就提高了10000倍,而實(shí)際情況下,特征維度幾萬(wàn)上百萬(wàn)十分常見(jiàn)】,再看對(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,也就是說(shuō),映射到三維空間里的內(nèi)積,可以通過(guò)二維空間的內(nèi)積的平方進(jìn)行計(jì)算! 個(gè)人博客: 里有關(guān)于svm核函數(shù)的描述~

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

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

支持向量機(jī)—從推導(dǎo)到python手寫(xiě)

筆者比較懶能截圖的地方都截圖了。

支持向量機(jī)分為三類:

(1)線性可分支持向量機(jī),樣本線性可分,可通過(guò)硬間隔最大化訓(xùn)練一個(gè)分類器。

(2)線性支持向量機(jī),樣本基本線性可分,可通過(guò)軟間隔最大化訓(xùn)練一個(gè)分類器。

(3)非線性支持向量機(jī),樣本線性不可分,可通過(guò)核函數(shù)和軟間隔最大化訓(xùn)練一個(gè)分類器。

上面最不好理解的恐怕就是硬間隔和軟間隔了,

說(shuō)白了硬間隔就是說(shuō)存在這么一個(gè)平面,可以把樣本完全正確無(wú)誤的分開(kāi),當(dāng)然這是一種極理想的情況,現(xiàn)實(shí)中不存在,所以就有了軟間隔。

軟間隔說(shuō)的是,不存在一個(gè)平面可以把樣本完全正確無(wú)誤的分開(kāi),因此呢允許一些樣本被分錯(cuò),怎么做呢就是加入松弛變量,因?yàn)橄M皱e(cuò)的樣本越小越好,因此松弛變量也有約束條件。加入松弛變量后,問(wèn)題就變?yōu)榫€性可分了,因?yàn)槭敲恳粋€(gè)樣本都線性可分,因此松弛變量是針對(duì)樣本的,每一個(gè)樣本都對(duì)應(yīng)一個(gè)不同的松弛變量。

其實(shí)感知機(jī)說(shuō)白了就是找到一條直線把樣本點(diǎn)分開(kāi),就是上方都是一類,下方是另一類。當(dāng)然完全分開(kāi)是好事,往往是不能完全分開(kāi)的,因此就存在一個(gè)損失函數(shù),就是誤分類點(diǎn)到這個(gè)平面的距離最短:

這里啰嗦一句,誤分類點(diǎn)y*(wx+b)0,所以加個(gè)負(fù)號(hào)在前邊。

一般情況下||w||都是可以縮放,那么我們把它縮放到1,最后的目標(biāo)函數(shù)就變成了

間隔就是距離,我們假設(shè)分離超平面為 ,那么樣本點(diǎn)到這個(gè)平面的距離可以記為 。我們都知道通過(guò)感知機(jī)劃分的點(diǎn),超平面上方的點(diǎn) ,下方的點(diǎn) ,然后通過(guò)判斷 的值與y的符號(hào)是否一致來(lái)判斷分類是否正確。根據(jù)這個(gè)思路函數(shù)間隔定義為:

支持向量的定義來(lái)源于幾何間隔,幾何間隔最直接的解釋是離分隔超平面最近點(diǎn)的距離,其他任何點(diǎn)到平面的距離都大于這個(gè)值,所以幾何間隔就是支持向量。然后呢同樣道理,w和b是可以縮放的,所以定義支持向量滿足如下條件:

再通俗一點(diǎn)說(shuō),支持向量是一些點(diǎn),這些點(diǎn)到分隔平面的距離最近,為了便于表示,把他們進(jìn)行一下縮放計(jì)算,讓他們滿足了wx+b=+-1.

核函數(shù)是支持向量機(jī)的核心概念之一,它存在的目的就是將維度轉(zhuǎn)換之后的計(jì)算簡(jiǎn)化,達(dá)到減少計(jì)算量的目的。我們都知道支持向量機(jī)求的是間距最大化,通常情況下我們求得的alpha都等于0,因此支持向量決定了間距最大化程度。

核函數(shù)的形式是這樣的

其中x(i)和x(j)都是向量,他們兩個(gè)相乘就是向量?jī)?nèi)積,相乘得到一個(gè)數(shù)。剛才說(shuō)了目標(biāo)函數(shù)一般只和支持向量有關(guān),因此在做核函數(shù)計(jì)算之前,實(shí)際就是選擇的支持向量進(jìn)行計(jì)算。

這個(gè)寫(xiě)完下面得再補(bǔ)充

我們知道了支持向量的概念,那么支持向量機(jī)的目標(biāo)函數(shù)是要使這兩個(gè)支持向量之間的距離盡可能的遠(yuǎn),因?yàn)檫@樣才能更好地把樣本點(diǎn)分開(kāi),當(dāng)然支持向量也要滿足最基本的約束條件,那就是分類正確,還有就是其他點(diǎn)到分隔平面的距離要大于等于支持向量到分隔平面的距離。

這種凸優(yōu)化問(wèn)題都可以通過(guò)拉格朗日算子進(jìn)行優(yōu)化,就是把約束條件通過(guò)拉格朗日系數(shù)放到目標(biāo)函數(shù)上。這部分基礎(chǔ)知識(shí),就是拉格朗日算法可以將等式約束和不等式約束都加到目標(biāo)函數(shù)上,完成求解問(wèn)題的轉(zhuǎn)換,但是要滿足一些約束條件,也就是我們后邊要說(shuō)的kkt條件。

這里有個(gè)細(xì)節(jié)就是轉(zhuǎn)換時(shí)候的加減號(hào)問(wèn)題,這個(gè)和目標(biāo)函數(shù)還有約束的正負(fù)號(hào)有關(guān)。一般這么理解,就是求最小化問(wèn)題時(shí)候,如果約束是大于0的,那么拉個(gè)朗日算子可以減到這一部分,這樣一來(lái)目標(biāo)函數(shù)只能越來(lái)越小,最優(yōu)解就是約束為0的時(shí)候,這個(gè)時(shí)候和沒(méi)有約束的等價(jià),再求最小就是原問(wèn)題了。

這里是最小化問(wèn)題,直接減掉這部分約束,然后后半部分永遠(yuǎn)大于等于0所以這個(gè)式子的值是要小于原來(lái)目標(biāo)函數(shù)值的。我們知道當(dāng)x滿足原問(wèn)題的約束條件的時(shí)候,最大化L就等于那個(gè)原目標(biāo)函數(shù)。所以我們可以把這個(gè)問(wèn)題轉(zhuǎn)化為:

把它帶回去原來(lái)的目標(biāo)函數(shù)中,整理一下。

這個(gè)時(shí)候只要求最優(yōu)的α,就可以求出w和b了。我們上邊做了那么一堆轉(zhuǎn)換,這個(gè)過(guò)程要滿足一個(gè)叫做kkt條件的東西,其實(shí)這個(gè)東西就是把一堆約束條件整理到一起。

(1)原有問(wèn)題的可行性,即h(x )=0,g(x )0

放到這里就是:

SMO算法的核心思想是求出最優(yōu)化的α,然后根據(jù)之前推導(dǎo)得到的w,b,α之間的關(guān)系計(jì)算得到w和b,最后的計(jì)算公式是:

現(xiàn)在的問(wèn)題就是怎么求α了。

SMO算法總共分兩部分,一部分是求解兩個(gè)α的二次規(guī)劃算法,另一部分是選擇兩個(gè)α的啟發(fā)式算法。

先說(shuō)這個(gè)選擇α的啟發(fā)式算法部分:大神可以證明優(yōu)先優(yōu)化違反kkt條件的α可以最快獲得最優(yōu)解,至于咋證明的,就先不看了。

在講支持向量機(jī)的求解算法時(shí)候,直接給出了核函數(shù)K,那么怎么去理解核函數(shù)呢。核函數(shù)的作用是解決樣本點(diǎn)在高維空間的內(nèi)積運(yùn)算問(wèn)題,怎么理解呢,通常的分類問(wèn)題都是有很多個(gè)特征的,然后為了達(dá)到現(xiàn)線性可分,又會(huì)從低維映射到高維,樣本量再一多計(jì)算量非常大,因此先通過(guò)函數(shù)進(jìn)行一個(gè)轉(zhuǎn)換,減少乘法的計(jì)算量。

要理解核函數(shù),先理解內(nèi)積運(yùn)算,內(nèi)積運(yùn)算實(shí)際是兩個(gè)向量,對(duì)應(yīng)位置相乘加和,比如我有x1 = [v1,v2], x2=[w1,w2],那么x1和x2的內(nèi)積計(jì)算方法就是:v1w1+v2w2。

如果上面那種情況線性不可分,需要到高維進(jìn)行映射,讓數(shù)據(jù)變得線性可分,然后數(shù)據(jù)變?yōu)槲寰S的,即v1 2+v2 2+v1+v2+v1v2,然后再進(jìn)行一次內(nèi)積計(jì)算,數(shù)據(jù)變?yōu)? 。

稍作變換,可以變?yōu)? ,形式展開(kāi)和上邊那個(gè)長(zhǎng)式子差不多,然后其實(shí)可以映射內(nèi)積相乘的情況,所以可以進(jìn)行核函數(shù)的變化。

問(wèn)題在于,當(dāng)你需要顯式的寫(xiě)出來(lái)映射形式的時(shí)候,在維度很高的時(shí)候,需要計(jì)算的量太大,比如x1有三個(gè)維度,再進(jìn)行映射就有19維度了,計(jì)算很復(fù)雜。如果用核函數(shù),還是在原來(lái)低維度進(jìn)行運(yùn)算,既有相似的效果(映射到高維),又低運(yùn)算量,這就是核函數(shù)的作用了。

核函數(shù)的種類:

這部分的核心在于SMO算法的編寫(xiě)。有待補(bǔ)充。

核函數(shù)的定義和作用是什么?

核函數(shù)的作用就是隱含著一個(gè)從低維空間到高維空間的映射,而這個(gè)映射可以把低維空間中線性不可分的兩類點(diǎn)變成線性可分的。當(dāng)然,我舉的這個(gè)具體例子強(qiáng)烈地依賴于數(shù)據(jù)在原始空間中的位置。事實(shí)中使用的核函數(shù)往往比這個(gè)例子復(fù)雜得多。它們對(duì)應(yīng)的映射并不一定能夠顯式地表達(dá)出來(lái);它們映射到的高維空間的維數(shù)也比我舉的例子(三維)高得多,甚至是無(wú)窮維的。這樣,就可以期待原來(lái)并不線性可分的兩類點(diǎn)變成線性可分的了。核函數(shù)要滿足的條件稱為Mercer's condition。由于我以應(yīng)用SVM為主,對(duì)它的理論并不很了解,就不闡述什么了。使用SVM的很多人甚至都不知道這個(gè)條件,也不關(guān)心它;有些不滿足該條件的函數(shù)也被拿來(lái)當(dāng)核函數(shù)用。


當(dāng)前名稱:python核函數(shù)是什么的簡(jiǎn)單介紹
網(wǎng)站地址:http://weahome.cn/article/docjhhe.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部