本文主要是介绍梯度、法线、等高线、梯度下降方向,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
梯度下降法是数学优化中比较常用的方法,在机器学习中也有不少应用。
函数 F ( x 1 , x 2 , … , x n ) F(x_1, x_2, \dots, x_n) F(x1,x2,…,xn) 的梯度就是它的一阶导数:
Δ F = ( ∂ F ∂ x 1 , ∂ F ∂ x 2 , … , ∂ F ∂ x n ) \Delta F=(\frac{\partial F}{\partial x_1}, \frac{\partial F}{\partial x_2},\dots, \frac{\partial F}{\partial x_n}) ΔF=(∂x1∂F,∂x2∂F,…,∂xn∂F)
某点法线的几何意义是垂直于改点切线或切面的向量,对于隐函数 F ( x 1 , x 2 , … , x n ) = 0 F(x_1, x_2, \dots, x_n)=0 F(x1,x2,…,xn)=0,它的法线就是该隐函数的梯度 Δ F \Delta F ΔF。
1. 为什么梯度与函数等高线的斜率垂直?
例如下面的梯度下降法图示:
因为等高线可以用隐函数表示,即 F ( x 1 , x 2 , … , x n ) − K = 0 F(x_1, x_2, \dots, x_n)-K=0 F(x1,x2,…,xn)−K=0,其中 K K K 为等高线的高度值。因此,等高线的法线向量就是它的梯度 Δ F \Delta F ΔF。 而根据上面所说的法线几何意义,某点的法线垂直于改点的切线,所以它的梯度也垂直于切线。
2. 为什么负梯度方向是下降最快的方向?
任取一单位方向向量 v \bm v v,则任一函数的下降速度可以用求导表示:
lim h → 0 F ( x + h v ) h = v Δ F ( x ) = ∣ v ∣ ∣ x ∣ cos θ \lim_{h\rightarrow 0}\frac{F(\bm{x}+h\bm {v})}{h}=\bm{v}\Delta F(\bm x)=|\bm v||\bm x|\cos \theta h→0limhF(x+hv)=vΔF(x)=∣v∣∣x∣cosθ
上式是两个向量的乘积,显然当二者的夹角为 -90 度时乘积最小,即当 v \bm v v 为负梯度方向时,下降速度最快。
这篇关于梯度、法线、等高线、梯度下降方向的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!