梯度下降法是一种基于搜索的最优化方法,作用是最小化一个损失函数(最大化效用函数用梯度上升法)。
我们首先来明晰两个概念
方向导数:函数z=f(x,y)z=f(x,y)z=f(x,y)在点(x0,y0)(x_0,y_0)(x0,y0)沿方向l⃗\vec{l}l的方向导数
∂f∂l=limρ→0+f(x0+ρcosα,y0+ρcosβ)−f(x0,y0)ρ\frac{\partial f}{\partial l}=\lim_{\rho \rightarrow 0^+}\frac{f(x_0+\rho \cos{\alpha}, y_0+\rho \cos{\beta})-f(x_0,y_0)}{\rho}∂l∂f=limρ→0+ρf(x0+ρcosα,y0+ρcosβ)−f(x0,y0)
∂f∂l\frac{\partial f}{\partial l}∂l∂f是函数zzz对点(x0,y0)(x_0,y_0)(x0,y0)沿方向l⃗\vec{l}l对ρ\rhoρ的变化率,也是曲面zzz在点(x0,y0)(x_0,y_0)(x0,y0)沿方向l⃗\vec{l}l的倾斜程度。
梯度:向量(∂f∂x,∂f∂y)(\frac{\partial f}{\partial x}, \frac{\partial f}{\partial y})(∂x∂f,∂y∂f)是使f(x,y)f(x,y)f(x,y)在一点增加最快的方向,称向量(∂f∂x,∂f∂y)(\frac{\partial f}{\partial x}, \frac{\partial f}{\partial y})(∂x∂f,∂y∂f)为可微函数z=f(x,y)z=f(x,y)z=f(x,y)在点(x,y)(x,y)(x,y)处的梯度向量,简称梯度。
记作:
▽f=(∂f∂x,∂f∂y)=∂f∂xi+∂f∂yj\bigtriangledown f=(\frac{\partial f}{\partial x}, \frac{\partial f}{\partial y})=\frac{\partial f}{\partial x}i+\frac{\partial f}{\partial y}j▽f=(∂x∂f,∂y∂f)=∂x∂fi+∂y∂fj
梯度▽f\bigtriangledown f▽f是一个向量,是可微函数z=f(x,y)z=f(x,y)z=f(x,y)在点(x,y)(x,y)(x,y)处取得最大方向导数的方向(即函数增加最快的方向)。
最小二乘法的梯度
目标函数:J(θ)=(y−Xθ)T(y−Xθ)J(\theta)=(y-X\theta)^T(y-X\theta)J(θ)=(y−Xθ)T(y−Xθ)
梯度:▽θJ=2XT(Xθ−y)\bigtriangledown_{\theta}J=2X^T(X\theta -y)▽θJ=2XT(Xθ−y)
感知机算法的梯度
目标函数:J(w,b)=−∑x∈My(i)(wTx(i)+b)J(w,b)=-\sum_{x\in M}y^{(i)}(w^Tx^{(i)}+b)J(w,b)=−∑x∈My(i)(wTx(i)+b)
梯度:▽wJ=−∑x∈My(i)x(i)\bigtriangledown_{w}J=-\sum_{x\in M}y^{(i)}x^{(i)}▽wJ=−∑x∈My(i)x(i)
▽bJ=−∑x∈My(i)\bigtriangledown_{b}J=-\sum_{x\in M}y^{(i)}▽bJ=−∑x∈My(i)