梯度下降法和泰勒公式
第一部分:泰勒公式
在高數(shù)中,引出相關(guān)需求,其描述如下:
對(duì)于一些較復(fù)雜的函數(shù),為了便于研究,往往希望用一些簡(jiǎn)單的函數(shù)來(lái)近似表達(dá)。由于用多項(xiàng)式表示的函數(shù),只要對(duì)自變量進(jìn)行有限次的加,減,乘三種算數(shù)運(yùn)算,便能求出它的函數(shù)值,因此我們經(jīng)常用多項(xiàng)式近似表達(dá)函數(shù)。
簡(jiǎn)單說(shuō)來(lái),就是:在誤差允許的前提下,我們用多項(xiàng)式(簡(jiǎn)單函數(shù))來(lái)近似代替復(fù)雜函數(shù),使得復(fù)雜函數(shù)的應(yīng)用更加方便
所以說(shuō),泰勒公式是使用多項(xiàng)式對(duì)目標(biāo)函數(shù)的近似,當(dāng)然為了提高精度,使用了高次多項(xiàng)式
泰勒(Taylor)中值定理1:如果函數(shù)f(x)在x0處具有n階導(dǎo)數(shù),那么存在x0的一個(gè)領(lǐng)域,對(duì)于該領(lǐng)域的任一x,有:
佩亞諾余項(xiàng)(近似誤差):
我們可以利用泰勒公式對(duì)未知函數(shù)進(jìn)行估計(jì),過(guò)程如下:
設(shè)下圖是我們要估計(jì)的函數(shù)圖形:
我們不知道函數(shù)圖形的全部,只知道一小部分:
?使用泰勒公式,已知點(diǎn)是這一個(gè)函數(shù)片段的端點(diǎn),通過(guò)泰勒公式我們可以估計(jì)函數(shù)片段端點(diǎn)的一個(gè)極小領(lǐng)域內(nèi)的值,若我們用一階泰勒展開(kāi)式進(jìn)行計(jì)算的話,效果應(yīng)該如下:
?每一次估計(jì)之后,下一次使用上一次的結(jié)果再進(jìn)行估計(jì)(迭代過(guò)程),每一個(gè)估計(jì)片段鏈接起來(lái),就是我們?cè)谝阎瘮?shù)片段下,對(duì)函數(shù)整體的估計(jì)。我們可以使用更高階的泰勒展開(kāi)來(lái)估計(jì)函數(shù),這要看對(duì)應(yīng)的應(yīng)用場(chǎng)景而定。
現(xiàn)在我們只要知道一個(gè)函數(shù)的一個(gè)點(diǎn)的取值和該點(diǎn)的變化率(導(dǎo)數(shù)),就可以對(duì)函數(shù)整體進(jìn)行估計(jì)。
?
第二部分:梯度下降(上升)法
在優(yōu)化方法中最常提到的方法——梯度下降法
什么是最優(yōu)化問(wèn)題?
在百度百科中的定義如下:
工程設(shè)計(jì)中最優(yōu)化問(wèn)題(optimization problem)的一般提法是要選擇一組參數(shù)(變量),在滿足一系列(約束條件)下,使設(shè)計(jì)指標(biāo)(目標(biāo))達(dá)到最優(yōu)值。
設(shè),我們有一個(gè)數(shù)據(jù)集,每一項(xiàng)數(shù)據(jù)有兩個(gè)值(x:屬性,y:標(biāo)簽),都是數(shù)值型的,我們認(rèn)為每一項(xiàng)的屬性和標(biāo)簽是符合某個(gè)函數(shù)關(guān)系的,即:
?我們希望這個(gè)函數(shù)盡可能的符合真實(shí)的屬性-標(biāo)簽之間的關(guān)系,我們用歐氏距離來(lái)度量,預(yù)測(cè)關(guān)系和真實(shí)關(guān)系的差距,當(dāng)這個(gè)差距足夠小,我們就可以使用
?來(lái)近似這種關(guān)系。
所以我們有如下最優(yōu)化目標(biāo)
這是一個(gè)關(guān)于w的函數(shù),取不同的數(shù)據(jù)集,有不同的結(jié)果,我們要求這個(gè)函數(shù)取最小值時(shí)的w?,當(dāng)然我們可以選擇對(duì)函數(shù)求導(dǎo),令導(dǎo)數(shù)等于0,就可以求解,我們不采取這種方法(在現(xiàn)實(shí)任務(wù)中,一階導(dǎo)數(shù)等于0這個(gè)式子不容易求解)。
我們選擇一種看上去比較蠢,但是實(shí)用的方式:對(duì)w一點(diǎn)點(diǎn)的調(diào)整,我們希望每一次調(diào)整,計(jì)算結(jié)果都在減小,這是一個(gè)迭代過(guò)程,直到w的調(diào)整無(wú)法使函數(shù)值下降,我們認(rèn)為此時(shí)的w是最優(yōu)的w。(這就是梯度下降的基本思想)
設(shè)w每次的調(diào)整為:w-w0=ηv,因?yàn)閣是一個(gè)參數(shù)向量,所以其變化用η(步長(zhǎng),變化大小,標(biāo)量),v(變化方向,單位向量)來(lái)表示。我們需要求v(變化方向),使得函數(shù)的變化最快,在v未知的情況下,怎么得到調(diào)整后的函數(shù)值呢?
此時(shí)就可以使用泰勒公式對(duì)函數(shù)值進(jìn)行估計(jì),表示如下(使用一階泰勒展開(kāi)式):
表示為w的方程為:
因?yàn)閣-w0=ηv?,有:
因?yàn)槊看螀?shù)w調(diào)整之后,函數(shù)值減小,有:
?
?因?yàn)椴介L(zhǎng)η是一個(gè)標(biāo)量,不影響符號(hào),所以先省略,得到:
?v是一個(gè)單位向量,函數(shù)的導(dǎo)數(shù)也是一個(gè)向量(函數(shù)增長(zhǎng)方向),那么兩個(gè)向量的乘積在什么時(shí)候小于0呢?
如下是向量的乘積:
當(dāng)cos(α)<0,時(shí)向量乘積小于0?,因?yàn)槲覀兿M陆邓俣仁亲羁斓?#xff0c;所以令cos(α) = -1,即兩個(gè)向量的方向相反。
那么知道了v與f'(w0)方向相反,且是個(gè)單位向量,所以v為:
因?yàn)?
是個(gè)標(biāo)量,那么將它并入η?,則w的更新公式為:
這就是梯度下降法,梯度上升是求最大值時(shí)用的,即把上式中的-換成+
總結(jié)
以上是生活随笔為你收集整理的梯度下降法和泰勒公式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 《黑客帝国》说的是什么?
- 下一篇: little-endian java_L