用人話說說希爾伯特空間??
↑↑↑點(diǎn)擊上方藍(lán)字,回復(fù)資料,10個(gè)G的驚喜
版權(quán)聲明:本文為CSDN博主「ChangHengyi」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/ChangHengyi/article/details/80577318 ?
推薦語:學(xué)習(xí)機(jī)器學(xué)習(xí)的同學(xué),一定對希爾伯特空間不陌生,然而,它似乎一直是一個(gè)“熟悉的陌生人”。網(wǎng)上的大量教程充斥著“傅里葉變換”,“柯西序列”,“量子力學(xué)”等等高大上名詞,能讓人看懂的寥寥無幾。我有幸在茫茫文章中看到了這一篇,從空間的定義、意義,一步步娓娓道來,解釋希爾伯特空間和一系列其他空間之間的關(guān)系,十分值得一讀!
? 在學(xué)習(xí)機(jī)器學(xué)習(xí)的同學(xué)如果對SVM中的核函數(shù)進(jìn)行深究,一定會見到再生核希爾伯特空間(RKHS)這個(gè)概念,其他理工科的同學(xué)往往也會在書中遇到希爾伯特空間這樣的字眼,還有什么巴拿赫空間、賦范線性空間等等。但是非理學(xué)院的同學(xué)遇到這些字眼往往會被嚇到,或者覺得好高大上。但是,這些概念其實(shí)一點(diǎn)都不難,讀了今天我的文章,希望大家可以理解好這些概念,至少以后不會被它們嚇到,如果只是想知道希爾伯特空間是什么,那看到相應(yīng)的章節(jié)不再往下看就好。
? BTW,第一次寫博客,講的比較多,生怕說不明白,大神們不要嫌煩就好,如果你前面的感覺都知道可以從中間開始看。
什么是數(shù)學(xué)中的空間
我們知道數(shù)學(xué)的特點(diǎn)就是抽象,數(shù)學(xué)家喜歡把問題的本質(zhì)抽象出來,而不再是只針對具體的問題,所以現(xiàn)代數(shù)學(xué)喜歡以集合為研究對象,比如你想研究你們班上的同學(xué),那么你的研究對象就是由你們班上所有同學(xué)組成的集合,比如你做機(jī)器學(xué)習(xí)想分析一組數(shù)據(jù),那么你要研究的集合就是由每一個(gè)數(shù)據(jù)組成的集合。所以,看到這里我們明白了,數(shù)學(xué)家們在研究問題時(shí)首先要明確研究的對象。
有了研究的對象,還需要什么呢?那就是你的研究對象所需要遵循的規(guī)則。比如你要研究你們班談戀愛的狀況,剛剛說了,每一個(gè)同學(xué)是集合中的一個(gè)元素,既然你要研究的問題是你們班的戀愛狀況,那你就要定義一個(gè)戀愛關(guān)系。比如我這么定義,班里每一個(gè)同學(xué)可以和另一名同學(xué)(不能和自己)之間建立戀愛關(guān)系(沒有規(guī)定必須是異性戀)。好了,我定義完了,于是我們就得到了一個(gè)賦有某種規(guī)則的班上同學(xué)的集合,當(dāng)然你的定義可以和我不一樣,比如你思想很open,你覺得一個(gè)人可以和幾個(gè)人保持戀愛關(guān)系,那么fine,你按照你的定義來就好,定義了之后的規(guī)則就變成了公理,以后的任何操作以及推到都只能在公理的基礎(chǔ)上進(jìn)行。我們可以把這個(gè)定義了戀愛規(guī)則同學(xué)的集合叫做一個(gè)同學(xué)戀愛空間。如果你說:“同學(xué)之間不只有戀愛關(guān)系啊,還有純潔的友誼?!焙醚剑绻阋残枰芯拷挥殃P(guān)系,那么你再按照你心目中的定義,定義一下交朋友的原則就好了。如果你在同學(xué)戀愛空間的基礎(chǔ)上又加入了交朋友的定義,那么恭喜你,你就得到了一個(gè)同學(xué)戀愛交友空間。那么得到了這個(gè)空間有什么用呢?你就可以在這個(gè)空間里研究你們班同學(xué)的戀愛和交友關(guān)系了,但是你的一切研究包括推倒、計(jì)算,都必須基于你定義的公理,不能按照自己的常識,不然你就又把抽象的東西具象化了,這就失去了抽象出來的意義。
好,如果大家不厭其煩的看完了上面的例子,那么可以明白數(shù)學(xué)中談到的空間需要有兩部分組成,研究的對象和內(nèi)在的規(guī)則,或者叫做元素和結(jié)構(gòu),有了這些我們就可以在這基礎(chǔ)上研究我們感興趣的問題。
好了,講完了什么是空間,我們來看幾種數(shù)學(xué)中的空間,看完之后你將明白它們的含義和關(guān)系。
線性空間
線性空間就是定義了加法和數(shù)乘的空間。
先來說一種我們最常見的空間吧,那就是線性空間,線性空間是什么意思呢?這里就不從群、環(huán)、域的概念開始講了,什么對加法封閉、零元、負(fù)元啥的,不然就又變得像課本一樣嚇人了,我們力求用通俗又不失嚴(yán)謹(jǐn)?shù)脑挵褑栴}解釋清楚。大家可以時(shí)刻回想之前舉得例子,元素和結(jié)構(gòu)。那線性空間中的元素是什么呢,這不重要,可以是任何東西,線性空間強(qiáng)調(diào)的是空間中的元素滿足線性結(jié)構(gòu)。
那如何才能得到線性結(jié)構(gòu)呢,我們需要定義加法和數(shù)乘。定義加法和數(shù)乘需要8條公理,這里就不放了,免得大家頭大,線性代數(shù)課本上第一章都會有。這里想說的是,加法和數(shù)乘在我們生活中是想當(dāng)然的概念,小學(xué)生也知道,一條狗加一條狗等于兩條狗,一條狗乘以3等于三條狗。但其實(shí)我們在數(shù)學(xué)中不能夠想當(dāng)然,一切東西都要先定義了才可以使用,這里的加法和數(shù)乘和大家從小到大接觸的沒什么兩樣。
定義了加法和數(shù)乘,空間里的一個(gè)元素就可以由其他元素線性表出,這就是線性空間。
度量空間
度量空間就是定義了距離的空間。
這里的距離就要好好的和大家掰扯掰扯了,因?yàn)樗幌窦臃ê蛿?shù)乘這樣的想當(dāng)然。如果我問你什么是距離,你回答兩點(diǎn)之間的連線的長度的話,那說明你還是na?ve。如果在地球上,你想從中國去美國,走直線的話你可能要穿過地心,但是這是不可能的,所以地球上兩點(diǎn)之間最短的距離應(yīng)該經(jīng)過兩個(gè)點(diǎn)的直徑為地球直徑的大圓上的一部分。

設(shè)想另一個(gè)場景,你在做出租車,從城市的一個(gè)地方去另一個(gè)地方,因?yàn)榈缆范际蔷W(wǎng)格型的,你也不可能讓司機(jī)從樓中穿過,所以你走的最短路線是一條折線,實(shí)際上,這種距離叫做曼哈頓距離。


事實(shí)上,還有很多種不同距離的定義方式,例如閔可夫斯基距離,馬氏距離,切比雪夫距離等等,我們最常用的兩點(diǎn)之間的連線叫做歐式距離。
我們可以按照我們的需要或者具體問題的具體情況,用不同的方式來定義距離。那么到底什么是距離呢,說白了距離就是兩個(gè)點(diǎn)(元素)對應(yīng)一個(gè)數(shù),x,y是集合中的兩個(gè)元素,那么x,y的距離d(x,y)是由x,y這兩個(gè)元素決定的一個(gè)數(shù)。
那么我們是不是可以按照任何我們想要的方式來定義距離呢,并不是,因?yàn)樯杂谐WR的人都知道,距離不能是負(fù)的,負(fù)的距離我們不知道是什么意義,一個(gè)點(diǎn)和自己的距離應(yīng)該是0,不然我們會感覺很奇怪。其實(shí)在定義距離時(shí),有三條公理必須遵守,這三條公理來源于我們對距離的常識:
(1)非負(fù)性、同一性:d(x,y)≥0,當(dāng)且僅當(dāng)x=y時(shí)取等號;
(2)對稱性:d(x,y)=d(y,x);
(3)三角不等式:d(x,z)≤d(x,y)+d(y,z)。
如果可以滿足以上三條,那么任何定義距離的方式都是OK的。
一個(gè)定義了距離的空間我們把它成為度量空間。
賦范空間
賦范空間就是定義了范數(shù)的空間。
學(xué)理工科的都聽過范數(shù)的概念,簡單理解,x的范數(shù)||x||就是x的長度。那么這里的長度和上一節(jié)中說的距離到底有什么區(qū)別呢。距離的概念是針對兩個(gè)元素來說的,例如d(x,y)指的是x與y兩個(gè)元素之間的距離,而范數(shù)是針對一個(gè)元素來說的,每一個(gè)元素都對應(yīng)一個(gè)范數(shù),可以將范數(shù)理解為一個(gè)元素到零點(diǎn)的距離(這只是一種理解,并不是定義),也就是它自己的長度。定義范數(shù)和距離一樣也要滿足一些要求:
(1)非負(fù)性:||x||≥0;
(2)||ax||=|a| ||x||,即里面的數(shù)乘可以提出來;
(3)三角不等式:||x||+||y||≤||x+y||。
我們依然可以任意定義范數(shù),只要滿足以上三條。
不知道大家有沒有發(fā)現(xiàn),如果我們定義了范數(shù),可以在這基礎(chǔ)上定義距離:d(x,y)=||x-y||。根據(jù)范數(shù)的三條性質(zhì),我們可以證明我們這樣定義的距離也滿足距離的定義,聰明的你可以自己證明一下(對稱性的證明,提一個(gè)-1出來,一加絕對值就是1了)。
也就是說范數(shù)其實(shí)是一個(gè)更加具體的概念,有了范數(shù)一定能利用范數(shù)定義距離,但是有距離不能定義范數(shù)。
也許你會問,你不是說理解范數(shù)就是一個(gè)元素到零點(diǎn)的距離嗎,那定義范數(shù)為||x||=d(x,0) 不就行了嗎。這樣的話,對于范數(shù)的第二條性質(zhì)就不一定會滿足,||ax||=d(ax,0),而d(ax,0)不一定等于|a|d(x,0),具體等不等于還要看你的距離是怎么定義的。
線性賦范空間
線性賦范空間,就是把上面的性質(zhì)加到一起唄,就是定義了加法、數(shù)乘和范數(shù)的空間。
有了之前的解釋,這就應(yīng)該很好理解了,不同的空間只是加的條件不一樣。有的加的東西多,有的加的東西少
巴拿赫空間
巴拿赫空間就是完備的賦范空間。
賦范空間是什么意思之前已經(jīng)說過了,那完備的空間又是什么意思呢?
我們先來看一下令人頭大的定義:如果一個(gè)空間是完備的,那么該空間中的任何一個(gè)柯西序列都收斂在該空間之內(nèi)。
現(xiàn)在我將慢慢解釋這個(gè)定義,首先來說一下柯西序列是什么,柯西序列就是隨著序數(shù)增加,值之間的距離越來越小的序列。換一種說法是,柯西序列可以在去掉有限個(gè)值之后,使任意兩個(gè)值之間的距離都小于任意給定正常數(shù)(其實(shí)這就是定義了一個(gè)極限而已)。
那么任意一個(gè)柯西序列都收斂在該空間內(nèi)是什么意思呢,舉個(gè)例子你就明白了。
設(shè)定義在有理數(shù)空間Q上的序列:Xn = [(2^1/2)n]/n,其中[x]表示x取整數(shù)部分。
對于這個(gè)數(shù)列來說,每一個(gè)元素的分子分母都是整數(shù),所以每一個(gè)xn都在有理數(shù)空間Q上,那這個(gè)序列的極限呢,稍有常識的人都能看出,這個(gè)序列的極限是2^1/2,而這并不是一個(gè)有理數(shù),所以這個(gè)柯西序列的極限不在該空間里面,也就是說有理數(shù)空間Q是不完備的。
所以完備的意義我們可以這樣理解,那就是在一個(gè)空間上我們定義了極限,但是不論你怎么取極限,它的極限的值都不會跑出這個(gè)空間,那么這個(gè)空間就是完備空間。
另外,不知道你有沒有發(fā)現(xiàn),上面在解釋什么是柯西序列的時(shí)候,有一個(gè)詞我加了下劃線,那就是距離,也就說說在定義完備空間之前,要先有距離的概念。所以完備空間,其實(shí)也是完備度量空間。
所以,巴拿赫空間滿足幾條特性呢:距離、范數(shù)、完備。
內(nèi)積空間
定義了內(nèi)積的空間就是內(nèi)積空間。
內(nèi)積就是我們所說的點(diǎn)乘、標(biāo)積,它的定義方式也不是唯一的,但如同距離范數(shù)的定義一樣,內(nèi)積的定義也要滿足某些條件,不能隨便定義。具體的條件這里便不再展開,大家可以去看線性代數(shù)書或者直接百度。
內(nèi)積對我們來說并不是一個(gè)陌生的概念,我們從中學(xué)就開始接觸向量的點(diǎn)乘。也能夠初步的理解它的意義,只有定義了內(nèi)積,才會有夾角的概念,才會有正交的概念,另外內(nèi)積也可以定義范數(shù),也就是說內(nèi)積是比范數(shù)更具體的一個(gè)概念。內(nèi)積的好處大大的有,在理工科的各個(gè)領(lǐng)域都有著極其重要的作用,這里不再詳細(xì)討論。
歐式空間
歐式空間使我們經(jīng)常聽到的概念,它就是定義了內(nèi)積的有限維實(shí)線性空間。
別看它的定義一大長串修飾,其實(shí)每一個(gè)都是我們生活中常見的概念,可以說我們腦海中對真實(shí)世界的認(rèn)識最接近于歐式空間。我們想當(dāng)然的距離、長度、夾角等計(jì)算都在歐式空間中定義了。
希爾伯特空間
終于迎來了我們今天的主角,希爾伯特空間就是完備的內(nèi)積空間。
到了這里,我們來捋一捋這些概念的關(guān)系。其實(shí),這些空間的定義之間的關(guān)系是,有的更加具體(加的限定條件更多),有的更加抽象(加的限定條件更少)。就像是,植物、水果、熱帶水果、熱帶植物……這些概念的關(guān)系。那么這些空間之間的關(guān)系是怎樣的呢,可以看這張圖。

只有加法和數(shù)乘就是線性空間。
定義了距離的線性空間就是線性度量空間。
再更具體一點(diǎn)定義了范數(shù),就是賦范空間。
再多定義一個(gè)內(nèi)積,就是內(nèi)積空間。
那希爾伯特空間呢,就是再多定義一個(gè)完備性,這里的完備性是為了取極限操作而準(zhǔn)備的。也就是說有了完備性,取極限才不會跑出自己的空間。
為什么要這么麻煩呢?是因?yàn)檠芯坎煌瑔栴}的需要,之前說了,現(xiàn)代數(shù)學(xué)以集合為研究對象,首先確定所研究的元素,然后定義需要用到的結(jié)構(gòu)。例如歐式空間中,每一個(gè)向量就是我們所研究的元素,內(nèi)積運(yùn)算就是我們所定義的結(jié)構(gòu)。有些問題我們不涉及夾角,只用研究距離和線性性質(zhì),那我們完全可以在線性度量空間中來研究,就沒有必要定義內(nèi)積;甚至有時(shí)我們連距離都不需要,這樣的空間叫拓?fù)淇臻g(元素的交并運(yùn)算仍屬于同一集合)。所以說,這些空間概念的定義,這些結(jié)構(gòu)的定義是為了研究各種不同的具體問題,或者說是為了將現(xiàn)實(shí)中各種具體問題抽象出來,為解決問題提供嚴(yán)謹(jǐn)?shù)臄?shù)學(xué)理論基礎(chǔ)。這便是這些空間的由來。
歐式空間的應(yīng)用場景很好理解,因?yàn)槲覀兩畹木褪且粋€(gè)三維的歐式空間,我們想當(dāng)然的理解的距離,長度,夾角的概念就是歐式空間中距離,范數(shù),內(nèi)積的定義。那么希爾伯特空間的應(yīng)用場景呢,希爾伯特空間中的元素一般是函數(shù),因?yàn)橐粋€(gè)函數(shù)可以視為一個(gè)無窮維的向量。如果大家熟悉傅里葉變換或者泰勒展開,便能自然的想到這個(gè)空間的基底是什么。沒錯(cuò),也是一組無限多的函數(shù)。
再生核希爾伯特空間
支持向量機(jī)的核技巧(kernel trick),涉及到再生核希爾伯特空間的概率。
核技巧將不能線性可分的數(shù)據(jù)集映射到高維空間,使其變得線性可分。如果已經(jīng)理解了這些內(nèi)容,其實(shí)對于理解非線性支持向量機(jī)來說已經(jīng)足夠了。關(guān)鍵大家容易不理解的是再生核希爾伯特空間和這個(gè)核技巧的關(guān)系。
其實(shí)關(guān)系是這樣的:我們定義了一種核函數(shù)(例如徑向基函數(shù)),就定義了一個(gè)希爾伯特空間,而這個(gè)核函數(shù)的再生性使得我們可以不去計(jì)算高維特征空間中的內(nèi)積,而只需計(jì)算核函數(shù),降低了大量的計(jì)算量。
圖書推薦

本書選取了近年來比較熱門的語言Python作為載體,來實(shí)現(xiàn)算法的功能。這不但可以讓讀者系統(tǒng)地學(xué)習(xí)算法的相關(guān)知識,而且還能提高讀者對Python語言的應(yīng)用水平。

Python數(shù)據(jù)可視化,被Altair圈粉了


