梯度下降原理推導
?#方嚮導數
設$l$是xoy平面上以$(x{0},y{0})$為始點的一條射線,$e{l}=(cos alpha, cos eta)$是與$l$同方向的單位向量,射線$l$的參數方程為$$x=x{0}+tcosalpha$$$$y=y{0}+tcoseta$$ $$tgeqslant 0$$設函數$z=f(x,y)$在點$P{0}(x{0},y{0})$的某個領域$U(P{0})$內有定義,$P(x{0}+tcosalpha,y{0}+tcoseta)$為$l$上的另一點,且$Pin U(P{0})$。如果函數增量與點$P$到點$P{0}$的距離比值$$frac{f(x{0}+tcosalpha,y{0}+tcoseta)-f(x{0},y{0})}{t}$$當$P$沿著$l$趨向於$P{0}(即t
ightarrow0^{+})$時的極限存在,則稱此極限為函數$f(x,y)$在點$P{0}$沿方向$l$的方向倒數,即$$frac{partial f}{partial l} mid{(x{0},y{0})}=lim{t
ightarrow 0^{+}}frac{f(x{0}+tcosalpha,y{0}+tcoseta)-f(x{0},y{0})}{t}$$
ightarrow 0^{+}}frac{f(x{0}+tcosalpha,y{0}+tcoseta)-f(x{0},y{0})}{t}=f{x}{(x{0},y{0})cosalpha + f{y}(x{0},y_{0})coseta}$$
梯度
二元函數的情形下,設函數$f(x,y)$在平面區域D中具有一階連續偏導數,則對於每一點$P{0}(x{0},y{0})in D$,都可定出一個向量$$f{x}(x{0},y{0})i+f{y}(x{0},y{0})j$$這向量稱為函數$f(x,y)$在點$P{0}(x{0},y{0})$的梯度,記為$
abla f(x{0},y{0})$
abla f(x{0},y{0}) cdot e{l}=left |
abla f(x{0},y{0})
ight |cos heta$$$$ heta=(
abla f(x{0},y{0})hat{,} e{l})$$因此得出結論:當$ heta=0$時,即單位向量$e{l}$的方向與梯度方向相同,函數$f(x,y)$增加最快,函數在這個方向的方嚮導數達到最大值$frac{partial f}{partial l} mid{(x{0},y{0})}=left |
abla f(x{0},y{0})
ight |$;當$ heta=pi$時,即單位向量$e{l}$的方向與梯度方向相反,函數$f(x,y)$減小最快,函數在這個方向的方嚮導數達到最小值$frac{partial f}{partial l} mid{(x{0},y{0})}=-left |
abla f(x{0},y_{0})
ight |$
梯度下降優化
對參數$x和y$進行優化,從而使得$f(x,y)$得到最小值
對於每一次優化,$(x,y)$都會向當前減小最快的方向移動。首先計算$(x{0},y{0})$點的梯度$
abla f(x{0},y{0})$$$
abla f(x{0},y{0})=f{x}(x{0},y{0})i+f{y}(x{0},y{0})j$$
abla f(x{0},y{0})
ight |$的距離,其中$eta$是學習率,用於控制參數移動的多少。對應於:$$x:x-eta f{x}(x{0},y{0})$$$$y:y-eta f{y}(x{0},y{0})$$通過每一次的優化,參數$x和y$就會逐漸移動到$f(x,y)$最低點?#方嚮導數
設$l$是xoy平面上以$(x{0},y{0})$為始點的一條射線,$e{l}=(cos alpha, cos eta)$是與$l$同方向的單位向量,射線$l$的參數方程為$$x=x{0}+tcosalpha$$$$y=y{0}+tcoseta$$ $$tgeqslant 0$$
設函數$z=f(x,y)$在點$P{0}(x{0},y{0})$的某個領域$U(P{0})$內有定義,$P(x{0}+tcosalpha,y{0}+tcoseta)$為$l$上的另一點,且$Pin U(P{0})$。如果函數增量與點$P$到點$P{0}$的距離比值$$frac{f(x{0}+tcosalpha,y{0}+tcoseta)-f(x{0},y{0})}{t}$$當$P$沿著$l$趨向於$P{0}(即tightarrow0^{+})$時的極限存在,則稱此極限為函數$f(x,y)$在點$P{0}$沿方向$l$的方向倒數,即$$frac{partial f}{partial l} mid{(x{0},y{0})}=lim{t
ightarrow 0^{+}}frac{f(x{0}+tcosalpha,y{0}+tcoseta)-f(x{0},y{0})}{t}$$證明:$f(x,y)$在點$P{0}(x{0},y{0})$可微分,那麼函數在該點沿任意方嚮導數$l$都存在,且有$$frac{partial f}{partial l} mid{(x{0},y{0})}=f{x}{(x{0},y{0})cosalpha + f{y}(x{0},y{0})coseta}$$證:由假設,函數$f(x,y)$在點$(x{0},y{0})$可微分,故有$$f(x{0}+Delta x,y{0}+Delta y)-f(x{0},y{0})=f{x}(x{0},y{0})Delta x+f{y}(x{0},y{0})Delta y+o(sqrt{(Delta x)^{2}+(Delta y)^{2}})$$
在方向$l$上,有$Delta x=tcosalpha,Delta y=tcoseta, sqrt{(Delta x)^{2}+(Delta y)^{2}}=t$$$frac{partial f}{partial l} mid{(x{0},y{0})}=lim{t
ightarrow 0^{+}}frac{f(x{0}+tcosalpha,y{0}+tcoseta)-f(x{0},y{0})}{t}=f{x}{(x{0},y{0})cosalpha + f{y}(x{0},y_{0})coseta}$$
梯度
二元函數的情形下,設函數$f(x,y)$在平面區域D中具有一階連續偏導數,則對於每一點$P{0}(x{0},y{0})in D$,都可定出一個向量$$f{x}(x{0},y{0})i+f{y}(x{0},y{0})j$$這向量稱為函數$f(x,y)$在點$P{0}(x{0},y{0})$的梯度,記為$
abla f(x{0},y{0})$
abla f(x{0},y{0}) cdot e{l}=left |
abla f(x{0},y{0})
ight |cos heta$$$$ heta=(
abla f(x{0},y{0})hat{,} e{l})$$因此得出結論:當$ heta=0$時,即單位向量$e{l}$的方向與梯度方向相同,函數$f(x,y)$增加最快,函數在這個方向的方嚮導數達到最大值$frac{partial f}{partial l} mid{(x{0},y{0})}=left |
abla f(x{0},y{0})
ight |$;當$ heta=pi$時,即單位向量$e{l}$的方向與梯度方向相反,函數$f(x,y)$減小最快,函數在這個方向的方嚮導數達到最小值$frac{partial f}{partial l} mid{(x{0},y{0})}=-left |
abla f(x{0},y_{0})
ight |$
梯度下降優化
對參數$x和y$進行優化,從而使得$f(x,y)$得到最小值
對於每一次優化,$(x,y)$都會向當前減小最快的方向移動。首先計算$(x{0},y{0})$點的梯度$
abla f(x{0},y{0})$$$
abla f(x{0},y{0})=f{x}(x{0},y{0})i+f{y}(x{0},y{0})j$$
abla f(x{0},y{0})
ight |$的距離,其中$eta$是學習率,用於控制參數移動的多少。對應於:$$x:x-eta f{x}(x{0},y{0})$$$$y:y-eta f{y}(x{0},y{0})$$通過每一次的優化,參數$x和y$就會逐漸移動到$f(x,y)$最低點
推薦閱讀:
※GAN之父:讓機器擁有天賦 我還在對付利用AI作惡的人
※獨家 | 一文讀懂人工神經網路
※Paper Reading | 讓機器像人類一樣學畫畫?GANs 「全家福」一覽
※Michael Nielsen對交叉熵的解釋(三)