機器學習數學知識積累之高等數學微積分

世有因果知因求果發表於2018-07-19

正餘弦等三角函式定義及基本性質回顧

定義:

運算性質:

 

泰勒展開式

泰勒公式是將一個在x=x0處具有n階導數的函式f(x)利用關於(x-x0)的n次多項式來逼近函式的方法。

$$f(x) = \frac{f(x_0)}{0!} + \frac{f^{'}(x_0)}{1!}(x-x_0) + \frac{f^{''}(x_0)}{2!}(x-x_0)^{2} + \frac{f^{'''}(x_0)}{3!}(x-x_0)^{3}+... + \frac{f^{n}(x_0)}{n!}(x-x_0)^{n}+R_n(x)$$

其中$R_n(x)$是$(x-x_0)^{n}$的高階無窮小

通常,我們在x0 = 0 處展開,將$f(x_0),f^{'}(x_0),...,f^{n}(x_0)$的值帶入泰勒展開式就得到

$$f(x) = \frac{f(0)}{0!} + \frac{f^{'}(0)}{1!}x + \frac{f^{''}(0)}{2!}x^{2} + \frac{f^{'''}(0)}{3!}x^{3}+... + \frac{f^{n}(0)}{n!}x^{n}+R_n(x)$$

在實際科學計算中,我們通過二階泰勒展開,就可以對$f(x)$實現近似計算

常用函式的泰勒展開

拉格朗日乘數法優化有約束條件的函式

我們知道機器學習本質上是給定一組資料集後對損失函式進行優化求解。優化的方法最常見的是隨機梯度下降法,而神經網路中的優化更進一步使用後向傳播的梯度下降方法。但是對於有約束條件的函式優化問題,直接使用梯度下降是有困難的。這時,拉格朗日乘數法就能有效實現這類問題的優化。

https://blog.csdn.net/WuSnake123/article/details/58635726 

拉格朗日優化基本思想

作為一種優化演算法,拉格朗日乘子法主要用於解決約束優化問題,它的基本思想就是通過引入拉格朗日乘子來將含有n個變數和k個約束條件的約束優化問題轉化為含有(n+k)個變數的無約束優化問題。拉格朗日乘子背後的數學意義是其為約束方程梯度線性組合中每個向量的係數。

  如何將一個含有n個變數和k個約束條件的約束優化問題轉化為含有(n+k)個變數的無約束優化問題?拉格朗日乘數法從數學意義入手,通過引入拉格朗日乘子建立極值條件,對n個變數分別求偏導對應了n個方程,然後加上k個約束條件(對應k個拉格朗日乘子)一起構成包含了(n+k)變數的(n+k)個方程的方程組問題,這樣就能根據求方程組的方法對其進行求解。

  解決的問題模型為約束優化問題:

  min/max a function f(x,y,z), where x,y,z are not independent and g(x,y,z)=0.

  即:min/max f(x,y,z)

    s.t:  g(x,y,z)=0

數學例項

求雙曲線xy=3上離遠點最近的點。

我們先根據上述問題描述提煉出問題對應的數學模型,即:

$min f(x,y) = x^2+y^2  \:  s.t.: xy=3 $

這是一個典型的約束優化問題,其實最簡單的方法是將變數進行替換,隨後使用傳統的求導取0來優化。但是我們還是通過使用拉格朗日乘數法的思想來求解用於理解拉格朗日乘數法的核心。

我們將$x^2+y^2=c$的曲線族畫出來,當曲線族中的圓與雙曲線$xy=3$相切時,切點到原點的距離是最短的。也就是說當f(x,y)=c的等高線與雙曲線相切時,我們可以得到上述優化問題的極值。

 

現在原來的優化問題就可以等價為:求當f(x,y)和g(x,y)相切時,x,y的值是多少?

如果兩個曲線相切,那麼他們的切線在切點必然相同,即法向量是相互平行的.$\triangledown f // \triangledown g $,也就是說存在一個標量$\lambda$使得 $\triangledown f = \lambda * \triangledown g $。這時,我們就將原來的約束優化問題轉化為了一種對偶等價無約束的優化問題,如下:

$f_x'=\lambda*g_x';f_y'=\lambda*g_y';xy=3$

通過求解以下方程組:

$$\left\{\begin{matrix}2x = \lambda*y\\ 2y = \lambda*x\\ xy = 3\end{matrix}\right.$$

求得:$\lambda=2;\lambda=-2$,當$\lambda=2$時,$(x,y)=(\sqrt3,\sqrt3)$,當$\lambda=-2$時,無解。

通過這個例子,我們就可以體會到拉格朗日乘數法通過引入拉格朗日乘子($\lambda$)將原來的約束優化問題轉換為無約束的方程組問題。

拉格朗日乘數法的基本形態:

求函式在滿足下的條件極值,可以轉化為函式的無條件極值問題。

當取得最優解時

▽[f(x,y)+λ(g(x,y)−1)]=0, λ≠0

一旦通過上述方程求出$\lambda$的值,便容易求出無約束極值和極值對應的點:

F(x,y)=f(x,y)+λ(g(x,y)−c)

  新方程F(x,y)在達到極值時與f(x,y)相等,因為F(x,y)達到極值時g(x,y)−c總等於零。

  上述式子取得極小值時其導數為0,即▽f(x)+▽∑λigi(x)=0,也就是說f(x)和g(x)的梯度共線

例題:

給定橢球

     

  求這個橢球的內接長方體的最大體積。這個問題實際上就是條件極值問題,即在條件   

    

  下,求的最大值。

  當然這個問題實際可以先根據條件消去,然後帶入轉化為無條件極值問題來處理。但是有時候這樣做很困難,甚至是做不到的,這時候就需要用拉格朗日乘數法了。通過拉格朗日乘數法將問題轉化為

     

  對求偏導得到

     

  聯立前面三個方程得到,帶入第四個方程解之

      

  帶入解得最大體積為

      

  拉格朗日乘數法對一般多元函式在多個附加條件下的條件極值問題也適用。

積分的降冪分佈積分法

$\int_{a}^{b}udv = \left [ uv \right ]^b_a-\int_{a}^{b}vdu$

 

相關文章