人工智慧必備數學基礎:高等數學基礎(2)

戰爭熱誠發表於2020-12-22

如果需要小編其他數學基礎部落格,請移步小編的GitHub地址

  傳送門:請點選我

  如果點選有誤:https://github.com/LeBron-Jian/DeepLearningNote

  這裡我打算補充一下機器學習涉及到的一些關於微積分的知識點。

  微積分是高等數學中研究函式的微分,積分以及有關概念和應用的數學分支。它是數學的一個基礎學科。內容主要包括極限,微分學,積分學及其應用。微分學包含求導數的運算,是一套關於變化率的理論。它使得函式,速度,加速度和曲線的斜率等均可用一套通用的符號進行討論。積分學,包含求積分的運算,為定義和計算面積,體積等提供一套通用的方法。

  前一節部落格已經整理了求導的公式,一些常用的概念。這裡主要學習一下微積分的起源。因為微積分是現代數學的基礎,後面學習的線性代數,矩陣論,最優化方法等數學課程都需要微積分的知識。單就機器學習和深度學習而言,更多的用到微分,積分基本上只在概率論中被使用,概率密度函式,分佈函式等概念和計算都要藉助於積分來定義或計算。  

  前一節的部落格地址:

人工智慧必備數學基礎:高等數學基礎(1)

  (注意:目前自己補充到的所有知識點,均按照自己網課視訊中老師課程知識點走的,同時一些公式是網友辛辛苦苦敲的,這裡用到那個部落格均在文末補充地址,不過這裡首先表示感謝!!)

  (特別感謝此部落格(深入淺出的講解了微積分):https://www.zhihu.com/question/336322284/answer/918067537)

1,微積分的起源

  微積分有多重要,相信大家多多少少心裡有點數,特別是我們這些學數學的。好了廢話不多說了,直接來學。

  微積分誕生於 17 世紀,主要幫助人們解決各種速度,面積等實際問題。下圖為微積分的發明者牛頓和萊布尼茲大佬,瞻仰一下。

  我們從小學數學就學會了各種求面積的公式,比如長方形,三角形,圓,梯形等等。不知道大家有沒有想過一個問題:好像我們每新學習一種新圖形就有一個新的面積公式,可是世界上有無數種圖形,我們難道要記無數種公式嗎?,而且還有一些圖形根本沒有什麼面積公式,比如隨手畫一條曲線,這條曲線圍成的面積如何計算呢?  

  所以面對如何求一條曲線圍成的面積就有很多人去研究。面對這個問題,古今中外的數學家的想法都是類似的,那就是:用我們熟悉的影像(比如三角形,長方形等)去逼近曲線圍成的影像面積。這就好比在鋪地磚的時候,我們會用盡可能多的瓷磚填滿地板,然後這些瓷磚的面積之和差不多就是地板的面積。這裡就蘊含了微積分的思想了。

  微積分主要解決如何求曲線的面積。我們這裡可以把微積分拆分成 “微分” 和 “積分”兩個詞,

  首先來看積分,積分這個詞當初被造出來,就是用來表示“由無窮個無窮小的面積組成的面積S”。

  如上圖所示,如果一條曲線 y=f(x) 和 x 軸在 a 和 b 之間圍成的面積為A,那麼我們就可以這樣表示這部分面積A:

  微積分的思想是:以直代曲

  為了加深一下對上面這個積分公式的理解,我們再來用矩陣試一下,對於矩形,我們可以輕鬆求得其面積,那麼是否能夠用矩形代替曲線形狀呢?如果要代替則應該用多少個矩陣來代替呢?

  如下圖,我們可以將其分為四個矩陣,九個矩陣:

   我們用有限個矩陣把a和b之間分為四份,我們看到如果只是用矩陣求面積的話,還是有很大誤差的,但是使用九個的話,誤差就縮小了,那麼我們是否可以使用無窮多個矩形來逼近原面積,這樣誤差就變得無窮小了,答案是肯定的。當我們使用無數個矩陣來逼近原面積的時候,每個矩形的底自然就變成了無窮小,這個無窮小的底就是上面的 dx,而 f(x) 就是函式的縱座標,矩陣的底,高相乘不就是求面積了嗎?

  下面說說公式由來。

  在 ab 之間插入若干個點,這樣就得到了 n個小區間。

  每一個小矩形面積為:

  近似得到曲線面積:

  當分割無限加細,每個小區間的最大長度為 λ ,此時 λ -> 0

  曲邊面積:

  不過這裡再吹吹牛逼。

  上面將 dx 當做一個無窮小的底,把積分當做求面積,這些都是微積分創立初期的看法。這種看法非常符合我們的直觀,但是邏輯上是不嚴密的。這種無窮小量 dx 也招致了很多人(比如貝克萊)對微積分的攻擊,並且引發了第二次數學危機,這場危機一直到19世紀柯西等人完成了微積分的嚴密化之後才徹底化解。隨著微積分的涅槃重生,我們對這些基本概念的看法也發生了根本的改變。

  關於求面積的事情這裡就說完了。“用一些圖形去無限逼近曲線圖形”的想法很早就有了,窮竭法在古希臘就很成熟了,中國魏晉時期的數學家劉徽使用割圓術去逼近圓周率也是這種思想。到了17世紀初,這些思想並沒有什麼太大的改變,由於這些解法比較複雜,又很難擴充套件,所以大家的關注度並不高。

  沒辦法,因為打死人也想不到:破解這種求曲線面積(求積分)的關鍵,竟然藏在一個看起來跟他毫無關聯的東西身上,這個東西就是微積分名字的另一半:微分。當牛頓和萊布尼茲意識到微分和積分之間的內在關係之後,數學就迎來了一次空前的大發展。

  從求和出發,我們需要儘可能的將每一個矩陣的底邊無窮小,萊布尼茲為了體現求和的感覺,給 S 拉長了,簡寫成:∫ f(x) dx。

2,直線和斜率

  微積分的基本概念是導數

  關於導數呢,舉個例子:我們爬山的時候,山越陡越難爬;騎車的時候,路面的坡度越大越難騎。一個面的坡度越大,傾斜的越厲害,我們就越難上去,那麼我們該如何衡量這個傾斜程度呢?

  在平面裡畫一條直線,我們可以直觀地看出這條直線的傾斜程度,而且還不難發現:不管在直線的什麼地方,它的傾斜程度都是一樣的。所以我們就可以用一個量來描述這整條直線的傾斜程度,這個概念就被形象的稱為斜率

  那麼,一條直線的斜率要怎麼計算呢?這個想法也很直觀:建一個座標系,看看直線在 x 軸改變了 Δx 的時候,它在 y 軸的改變數 Δy 是多少。如果 Δx 是固定的,那麼顯然 Δy 越大,這條直線就斜的越厲害,斜率也就越大。

  這就和我們判斷跑步的速度是一樣的道理:給定一個固定的時間,比如10秒(相當於固定的 Δx),看看你能跑多遠(相當於 Δy),你跑的越遠(Δy 越大),我就認為你跑得就越快。當然也可以反過來,給定一個固定的距離,比如100米(相當於Δy),你跑的時間越短(Δx 越小),我就認為你跑的越快。

  把這兩種情況綜合一下,我們就能發現:固定時間(Δx)也好,固定距離(Δy)也好,最終起決定作用的是Δy和Δx的比值Δy/Δx。這個比值越大,你就跑得越快,對應的直線也就越陡。所以,我們就可以在直線上隨意找兩個點,用它們縱座標之差Δy橫座標之差Δx比值Δy/Δx)來定義這條直線斜率

  學過三角函式的同學也會知道,這個斜率剛好就是這條直線x軸夾角θ的正切值tanθ,即:tanθ=Δy/Δx。這就是說,直線和x軸的夾角θ越大,它的斜率就越大,就傾斜的越厲害,這跟經驗都是一致的。

3,曲線和切線

  直線好說,關鍵是曲線怎麼辦?曲線跟直線不同,它完全可以在這裡平緩一點,在那裡陡峭一點,它在不同地方的傾斜程度是不一樣的。所以,我們就不能說一條曲線的傾斜程度(“斜率”),而只能說曲線在某個具體點的傾斜程度。

  於是我們要引入一個新的概念:切線

  切線,直觀的看,就是剛好在這點“碰到”曲線的直線,因為切線是直線,所以切線有斜率,於是我們就可以用切線的斜率代表曲線在這點的傾斜程度。

  傳統上我們可以這樣定義切線:先隨便畫一條直線,讓這條直線與曲線有兩個交點,這樣的直線叫割線(彷彿把曲線“割斷”了,如下圖藍色的AB)。然後,我們讓B點沿著曲線慢慢向A點靠近,直觀上,等到B點和A點重合之後,割線AB就變成了曲線在A點的切線。

  這樣做很符合人們的直觀,但是它在邏輯上會有一點問題:當B點向A點移時,它是什麼時候從割線變成切線呢?

  重合的時候嗎?如果B點和A點重合,那就剩下一個點了,我們知道“兩點確定一條直線”,一個點怎麼能確定一條直線呢?但是,如果B點和A點不重合的話,那麼這就仍然是一條割線而不是切線啊。

  於是,這樣就出現了一個“一看非常簡單直觀,但是怎麼說都說不圓”的情況,似乎兩個點不行,一個點也不行,怎麼辦?

  解決這個問題有一個很樸素的思路:要確定這條切線,讓A,B兩點重合是不行的,但是讓他們分得太開也不行。最好就是讓著兩點靠近靠近無限靠近,但是就是不讓他們重合。沒重合的話就依然是兩個點。兩個點可以確定一條直線;無限靠近的話又可以把他們跟一般的割線區分開來,這樣不就是兩全其美了。

  也就是說,A,B兩點必須無限靠近但又不能重合,這樣他們的距離就無限接近0但又不等於0。這是什麼,這不就是無窮小麼?

  我們前面求曲線圍成的面積時,核心實現就是用無數個矩陣來逼近原影像,這樣每個矩形的底邊就變成了無窮小。在這裡,我們又認為當A,B兩點的距離變成無窮小的時候,割線AB就變成了過A點的切線。

  那麼切線的斜率是什麼?

  好,利用無窮小定義了一點上的切線,我們就可以理所當然的用過這點切線的斜率來標色曲線在這點的傾斜度了。

  那麼切線是當曲線上A,B兩點相隔無窮小時確定的直線,那麼切線的斜率依然可以寫成 Δy/Δx,只不過這時ΔxΔy無限趨近於0

  萊布尼茲就給這兩個趨近於0卻又不等於0的 ΔxΔy 重新取了一個名字:dx 和 dy,並把他們稱為“微分”。

  也就是說,對萊布尼茲而言,dx這個微分就是當 Δx 趨近於0時的無窮小量, dy 也是一樣。雖然 dx 和 dy 都是無窮小,但是他們的比值 dy/dx 確是一個有限的數(所以這時候你就不能把無窮小 dx 當成 0 了,否則還怎麼當除數?)這就是該點切線的斜率,這樣一切就似乎解釋的通了。

  雖然上圖放大了,但是其實依然是:

  再次使用圖對幾個指標進行解釋:

4,導數

4.1  導數的初始定義

  顯然,我們在曲線上的一點上定義了切線,那麼在平滑曲線的其他點上也能定義切線。因為每條切線都有一個斜率,所以曲線上的任何一點都有一個斜率,所以,曲線上任何一點都有一個斜率值跟它對應。兩個量之間存在一種對應關係,這個關係就是函式。

  函式 y = f(x) 不就是告訴我們:給定一個 x,就有一個 y 和它對應。現在我們是給定一個點(假設橫座標為 x),就有一個斜率 dy/dx 跟他對應。顯然,這也是個函式,這個函式就叫導函式,簡稱導數。

  在中學,我們通常在函式 f(x) 的右上角加上一撇表示這個函式的導數,那麼現在這兩個情況就表示導數:

  所以,導數 f '(x) 就可以表示橫座標為 x 的地方對應切線的斜率,它表示曲線在這一點上的傾斜程度。如果 導數 f '(x) 的值比較大,曲線就比較陡,f '(x) 比較小,曲線就比較平緩。於是,我們就可以用導數來描述曲線的傾斜程度了。

  例子:求函式 f(x) = x2 的導數。

  這還是我們前面說的拋物線,它的函式影像是這樣的:

  求函式的導數,就是求函式在每一點切線的斜率,而切線就是曲線上兩個相距無窮小的點確定的直線。

  那就好說了,我們假設曲線上有一個橫座標為x的點,那麼,跟它距離無窮小的點的橫座標就是x+dx,由於這個點也在曲線f(x)=x²上,所以它的縱座標就是(x+dx)²,即:

  然後,我們用這兩個點的縱座標之差f(x+dx)-f(x)除以橫座標之差(x+dx)-x就能算出x點的切線斜率。因為這個x是任意取的,所以得到的結果就是任意點的切線斜率,那麼這就是導數了:

  接下來,化簡上面,不過存在一個問題:這上面和下面的dx能不能約掉

  我們知道,除數不能為0的,如果你想分子分母同時除以一個數,就必須保證這個數不是0,現在我們是想除以 dx, 這個 dx 就是我們前面定義的無窮小量,它無限接近於 0 卻又不等於 0 。所以我們暫且可以約掉它,如下:

  但是還剩下一個 dx,怎麼辦呢?一個有限的數加上一個無窮小量,結果是多少呢?似乎還應該是這個數。這樣我們似乎又可以去掉 dx,就像丟掉了一個等於 0 的數一樣,這樣最終的導數就可以簡單地寫成這樣:

  表明上看,當 x 越來越大(x > 0)的是, f ' (x) 的值也是越來越大的。而導數是用來表示函式的傾斜程度的,也就是說,當 x 越來越大的時候,曲線就越來越陡,這和影像完全一致了。

  但是邏輯上就很奇怪了:一個無限趨近於 0 的無窮小量 dx 到底是不是 0?如果是 0,那麼為什麼可以讓分子分母同時除以它來約分;如果不是 0 ,那麼為什麼又可以把它隨意捨棄?總不能同時等於零又不等於零吧。

  怎麼辦呢?下面看導數的意義。

4.2  導數的意義

  導數反映的是一個量變化快慢的程度,這其實就是一種廣義的“速度”。速度這個概念在科學裡很重要,當我們說一輛車的速度很快的時候,我們其實就是說這輛車的位移對時間的導數很大。

  此外,有了導數,我們就能輕而易舉的求一條曲線的極值(極大值或極小值),為什麼?因為只要導數不為 0,曲線在這裡就是在上升(大於 0)或者下降(小於 0)的,只有導數等於 0 的地方,才有可能是一個極值點

  求極值也是非常重要的:軍人希望他們發射的導彈可以飛得儘可能的遠;商人希望他們的利潤可以儘可能的高;我們也希望去哪都能走最近的路....

  導數的這些用處很多人也知道,事實上,求曲線圍成的面積也好,求曲線的導數也好,在牛頓和萊布尼茲之前大家都已經知道了,但這些並不是最重要的。

  牛頓和萊布尼茲之所以偉大,之所以把他們視為微積分的發明人,是因為他們在這些尋常事實背後發現了一個極不尋常的祕密求面積和求導數,或者說積分和微分,這兩個看似完全不搭邊的東西,竟然是一對互逆的運算

4.3  互逆運算

  積分和微分是一堆互逆運算,這是微積分最核心的思想。把這個思想用數學語言描述出來就會得到一個定理,這個定理叫微積分基本定理

  這也是牛頓和萊布尼茲在微積分裡最重要的發現,因此,微積分基本定理又叫牛頓-萊布尼茲公式

  求面積的時候,矩形的數量越多,矩形的面積之和就越接近真實面積。另外,在求瞬時速度的時候,我們把時間段分的越細,每個小時間段裡的平均速度就越接近瞬時速度,如果無窮細分,那麼無窮小時間段裡的平均速度就可以認為是瞬時速度了。也就是說,如果知道整個過程中的瞬時速度(或者說是無窮小時間段內的速度),我們就能精確地求出無窮小時間段內的距離,然後把所有距離加起來得到精確地總距離,這就是積分。也就是說,通過積分的過程,我們能從瞬時速度求出總距離。

  另一方面,要證明微分(求導)是這個過程的逆運算,我們就得證明從總距離可以求出瞬時速度。也就是說,如果已知任意時刻你從家到學校的距離,你通過微分(求導)就能把瞬時速度求出來。

  距離對時間的求導,這就是速度啊。前面我們也說了“導數是一種廣義的速度”。也就是說:距離除以時間,結果就是速度。你用平均距離除以平均時間得到平均速度,用瞬時距離(某一時刻的距離)除以瞬時時間(無窮小時間片段)自然就得到了瞬時速度。這樣不就說完了。通過積分,我們能從瞬時速度求出總距離來;通過微分,我們能從總距離求出瞬時速度,這就說明積分和微分是一對互逆運算

4.4  原函式

  我們知道了“積分和微分是互逆運算”,能給我們帶來什麼呢?答案是:多一種選擇。因為既然積分和微分是互逆運算,那麼有些操作如果積分不擅長,我就可以把它丟給微分。

  什麼意思呢?我們還是以最開始求曲線圍成的面積為例。我們是這樣求拋物線 y=x²與x軸在0到1之間圍成面積的:如果用n個矩形去逼近,每個矩形的底就是1/n,n個矩形的面積之和就是這樣:

  當 n 區域無窮大的時候,後面兩項就等於無窮小,然後結果就只剩下第一項 1/3。

  用這種方法,面對不同的曲線就得有不同的求和公式,最後還得保證相關項可以變成無窮小丟掉。所以這種方法的複雜度和侷限性都非常大,無法推廣。

  但是,在偉大的牛頓和萊布尼茲發現了“積分和微分是互逆運算”之後,這一切就改變了。因為我們有另一種選擇:積分之路不好走,我們可以走微分

  怎麼走呢?我們可以求 f(x) = x²導數,最終的結果是這樣的:

  那麼反過來,如果我們知道一個函式是f(x)=2x,難道我就猜不出究竟是哪個函式求導之後變成了f(x)=2x麼?當然可以啊,我們完全可以根據f(x)=2x反推出原來的函式f(x)=x²+c。

  為什麼這裡多了一個常數c?因為常數求導的結果都是0,所以就多了這樣一個尾巴。

  也就是說,f(x)=x²f(x)=x²+1f(x)=x²+3等函式的導數都是f(x)=2x,只憑f(x)=2x我們無法確定最開始函式具體是什麼樣子。但是,我們可以確定它一定就是加上一個常數c。於是,我們就把求導之前原來的函式f(x)=x²+c稱為的f(x)=2x原函式

  好,下面是關鍵:積分是函式圍成面積的過程,速度 v 是通過積分就得到了位移 s,在 v-t 影像裡速度 v 圍成的面積就是位移 s;微分是求導的過程,對位移 s 求一次導數就能夠得到速度 v。

  有了原函式以後,我們也可以根據速度 v 把(求導之後等於速度 v的)位移 s 給求出來,這時候位移 s 就是速度 v 的原函式(無非就是再加一個常數 c)。而原函式表示的位移 s 就是速度 v 圍成的面積,於是,原函式就有了求面積(積分)的效果。

  也即是說,s 求導一次就變成了 v,那麼 v 反向求導一次就可以得到 s,這時候 s 是 v 的原函式。另一方面,因為 s 求導一次能變成了 v,那麼 v 積分一次也能變成了 s(互逆運算)。於是,v通過求原函式和積分都能得到 s,所以原函式 s 其實就是有了積分(曲線 v 圍成面積)的效果。

  再簡單的說,因為積分和微分是一對互逆運算,所以你反向微分(求原函式)的話,自然就得到和積分一樣的效果了。

  所以,現在求曲線f(x)=x²和x軸在0到1區間裡圍成面積這個原本屬於積分的事情,現在就可以通過反向微分(求原函式)來實現。

  這是一次非常華麗的轉變,馬上你就會看到這種新方法會把問題簡化到什麼程度,而且,正是這種力量讓數學發生了根本性的改變。

5,微積分基本定理(牛頓-萊布尼茲公式)

5.1  牛頓-萊布尼茲公式

  既然要反向微分的方法求面積,那我們就去找f(x)=x²原函式,看看到底是哪個函式求導之後變成了f(x)=x²。我們用F(x)來表示這個原函式,那麼F(x)就是它(C為常數):

  有了 f(x) = x² 原函式F(x)以後,怎麼去求f(x)x軸01區間裡圍成的面積呢?前面已經分析了,原函式具有積分的效果,而積分就是曲線圍成的面積,所以原函式也可以表示曲線圍成的面積(為了方便理解,這裡我們先不考慮常數c的影響,反正函式相減的時候常數c會抵消掉

  因此,我們要求f(x)與x軸01區間內圍成的面積,直接用這個代表面積的原函式F(x)在1處的值F(1)減去在0處的值F(0)就完了

  F(1)-F(0)就是曲線在0到1之間圍成的面積,我們這樣得到的結果是1/3,跟我們原來用矩形逼近計算的結果一模一樣,驚不驚喜,意不意外?但是它明顯比原來的方法簡單太多太多太多了,簡單到一箇中學生都能輕而易舉地算出來,這才是微積分的真正力量。

  有了這樣的鋪墊,微積分基本定理(牛頓-萊布尼茲公式)就非常容易理解了:如果函式 f(x) 在區間 a到b之間連續(簡單理解就是曲線沒有斷),並且存在原函式 F(x) ,那麼就有:

  這式子的左邊就是函式 f(x) 與 x 軸在 a到b 區間內圍成的面積,式子的右邊就是原函式在 b點和 a點的差。意義也很明確:函式反向求導得到的原函式F(x) 本來就表示面積,那麼F(b)-F(a)自然就是這兩點之間的面積之差。於是公式左右兩邊就都表示面積。

  這就是微積分的基本定理,這就是微積分的核心思想
  可以說“對函式求導,求原函式”比用原始定義,用無窮多個矩陣來逼近面積的方法要簡單的多,並且這種方法更具一般性。因此,微分和積分原本是兩門獨立的學問,現在被牛頓和萊布尼茲統一成微積分。這種1+1會產生大於2的力量。於是接下來的數學和科學得到了空前的發展。

  這裡再來回答一下上面將區間分為四份,八份的微積分解:

5.2   進擊的微積分

  誠然,微積分基本定理(牛頓-萊布尼茲公式)的發現是這場革命裡最核心的東西,相當於革命的指導思想,既然有了指導思想了,那麼接下來就是要擴大戰果了,把這個優秀的思想擴散到各個領域裡去,怎麼擴呢?

  首先,微積分基本定理的核心思想就是用求原函式的方式來解決求面積的問題,所以求一個函式的原函式就成了問題的核心。那麼,我們自然就要研究各種常見函式的求導求原函式的方法。

  這些弄清楚之後,我們接下來就要問:由一些常見函式組成的複合函式,比如兩個函式相加減、相乘除、相巢狀複合等時候要怎麼求原函式怎麼求積分?再擴充套件一下,現在知道了如何求面積,那要怎樣求體積,求曲線的長度呢?

  然後,我們就可以把微積分的技術擴充套件到各種其它的領域了。比如,有了微積分,我就可以研究彎曲的東西,曲線、曲面什麼的都可以研究。這就等於說是在用微積分來研究幾何,這就是微分幾何

  有了微積分,我們發現很多物理定律都可以寫成微分方程的形式,有多個變數的時候就是偏微分方程麥克斯韋方程組波動方程廣義相對論的場方程,都是這樣。

  有了微積分,我們就可以計算各種不同曲線的長度。那麼,如何確定在特定條件下最短的那條曲線呢?這裡就發展出了變分法,變分法配合最小作用量原理,在物理學的發展裡起到了極為關鍵的作用。

  所以微積分在接下來的兩個世紀裡就這樣瘋狂的擴張著,科學(尤其是物理學)的發展需要微積分,微積分也需要從科學裡汲取營養,他們就這樣互相促進,互相成長,相親相愛。

5.3   柯西中值定理

  似乎還有一個問題沒有解決:那就是萊布尼茲將 dx 視為一個無窮小量,但是無窮小怎麼說都說不圓。一個接近於0但又不等於0的無窮小量到底是什麼呢?為什麼有時候你可以把它當做除數約掉(認為他不等於0),但有時候有可以隨意把它丟掉(認為他等於0)?

  所以柯西來了。

  柯西深刻的認識到:只要涉及數學概念,任何關於連續運動的一些先驗的直觀觀念,都是可以避免,甚至是必須避免的。科學放棄了形而上學方面的努力,採用“可觀測”概念之後就迎來了大發展,那數學為什麼不也這樣呢?

  無窮小量是一個無限趨近於0但是又不能等於0的概念,也就是說他有一個極限位置0,你可以想多接近就多接近,但就是無法到達。

  我們知道實數跟數軸上的點是一一對應的。當我們說一個量在無限趨近於0的時候,很多人腦海裡浮現的畫面就是一個點在數軸上不停的移動,從一個點移動到下一個點,一直靠近0這個點。

  但是上圖是不對的。因為實數是稠密的。稠密就是說任意兩個點(實數)之間永遠都有無數個點(實數)。(你想想:1和2之間有多少個數?)你以為它能從A點移動到鄰近的下一個B點麼?不好意思,這個它還真做不到。

  A和B之間永遠有無數個點,也就是說A點根本就沒有所謂的“下一個點”。你認為我一定要走完了A點到B點之間所有的點才能到達B點,那就不可避免的陷入了芝諾悖論裡去了。因為你壓根就就不可能走完任何兩個點之間的所有點(因為是無窮多個),所以如果按照這種邏輯,你就根本“走不完”,所以芝諾的飛矢就飛不動了。

  因此,面對這種連續的概念的時候,我們就不應該使用這種“動態的”定義。你想通過“讓一個點在數軸上動態地運動來定義極限”是行不通的,這就是萊布尼茲的無窮小量栽跟頭的真正原因。

  數學家們經過一百多年的探索,失敗和總結,最後終於意識到了這點,這些思想在柯西這裡完全成熟。於是,柯西完全放棄了那種動態的定義方式,轉而採取了一種完全靜態,完全可以描述測量的方式重新定義了極限,進而為微積分奠定了紮實的基礎。

  柯西對極限的新定義為:當一個變數相繼的值無限的趨近於某個固定值的時候,如果他同這個固定值之間的差可以隨意地小,那麼這個固定值就被稱為它的極限

  有人看了這個定義之後就在犯嘀咕:這跟萊布尼茨說的不是一樣的麼?你還不是在用“無限趨近”啊,“隨意的小”啊這種跟“無窮小”差不多的概念來定義極限麼?你說以前的定義是動態的柯西給整成了靜態的,可是我看來看去,柯西這個定義好像也在動啊。什麼無限趨近,隨意的小,不是在動麼?

  有這些疑問是正常的,畢竟是讓數學家們卡了一百多年的問題,不可能那麼太“顯而易見”。我們再仔細看看柯西的定義,它跟以前的差別到底在哪?你看啊,柯西雖然也有用“無限趨近”,但是他只是用這個來描述這個現象,並不是用它來做判決的。他的核心判決是後面一句:如果它同這個固定值之間的差可以隨意的小,那麼它就是極限

  可以隨意的小和你主動去無限逼近是完全不一樣的。可以隨意小的意思是:你讓我多小我就可以多小。你讓我小於0.1,我就能小於0.1;你讓我小於0.01,我就能小於0.01;你讓我小於0.00…001,我就可以小於0.00…001。只要你能說出一個確定的值,不管你說的值有多小,我都可以讓它跟這個固定值的差比你更小。柯西說如果這樣的話,那麼這個固定值就是它的極限

  大家發現沒有,柯西學聰明,學雞賊了,他把這個判斷過程給顛倒了過來。以前是你要證明自己的極限是0,你就不停地變小,不停地朝0這個地方跑過去。但是,你和0之間永遠隔著無數個點,所以你永遠也跑不完,你也就不知道你要跑到什麼時候去,這樣就暈了。

  現在我學聰明瞭,這個難以界定的東西,這個燙手的山芋我不管了,我丟給你,我讓你先說。只要你說出一個數,你要我變得多小我就變得多小。你如果想讓我變成無窮小,那你就得先把無窮小是多少給我說出來,你說不出來的話那就不能怪我了

  柯西就通過這種方式把那些不可測的概念擋在了數學之外,因為你能具體說出來的數,那肯定就都是“可觀測”的啊。大家再看看這個定義,再想想之前萊布尼茨的想法,是不是這麼回事?

  於是,柯西就這樣完美的甩開了那個招人煩的無窮小量。在柯西這裡,無窮小量不過就是一個簡單的極限為0的量而已,一個“只要你可以說出一個數,我肯定就可以讓我和0之間的差比你給的數更小”的量。這樣我們就能把它說得清清楚楚,它也不再有任何神祕了。

5.4   魏爾斯特拉斯和 ε-δ 極限

  然後,魏爾斯特拉斯用完全數學的語言改進了柯西的這段純文字的定義,得到了最終的,也就是我們現在教材裡使用的 ε-δ 極限定義。

  根據柯西的思想,魏爾斯特拉斯說:你要判斷某個函式f(x)某個地方a極限是不是某個值L,關鍵就要看如果我任意說一個數ε(比如0.00…001或者任意其它的,注意是任意取,這裡用ε代替),你能不能找到一個x的取值範圍(用δ來衡量),讓這個範圍裡的函式值f(x)與那個值L之間的差(用套個絕對值|f(x)-L|表示)小於ε。如果你總能找到這樣的δ,那我就說函式f(x)a點的極限為L

  用精練的數學語言表述上面的話就是:當且僅當對於任意的ε,存在一個δ>0,使得只要0<|x-a|<δ,就有|f(x)-L|<ε,那麼我們就說f(x)在a點的極限為L。記做:

  定義裡的 Lim 就是極限的英文單詞 limit的縮寫,這個箭頭 x->a 也非常形象的表達了極限這個概念。

  這個定義就真正做到了完全“靜態”,不再有任何運動的痕跡(連柯西說的“無限趨近”,“隨意的小”都沒有了),也不再有任何說不清的地方。從定義你也能清楚的看出來:它根本不關心你是如何逼近L的,飛過來,調過去它都不管,只要最後的差比 ε 小就行,我就承認你是我的極限。

  這裡要特別注意的是 ε 是任意的,任意就是說隨便 ε 取什麼你都要找到對應的 δ,你不能說有 10 個 ε 滿足條件就說這是極限。

  看個例子,我們考慮最簡單的 f(x) = 1/x,當x的取值(x>0)越來越大的時候,這個函式的值就會越來越小::f(1)=1,f(10)=0.1,f(100)=0.01,f(1000)=0.001,……

  看的出來,當x 的取值越來越大的時候,f(x)的值會越來越趨近於0。所以,函式 f(x) 在無窮遠處的極限值應該是 0,也就是說:

  這個結論是很明顯的,接下來我們就來看看如何用 ε-δ 定義來說這個事。

  按照定義,我們要取一個任意小的ε,假設這裡我們取ε=0.1,那麼我們就要去找一個δ,看能不能找到一個範圍讓|f(x)-0|<0.1,顯然只需要x>10就行了;取ε=0.01,就只需要x>100就行了;任意給一個ε,我們顯然都能找到一個數,當x大於這個數的時候滿足|f(x)-0|<ε,這樣就OK了。

  於是,我們就構建了一個邏輯嚴密,不再有任何“說不清”概念的極限理論。有了這個堅實的地基,我們就可以放心地在上面蓋房子了。那個漂泊了一百多年,那個被幽靈般的無窮小量纏繞了一百多年的微積分,即將迎來新生。

6,微積分的重構

6.1  積分的重建

  先看積分,我們之前認為曲線圍成的面積是無數個寬度為無窮小量的矩形面積之和,於是我們在這裡就被無窮小量纏上了。有了ε-δ極限之後,我們就可以重新整理一下我們對積分的認知了:從現在起,我們把曲線圍成的面積看成一個極限,而不再是無數個無窮小量的矩形面積之和

  什麼意思呢?假設我們用 1個矩形逼近曲線圍成的面積的時候,我們就把這個矩形的面積記為S1, 用兩個矩形逼近的面積之和記為S2,同樣的,我們記下S3, S4, S5,...

  一般情況下,如果我們用 n個矩形去逼近這個面積,這 n 個矩形的面積之和就記為 Sn。如果這個 Sn 的極限存在,也就是說,隨便你說一個數字 ε,我都能找到一個 n 的範圍,讓 Sn和A之間的差 |Sn-A| 小於你給定的這個數字 ε。那麼,A就是這個Sn的極限。

  於是,我們就說:曲線圍成的面積就是這個極限A,它是 n 個矩形面積之和這個序列 Sn的極限。

  所以我們把這個極限過程表示的面積A定義為函式 f(x) 從 a 到 b 上的積分:

  這樣,我們的積分就成了一個由ε-δ語言精確定義的極限。這裡沒有那個等於0又不等於0的無窮小量,一切都清清楚楚、明明白白,沒有含糊的地方,這就是第二次數學危機的終極解決之道。

  這樣處理雖然不再那麼直觀,但是它非常精確和嚴密,這是符合數學的精神的。直觀雖然能幫助我們更好的感受數學,但是如果失去了嚴密性,數學將什麼都不是

6.2  導數的重建

  積分解決了,微分也是一樣,有了 ε-δ定義 之後,我們就再不能把導數看成兩個無窮小量的比值 (dy/dx),而是把導數也看成一個極限。

  就是說函式在某一點的導數就是這點切線的斜率,我們前面提到,切線就是當割線的兩點不停的靠近,當他們的距離變成無窮小時決定的直線。

  很明顯,這個定義是依賴無窮小量的,我們在要用ε-δ定義極限來代替這個無窮小量。所以,切線就應該被理解為割線的極限,那麼切線的斜率(也就是這點的導數)自然就是割線斜率極限,所以導數f(x)’也自然而然地成了一個極限

  由於割線的斜率就是用這兩點的縱座標之差f(x+Δx)-f(x)除以這兩點的橫座標之差x+Δx-x=Δx),而導數f(x)’割線斜率極限。那麼,我們在割線斜率的前面加一個極限符號就可以表示導數f(x) ' 了:

  這才是導數的真正定義,它是一個極限,而不再是兩個無窮小量 dy 與 dx 的商 dy/dx。也就是說,按照極限的ε-δ定義 的含義,這個導數 f '(x) 的真正含義是:你任意給一個 ε ,我都能讓割線的斜率與這個值的差比你給的 ε 更小。

6.3  微分的重建

  萊布尼茲當年認為導數是兩個無窮小量 dy 和 dx 的商,所以他用 dy/dx 來表示導數。雖然現在導數不再是這個意思,但是萊布尼茲當年精心發明的這一套符號確實好用,於是我們就繼續沿用了。也就是說我們現在仍然使用 dy/dx 來表示導數,但是現在 dy/dx 是一個極限,而不再是兩個無窮小量的商

  微分的嚴格定義是這樣的:對於 Δy 是否存在一個關於 Δx 為線性的無窮小 A*Δx(A為常數),使它與 Δy 的差是較 Δx 更高階的無窮小,也就是說下面這個式子是否成立:

  o(Δx) 就表示 Δx 的高階無窮小,從字面上理解,高階無窮小就是比無窮小還無窮小。當 Δx 慢慢趨向於 0 的時候,o(Δx) 能夠比 Δx 以更快的速度趨向於 0。比如當 Δx 減少為原來的 1/10 的時候, o(Δx) 就減少到原來的 1/100,1/1000甚至更多。

  如果這個式子成立,我們就說函式 f(x) 是可微的,dy=A*Δx 就說函式的微分。因為這是一個線性函式,所以我們說微分 dy 是 Δy 的線性主題。

7,定積分

7.1  定積分的定義

  定積分是積分的一種,是函式 f(x) 在區間 [a,b]上積分和的極限。

  注意定積分和不定積分的關係:若定積分存在,則它是一個具體的數值,而不定積分是一個函式表示式,它們僅僅在數學上有一個計算關係(牛頓-萊布尼茲公式)。

  一個函式,可以存在不定積分,而不存在定積分;也可以存在定積分,而不存在不定積分。一個連續函式,一定存在定積分和不定積分;若只有有限個間斷點,則定積分存在;若有跳躍間斷點,則原函式一定不存在,即不定積分一定不存在。

  當 ||Δx|| -> 0 時,總和 S 總是趨於確定的極限 I,則稱極限 I為函式 f(x),在曲線 [a, b] 上的定積分定義用公式表達如下:

  積分值和被積函式與積分曲線有關,與積分遍歷字母無關。

  當函式 f(x) 在曲線 [a, b] 上的定積分存在的時候,稱 f(x) 在區間 [a, b]上可積。

  定積分的幾何含義

  面積的正負值:

  代數和,它有正負之分,在 x 軸之上為正,在軸之下為負。

  那麼如何利用定積分的幾何意義判斷定積分的正負

  如果被積函式在積分割槽間總大於零,積分割槽間上限大於下限,則定積分為正,因為表示的是積分函式在積分上下限間與 X 軸圍成的一個面積;如果被積函式在積分割槽間總小於零,積分割槽間上限大於下限,則定積分為負。

7.2  定積分的性質

  定積分的性質如下:

定理1

  設 f(x) 在區間 [a, b] 上連續,則 f(x) 在 [a, b]上可積

定理2

  設 f(x) 區間 [a, b] 上有界,且只有有限個間斷點,則 f(x) 在 [a, b] 上可積

定理3

  設 f(x) 在 區間 [a, b]上單調,則 f(x) 在 [a, b] 上可積

積分第一中值定理

  積分第一中值定理是積分中值定理的推廣之一,此外還有積分第二中值定理。積分中值定理揭示了一種將極分化為函式值,或者將複雜函式的積分化為簡單函式的積分的方法。是數學分析的基本定理和重要手段,在求極限,判定某些性質點,估計積分值等方面應用廣泛。

  定理定義:如果函式 f(x) 在閉區間 [a, b] 上連續, g(x) 在 [a, b] 上不變號,並且 g(x) 在閉區間 [a, b] 上是可積的,則在 [a, b]上至少存在一個點  ε ,使下式成立:

  如果函式 f(x) 在閉區間 [a, b] 上連續,則在積分割槽間 [a, b] 上至少存在一個點 ζ,使得:

積分第二中值定理:

  積分第二中值定理是與積分第一中值定理相互獨立的一個定理,屬於積分中值定理。它可以用來證明Dirichlet-Abel 反常,Riemann 積分判別法。

  定理內容:設 f(x) 在 [a, b] 上可積, g(x) 在 [a, b] 上單調,則存在 ζ 屬於 [a, b],使得:

積分上限函式

  設函式 f(x) 在區間 [a, b] 上可積,且對於 定積分 ∫xbf(x)dx 每一個取值 的 x 都有一個對應的定積分值,則稱變上限定積分 ∫a x f(t)dt  為 f(x)  的積分上限函式,記為:

  如果 f(x) 在區間 [a, b] 上連續,則積分上限函式就是  f(x) 在 [a, b] 上的原函式。

  當 f(x) >=0 時, Φ(x) 在集合上表示為右側鄰邊可以變動的曲線梯形面積,下圖中的陰影部分:

 

  定理:設函式 f(x) 在區間 [a, b] 上連續,則積分上限函式:

 

  在 [a, b] 上可導,並且:

7.3  例項

  對於定積分的定義,有四個步驟:分割,近似,求和,取極限,具體如下:

  1,求曲線 y=x2 與 x=1, y=0 所圍成的區域的面積

  2,利用定義計算定積分 ∫10x2dx

  3,利用定義計算定積分 ∫π/20(2cosx + sinx -1)dx

  4,計算由曲線 y2=2x 和直線 y=x-4 所圍成的圖形的面積

8,微積分的總結

8.1 微分學的思想

  微分學的核心思想是逼近。其中:

  • 一階導數:線性逼近
  • 二階導數:二次逼近
  • 導數計算:求導法則

8.2  微分學的主要作用

  微積分的主要作用是:

  • 1,求解函式的極限
  • 2,分析函式的性質

8.3  微積分知識點總結

  下面列出機器學習和深度學習中所需要的微積分知識點,雖然前面都已經學習過了,但是這裡再整理起來。

  1,極限:極限是高等數學和初等數學的分水嶺,也是微積分的基石,是倒數,微分,積分的基礎。雖然在機器學習裡不直接用到極限的知識,但要理解導數和積分,它是必須的。

  2,上確界和下確界:這個在機器學習中會經常用到,比如論文中常出現的 sup 和 inf。

  3,導數:其重要性眾所周知,求函式的極限需要它,分析函式的性質需要它。典型的如梯度下降法的推導,Logistic函式導數的計算。所以熟練地計算函式的導數是基本功。

  4,Lipschitz 連續性:這一概念對分析演算法的性質卻很有用,在GAN,深度學習演算法的穩定性,泛化效能分析中都有用武之地。

  5,導數與函式的單調性:某些演算法的推導,如神經網路的啟用函式,AdaBoost演算法,都需要研究函式的單調性。

  6,導數與函式的極限:這個在機器學習中處於中心位置,大部分優化問題都是連續優化問題,因此可以通過求導為0的點而求函式的極限,以實現最小化損失函式,最大化似然函式等目標。

  7,導數與函式的凹凸性:在凸優化中,Jensen不等式的證明中都有它的應用。

  8,泰勒公式:又一個核心知識點,在優化演算法中廣泛使用,從梯度下降法,牛頓法,擬牛頓法,到AdaBoost演算法,梯度提升演算法,XGBoost演算法的推導都離不開它。

  9,不定積分:積分在機器學習中使用的相對較小,主要用於概念的計算中,它是定積分的基礎。

  10,定積分:包含廣義積分,被用於概率論的計算中。機器學習中很大一類演算法是概率型演算法,如貝葉斯分類器,概率圖模型,變分推導等。這些地方都涉及到對概率密度函式進行積分。

  11,變上限積分:分佈函式是典型的變上限積分函式,同樣主要用於概率計算中。

  12,牛頓-萊布尼茲公式:在機器學習中很少直接使用,但它是微積分中最重要的公式之一,為定積分的計算提供了依據。

  13,偏導數:重要性不用多說,機器學習絕大多數函式都是多元函式,要求其極限,偏導數是繞不開的。

  14,梯度:決定了多元函式的單調性和極限,梯度下降法的推導離不開它。幾乎所有連續優化演算法都需要計算函式的梯度值,且以尋找梯度為0的點作為目標。

  15,高階偏導數:確定函式的極值離不開它,光有梯度值還無法確定函式的極值。

  16,鏈式法則:同樣使用廣泛,各種神經網路的反向傳播演算法都依賴於鏈式法則。

  17,Hessian 矩陣:決定了函式的極值凹凸性。

 

https://www.zhihu.com/question/336322284/answer/918067537

相關文章