為什么神經(jīng)網(wǎng)絡能以任意精度擬合任意復雜度的函數(shù)父虑?

在開始之前咐容,我們先來看一下維基百科給出的萬能近似定理(Universal approximation theorem)描述:

In the?mathematical?theory of?artificial neural networks, the?universal approximation theorem?states that a?feed-forward?network with a single hidden layer containing a finite number of?neurons?can approximate?continuous functions?on?compact subsets?of?R, under mild assumptions on the activation function.?

Universal approximation theorem(Hornik et al., 1989;Cybenko, 1989)定理表明:前饋神經(jīng)網(wǎng)絡,只需具備單層隱含層和有限個神經(jīng)單元荆秦,就能以任意精度擬合任意復雜度的函數(shù)。這是個已經(jīng)被證明的定理力图。下面我們用一種輕松的方式解釋步绸,為什么神經(jīng)網(wǎng)絡(理論上)可以擬合任何函數(shù)?

1. 線性回歸(Linear Regression): 一道小學題


看過《神偷奶爸》這部電影的同學都知道吃媒,小黃人(Minions)非常喜歡吃香蕉瓤介。不過,現(xiàn)在它只有12個蘋果赘那,但它對蘋果不感興趣刑桑,想著如果誰能用香蕉換它的蘋果就好了。不經(jīng)意間募舟,它發(fā)現(xiàn)了一個神奇的小屋祠斧。

圖1.1 神奇小屋

小黃人向神奇小屋的窗戶里放進一個蘋果,神奇小屋什么也不會給它拱礁。小黃人又嘗試向小屋的窗戶里放進5個蘋果琢锋,神奇小屋突然吐出16個香蕉!這下小黃人可高興壞了呢灶。然后吴超,小黃人又嘗試扔給神奇小屋6個蘋果,神奇小屋又吐出來20個香蕉鸯乃。

現(xiàn)在鲸阻,小黃人的12個蘋果用完了,它抱著換來的香蕉想:如果我給它3個蘋果,小屋會吐出來多少香蕉呢赘娄?

這是一道小學題(找規(guī)律)仆潮,如何解答?

你可能脫口而出遣臼,8個香蕉P灾谩!OK揍堰,好吧鹏浅,說明你的智商可以學習AI這么高深的學科了~

如何使用機器學習的步驟解答這道小學生做的題目呢(你可能覺得這是殺雞用了宰牛刀)。

我們使用變量 x?表示扔給神奇小屋的蘋果數(shù)量(輸入input),使用變量 ??表示神奇小屋吐出來的香蕉數(shù)量(輸出Output)躁染,那么我們就得到了一個數(shù)據(jù)集(Data set)

圖1.2 數(shù)據(jù)集

我們的目標是吓懈,構建一個數(shù)學模型(Model),使得該模型滿足數(shù)據(jù)集的隱含規(guī)律季希。即,向模型輸入?x?的值幽纷,模型會輸出對應的???值式塌。

小學生應該學過一元函數(shù)(y = wx + b)。既然是小學題目友浸,那么使用比較簡單的函數(shù)應該就能模擬數(shù)據(jù)集的規(guī)律峰尝。所以我們定義了一個一元一次函數(shù)模型:

圖1.3 一元函數(shù)模型

那么問題來了,我們怎樣才能確定函數(shù)的兩個參數(shù)w收恢,b武学?

聰明的你可能又會脫口而出,是y = 4x + (-4) B滓狻火窒!OK,你再次證明了你的智商已經(jīng)超過小學生或者初中生默赂。

但是小黃人沒有你那么聰明沛鸵,它只能猜。如果w=1缆八, b=0曲掰,結果會是怎樣?

圖1.4 候選模型1

很明顯奈辰,模型的輸出(預測)值 y?與實際數(shù)據(jù)集中的真實值 ??相差很大栏妖。小黃人不滿意,又隨機猜了一次奖恰。w=2吊趾,b=2宛裕,結果又是怎樣呢?

圖1.5 候選模型2

嗯论泛,這次模型的輸出值 y 與數(shù)據(jù)集中的真實值 ? 相差似乎不那么大了揩尸。小黃人就想,這兩個候選模型屁奏,哪一個更好呢(更能模擬數(shù)據(jù)集中的規(guī)律)岩榆?如何將”更好“量化?

于是坟瓢,我們引出損失函數(shù)(lost function)的概念勇边。

圖1.6 損失函數(shù)

將預測值 y 與真實值 ? 之間的差值平方和,作為“更好”的一種量化折联。損失函數(shù)越小粒褒,即,預測值與真實值之間的差值越小诚镰,說明參數(shù)w奕坟,b越能模擬數(shù)據(jù)集中的規(guī)律。

擴展:

最小二乘法(least square method):如果你對機器學習有所了解清笨,應該聽過這個概念执赡。在線性回歸中,最小二乘法就是試圖找到一條直線函筋,使所有樣本(數(shù)據(jù)集)到直線上的歐式距離之和最小。突然冒出兩個概念奠伪,可能讓你感覺有點不適跌帐。沒關系,我們先來看一下圖1.3绊率,讓你有個直觀感受谨敛。

你可以這樣理解。歐式距離就是每個點到函數(shù)直線上的最短距離滤否。中文翻譯的“最小二乘法”不容易理解脸狸。它的英文名稱是“least square method“。least的意思是“最小藐俺、最少”炊甲,這個容易理解;“square”的意思是“平方”欲芹,也就對應上面損失函數(shù)中的預測值與真實值的差值平方卿啡。其實“二乘”就是“平方”的意思。

所以菱父,最小二乘法就是設法找到模型參數(shù)w颈娜、b剑逃,使得上面定義的損失函數(shù)值最小。最小二乘法是一種數(shù)學優(yōu)化技術官辽,對應下文講到的優(yōu)化器蛹磺。


圖1.3 最小二乘法

有了損失函數(shù),我們來看一看同仆,上面兩個候選模型的損失函數(shù)值各是多少萤捆。

圖1.7 候選模型比較

模型 y = 2x + 2 的損失函數(shù)值L(2,2) = 68,小于L(1,0) = 318乓梨,所以候選模型y = 2x + 2勝出鳖轰。

小黃人是一個追求極致的人。損失函數(shù)值68雖然小于318扶镀,但是它還是很大呀蕴侣,有沒有其他參數(shù)w,b使得損失函數(shù)L(w,b)的值比68還小。

所以臭觉,我們又引出了優(yōu)化器(Optimizer)的概念昆雀。

圖1.8 優(yōu)化器

想辦法找出使得損失函數(shù)值L(w,b)最小的參數(shù)w,b蝠筑。由于小黃人沒有學過梯度下降法(一種凸函數(shù)優(yōu)化算法狞膘,不懂也沒關系,現(xiàn)在用不到)什乙,所以它只能使用....”隨機嘗試法“挽封。

圖1.9 "隨機嘗試法"

小黃人從參數(shù)w=2,b=2臣镣,開始辅愿,以步長為1進行隨機嘗試。即忆某,在“加一減一”的范圍內点待,嘗試坐標點(2,2)周圍的四個點 : (3,2)、(2,3)弃舒、(1,2)癞埠、(1,1)。結果發(fā)現(xiàn)聋呢,在點(3,2)處苗踪,損失函數(shù)值小于其他三個點和原先點處的損失值。

所以削锰,小黃人發(fā)現(xiàn)了一個更好的候選模型 y = 3x + 2徒探,其損失函數(shù)值為26,比68小的多喂窟。小黃人测暗,很興奮央串,用同樣的方式又開始了嘗試。以此類推碗啄,它接著發(fā)現(xiàn)了L(3,1) =17质和、L(3,0) =14 兩個坐標點。然而稚字,在點(3,0)周圍的嘗試饲宿,都沒有發(fā)現(xiàn)比14更小的損失函數(shù)值。

圖1.10 結束了胆描?

這樣就結束了嗎瘫想?

高智商的你,一定能想到国夜,在點(4,-4)處,損失函數(shù)值最卸坛瘛:L(4,-4) =0车吹。但是,用上述嘗試方法并不能找到坐標點(4, -4)醋闭。

問題出在了哪兒窄驹?是初始點選擇的問題。

圖1.11 換個初始點開始

小黃人發(fā)現(xiàn)证逻,如果從坐標點(-2乐埠,-4)開始上述方式的嘗試,最終會找到使得損失函數(shù)最小的(4,-4)點囚企。如果深入研究饮戳,將涉及到最優(yōu)搜索問題,超出本片文章的范圍洞拨。

我們當前只需知道,能夠通過最優(yōu)方法(如负拟,最小二乘法)烦衣,找到使得損失函數(shù)最小的模型參數(shù)w,b掩浙。

圖1.12 整體流程

上面這個故事就是線性回歸花吟??

我們需要給出一個稍微嚴謹點的定義厨姚,來說明什么是線性回歸衅澈。下面是《機器學習》(周志華著)中給出的一句話:

“線性回歸”(linear regression)試圖學得一個線性模型以盡可能準確地預測實值輸出標記。

將這句話對應到我們的模型中谬墙。模型函數(shù) y = 4x - 4 就是句中學得的“線性模型”今布。然后经备,在我們的故事中,不是盡可能準確地預測真實值輸出標記部默,而是百分百預測了真實值輸出標記....損失函數(shù)值能夠達到最小0侵蒙。

圖1.13 線性回歸

其實,沒那么簡單......我們稍微擴展一下傅蹂。

有一天纷闺,小黃人發(fā)現(xiàn),如果給神奇小屋1個蘋果份蝴、2個香蕉犁功、3個梨,神奇小屋就會吐給它一只貓咪~ 喵喵喵~婚夫。真的太神奇了浸卦。。请敦。镐躲。

圖 貓咪

這時,模型函數(shù)不再是簡單的一元函數(shù)侍筛,而是三元函數(shù)萤皂,有三個輸入變量 (x1, x2, x3),和4個參數(shù) (w1, w2, w3, b) 需要優(yōu)化匣椰。我們將這種情況稱之為“多元線性回歸(multivariate linear regression)”裆熙。其實這是圖像識別的原型模型,我們不再深入探討禽笑。

2. 邏輯回歸(Logistic Regression): 一個壓縮函數(shù)


當小黃人發(fā)現(xiàn)了神奇小屋交換香蕉的規(guī)律后入录,非常非常高興。它又找來了好多蘋果佳镜,準備和神奇小屋交換香蕉僚稿。可是....生活就是這樣蟀伸。在你最得意的時候蚀同,往往會給你澆一盆涼水。

圖2.1

(注啊掏,這里將之前的數(shù)據(jù)集調整了一下蠢络,由x=1,5迟蜜,6改為x=1,2,3刹孔。方便畫圖啦)

小黃人又嘗試給神奇小屋4個和5個蘋果,結果分別得到9個和10個香蕉娜睛。似乎哪里有點不對髓霞?卦睹?!如果按照之前發(fā)現(xiàn)的規(guī)律酸茴,應該分別得到12和20個香蕉呀分预。小黃人,百思不得其解薪捍。

這時笼痹,神奇小屋吐出來一張紙條,上面寫著:如果你扔進來的蘋果太多酪穿,我給你的香蕉將會減少凳干。小黃人,有點郁悶被济。

如果按照之前一元函數(shù)的方式建模救赐,將會得到如下函數(shù)模型。

圖2.2

你可能比小黃人聰明多了只磷,一眼就看出來上面的模型函數(shù)好像不太合適经磅。損失函數(shù)永遠取不到最小值0。

圖2.3

如果模型函數(shù)是這樣就好了钮追,那么對應的損失函數(shù)值將會取到最小值0预厌。可是元媚,這好像是兩個模型函數(shù)轧叽。一山不容二虎,能不能將這兩個函數(shù)合成一個函數(shù)刊棕。

這時炭晒,你又脫口而出,分段函數(shù)I恰网严!事實證明,你的智商已經(jīng)達到高中生水平嗤无。

圖2.4

當 x < 3 時震束,s1 等于1,s2 等于0翁巍,函數(shù) y = 4x - 4;

當 x >= 3 時休雌,s1 等于0灶壶,s2 等于1,函數(shù) y=1x + 5杈曲;

這才是完美的組合函數(shù)驰凛。

那么胸懈,問題又來了。s1和s2是什么恰响?怎么確定趣钱?

如果把s2看成函數(shù),那么理想情況下胚宦,應該是這樣的階躍函數(shù)首有。

圖2.5 階躍函數(shù)

然而階躍函數(shù)具有不連續(xù)、不光滑等不太好的性質枢劝。

這時井联,小黃人悠悠地說,我好像見過一個跟這個函數(shù)有點像的連續(xù)函數(shù)您旁,叫Sigmoid函數(shù)烙常。

圖2.6 激活函數(shù)

看到這個Sigmoid函數(shù)后,你很生氣鹤盒。對著小黃人說:人笨就少說話蚕脏,這個函數(shù)和階躍函數(shù),哪里相像了侦锯,差的也太遠吧M毡蕖!怎么看怎么不像率触。

小黃人:你給變量t一個參數(shù)不就行了终议,改成σ(1000t)。(摳鼻)

圖2.7 激活函數(shù)2

如果不仔細看葱蝗,幾乎看不出在縱軸0到1之間穴张,有個非常陡峭的曲線。你頓時無語两曼,對小黃人刮目相看皂甘。

????????當 x = 0.1 時,s = σ(100) ≈ 1悼凑;

????????當 x = - 0.1 時偿枕,s = σ(100) ≈ 0;

稍微對這個Sigmoid函數(shù)做些調整户辫,就能得到我們需要的各種階躍函數(shù)渐夸。

sigmoid函數(shù)模擬階躍函數(shù)

這樣的話,我們就得到了新的模型函數(shù)渔欢,y = (4x - 4)σ(-1000x + 3000)+ (1x + 5)σ(1000x - 3000)墓塌;

如,當 x = 4 時, y = (12) σ(-1000) + (9)σ(1000) = 12*0 + 9*1 = 9苫幢,與數(shù)據(jù)集相符访诱。

在這個過程中,小黃人還是有功勞的韩肝,提出了激活函數(shù)的概念触菜。

下面我們看一下稍微嚴謹點的邏輯回歸定義。

邏輯回歸?(logistic regression )哀峻,是一種廣義線性回歸(generalized linear regression model)涡相。

這一句話就夠了。在第一節(jié)中我們已經(jīng)學習線性回歸模型 y = wx + b谜诫。觀察圖漾峡,能夠發(fā)現(xiàn),邏輯回歸其實就是在線性回歸的結果上在再使用一次激活函數(shù) y =?σ(wx + b)喻旷。線性回歸模型 (y = wx + b) 的預測值y可以是一個任意實數(shù){-∞, ∞}生逸,而邏輯回歸模型 (y =?σ(wx + b)) 的預測值y只能是{0, 1}之間的實數(shù)且预。如果能夠搞明白線性回歸與邏輯回歸的聯(lián)系槽袄,說明你已經(jīng)掌握兩者的本質含義。

3. 多層感知機(Multilayer perceptron):?


小黃人想锋谐,雖然給的香蕉數(shù)量少了些遍尺,最起碼小屋吐出來的香蕉比扔進去的蘋果多嘛。于是涮拗,小黃人又嘗試向神奇小屋里扔進去了7個和9個蘋果乾戏。

結果,神奇小屋兩次都只返還出來10個香蕉三热。這下小黃人傻眼了鼓择。

圖 傻眼

雖然小黃人在其他事情上比較笨,但是只要與香蕉相關就漾,它可精明的多呐能。剛剛5個蘋果就能換10個香蕉,現(xiàn)在9個蘋果才能換10個香蕉R直ぁ摆出!明顯自己吃虧了。但是首妖,它又非常不喜歡吃蘋果偎漫,只能強忍怨氣,攢著一股勁有缆,一定要把里面的規(guī)律找出來象踊。

經(jīng)過之前的套路舌仍,機智的你,一定能想到解決辦法通危。

對,就是這樣灌曙。將數(shù)據(jù)集分成三塊菊碟,分別構建線性模型函數(shù),然后利用激活函數(shù)在刺,組合起來逆害。

問題再次出現(xiàn)。

當 x < 3 時蚣驼,s1 = σ(-1000x + 3000) = 1魄幕,其他情況為0;

當 x >= 5 時颖杏,s3 = σ(1000x - 5000) = 1纯陨,其他情況為0;

當 3 <= x < 5 時留储,s2 = 翼抠??

不知道聰明的你有沒有注意到获讳,函數(shù) s1 和 s3 都是以 x 作為未知變量阴颖。如果我們轉換一下思路,將 s2 看成是 s1 和 s3的二元函數(shù)丐膝。即量愧,s2是否等于1或0,由 s1 和 s2 的值決定帅矗。

s2 = σ(-1000s1 - 1000s2 + 500)



雖然得到的香蕉數(shù)目不再增加偎肃,但是這么復雜的問題都能解決掉(使用線性回歸和邏輯回歸相結合,對數(shù)據(jù)集建模)损晤,小黃人還是有點小高興软棺。反正它手里還有些蘋果,于是它又嘗試向神奇小屋里丟進去了10尤勋、11喘落、12個蘋果。結果...小黃人崩潰了W畋瘦棋!

圖?

神奇小屋傳出來紙條說:做人不能貪得無厭,要見好就收暖哨,知足常樂赌朋。小黃人崩潰了。現(xiàn)在只留下一個未被解決的難題----怎么對數(shù)據(jù)集進行建模。

即使你很聰明沛慢,似乎也只能解決其中的兩步赡若。

? ? 取 s1 = σ(-1000x + 3000),即团甲,當 x < 3 時逾冬,s1 = 0;

? ? 取 s4 = σ(1000x - 9000)躺苦,即身腻,當 x >= 9 時,s4 = 0匹厘;

那么 s1 和 s2 該如何確定嘀趟?

根據(jù)之前的經(jīng)驗,你大致可以確定s1和s2應該由s1和s4的值確定愈诚。


后續(xù)......

假設現(xiàn)在我們有許多數(shù)據(jù)集她按,




梳理一下流程

重點來了


免噴聲明:本文借鑒(chao xi)牛津大學xDeepMind?自然語言處理公開課

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市炕柔,隨后出現(xiàn)的幾起案子尤溜,更是在濱河造成了極大的恐慌,老刑警劉巖汗唱,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宫莱,死亡現(xiàn)場離奇詭異,居然都是意外死亡哩罪,警方通過查閱死者的電腦和手機授霸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來际插,“玉大人碘耳,你說我怎么就攤上這事】虺冢” “怎么了辛辨?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長瑟枫。 經(jīng)常有香客問我斗搞,道長,這世上最難降的妖魔是什么慷妙? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任僻焚,我火速辦了婚禮,結果婚禮上膝擂,老公的妹妹穿的比我還像新娘虑啤。我一直安慰自己隙弛,他們只是感情好,可當我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布狞山。 她就那樣靜靜地躺著全闷,像睡著了一般。 火紅的嫁衣襯著肌膚如雪萍启。 梳的紋絲不亂的頭發(fā)上室埋,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天,我揣著相機與錄音伊约,去河邊找鬼。 笑死孕蝉,一個胖子當著我的面吹牛屡律,可吹牛的內容都是我干的。 我是一名探鬼主播降淮,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼超埋,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了佳鳖?” 一聲冷哼從身側響起霍殴,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎系吩,沒想到半個月后来庭,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡穿挨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年月弛,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片科盛。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡帽衙,死狀恐怖,靈堂內的尸體忽然破棺而出贞绵,到底是詐尸還是另有隱情厉萝,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布榨崩,位于F島的核電站谴垫,受9級特大地震影響,放射性物質發(fā)生泄漏母蛛。R本人自食惡果不足惜弹渔,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望溯祸。 院中可真熱鬧肢专,春花似錦舞肆、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至剃根,卻和暖如春哩盲,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背狈醉。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工廉油, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人苗傅。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓抒线,卻偏偏與公主長得像,于是被迫代替她去往敵國和親渣慕。 傳聞我的和親對象是個殘疾皇子嘶炭,可洞房花燭夜當晚...
    茶點故事閱讀 43,490評論 2 348

推薦閱讀更多精彩內容