免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

python核函數是什么的簡單介紹

機器學習有很多關于核函數的說法,什么是核函數?核函數的作用是什么

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

成都創新互聯于2013年開始,先為資源等服務建站,資源等地企業,進行企業商務咨詢服務。為資源企業網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。

為什么會提出核函數:

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

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

于是有人提出了核函數的概念,可以在低維空間進行高維度映射過后的計算,使得計算花銷大為降低,由此,使得映射函數成為了可能。舉個簡單的例子吧,假設我們的原始樣本特征維度為2,將其映射到三維空間,隨便假設我們的映射函數為f(x1,x2) = (x1^2, x2^2, 2*x1*x2),那么在三維空間中,樣本線性可分更大,但是向量內積的計算開銷從4提高到9【如果從10維映射到1000維,那么計算花銷就提高了10000倍,而實際情況下,特征維度幾萬上百萬十分常見】,再看對于樣本n1=(a1,a2),n2=(b1,b2),映射到三維空間之后,兩者的內積I1為:a1^2 * b1^2 + a2^2 * b2^2 + 4 * a1 * a2 * b1 * b2,此時,又有,n1,n2在二維空間中的內積為:a1b1 + a2b2,平方之后為I2:a1^2 * b1^2 + a2^2 * b2^2 + 4 * a1 * a2 * b1 * b2,此時 I1 和 I2 是不是很相似,只要我們將f(x1,x2)調整為: (x1^2, x2^2, 根號(2*x1*x2) ) ,那么此時就有I1 = I2,也就是說,映射到三維空間里的內積,可以通過二維空間的內積的平方進行計算! 個人博客: 里有關于svm核函數的描述~

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

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

支持向量機—從推導到python手寫

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

支持向量機分為三類:

(1)線性可分支持向量機,樣本線性可分,可通過硬間隔最大化訓練一個分類器。

(2)線性支持向量機,樣本基本線性可分,可通過軟間隔最大化訓練一個分類器。

(3)非線性支持向量機,樣本線性不可分,可通過核函數和軟間隔最大化訓練一個分類器。

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

說白了硬間隔就是說存在這么一個平面,可以把樣本完全正確無誤的分開,當然這是一種極理想的情況,現實中不存在,所以就有了軟間隔。

軟間隔說的是,不存在一個平面可以把樣本完全正確無誤的分開,因此呢允許一些樣本被分錯,怎么做呢就是加入松弛變量,因為希望分錯的樣本越小越好,因此松弛變量也有約束條件。加入松弛變量后,問題就變為線性可分了,因為是每一個樣本都線性可分,因此松弛變量是針對樣本的,每一個樣本都對應一個不同的松弛變量。

其實感知機說白了就是找到一條直線把樣本點分開,就是上方都是一類,下方是另一類。當然完全分開是好事,往往是不能完全分開的,因此就存在一個損失函數,就是誤分類點到這個平面的距離最短:

這里啰嗦一句,誤分類點y*(wx+b)0,所以加個負號在前邊。

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

間隔就是距離,我們假設分離超平面為 ,那么樣本點到這個平面的距離可以記為 。我們都知道通過感知機劃分的點,超平面上方的點 ,下方的點 ,然后通過判斷 的值與y的符號是否一致來判斷分類是否正確。根據這個思路函數間隔定義為:

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

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

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

核函數的形式是這樣的

其中x(i)和x(j)都是向量,他們兩個相乘就是向量內積,相乘得到一個數。剛才說了目標函數一般只和支持向量有關,因此在做核函數計算之前,實際就是選擇的支持向量進行計算。

這個寫完下面得再補充

我們知道了支持向量的概念,那么支持向量機的目標函數是要使這兩個支持向量之間的距離盡可能的遠,因為這樣才能更好地把樣本點分開,當然支持向量也要滿足最基本的約束條件,那就是分類正確,還有就是其他點到分隔平面的距離要大于等于支持向量到分隔平面的距離。

這種凸優化問題都可以通過拉格朗日算子進行優化,就是把約束條件通過拉格朗日系數放到目標函數上。這部分基礎知識,就是拉格朗日算法可以將等式約束和不等式約束都加到目標函數上,完成求解問題的轉換,但是要滿足一些約束條件,也就是我們后邊要說的kkt條件。

這里有個細節就是轉換時候的加減號問題,這個和目標函數還有約束的正負號有關。一般這么理解,就是求最小化問題時候,如果約束是大于0的,那么拉個朗日算子可以減到這一部分,這樣一來目標函數只能越來越小,最優解就是約束為0的時候,這個時候和沒有約束的等價,再求最小就是原問題了。

這里是最小化問題,直接減掉這部分約束,然后后半部分永遠大于等于0所以這個式子的值是要小于原來目標函數值的。我們知道當x滿足原問題的約束條件的時候,最大化L就等于那個原目標函數。所以我們可以把這個問題轉化為:

把它帶回去原來的目標函數中,整理一下。

這個時候只要求最優的α,就可以求出w和b了。我們上邊做了那么一堆轉換,這個過程要滿足一個叫做kkt條件的東西,其實這個東西就是把一堆約束條件整理到一起。

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

放到這里就是:

SMO算法的核心思想是求出最優化的α,然后根據之前推導得到的w,b,α之間的關系計算得到w和b,最后的計算公式是:

現在的問題就是怎么求α了。

SMO算法總共分兩部分,一部分是求解兩個α的二次規劃算法,另一部分是選擇兩個α的啟發式算法。

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

在講支持向量機的求解算法時候,直接給出了核函數K,那么怎么去理解核函數呢。核函數的作用是解決樣本點在高維空間的內積運算問題,怎么理解呢,通常的分類問題都是有很多個特征的,然后為了達到現線性可分,又會從低維映射到高維,樣本量再一多計算量非常大,因此先通過函數進行一個轉換,減少乘法的計算量。

要理解核函數,先理解內積運算,內積運算實際是兩個向量,對應位置相乘加和,比如我有x1 = [v1,v2], x2=[w1,w2],那么x1和x2的內積計算方法就是:v1w1+v2w2。

如果上面那種情況線性不可分,需要到高維進行映射,讓數據變得線性可分,然后數據變為五維的,即v1 2+v2 2+v1+v2+v1v2,然后再進行一次內積計算,數據變為 。

稍作變換,可以變為 ,形式展開和上邊那個長式子差不多,然后其實可以映射內積相乘的情況,所以可以進行核函數的變化。

問題在于,當你需要顯式的寫出來映射形式的時候,在維度很高的時候,需要計算的量太大,比如x1有三個維度,再進行映射就有19維度了,計算很復雜。如果用核函數,還是在原來低維度進行運算,既有相似的效果(映射到高維),又低運算量,這就是核函數的作用了。

核函數的種類:

這部分的核心在于SMO算法的編寫。有待補充。

核函數的定義和作用是什么?

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

當前名稱:python核函數是什么的簡單介紹
分享地址:http://m.newbst.com/article44/docjhhe.html

成都網站建設公司_創新互聯,為您提供商城網站移動網站建設手機網站建設微信公眾號網站設計定制開發

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

營銷型網站建設