数值优化算法【2】-- 梯度下降算法
数值优化算法【2】-- 梯度下降算法
本节介绍梯度下降(gradient descent)的工作原理。虽然梯度下降在深度学习中很少被直接使用,但理解梯度的意义,以及沿着梯度反方向更新模型参数以降低目标函数值的原理,是后面各种优化方法的基础。 梯度下降法又被称为最速下降法,是获得数值解的一种常用算法,主要分为批量梯度下降(Batch Gradient Descent)、随机梯度下降(Stochastic Gradient Descent)以及小批量梯度下降(Mini-Batch Gradient Descent)三种不同的形式。
一、理解梯度下降
(1)一维梯度下降
先以简单的一维梯度下降为例,解释梯度下降算法可能降低目标函数值的原因。
假设连续可导的函数 $ J: \mathbb{R} \rightarrow \mathbb{R} $ 的输入和输出都是标量。给定绝对值足够小的数 $ \epsilon $ ,根据泰勒展开公式,得到以下的近似:
J(x+ϵ)≈J(x)+ϵJ′(x).J(x + \epsilon) \approx J(x ...
数值优化算法【1】-- 常用优化算法
数值优化算法【1】-- 常用优化算法
一、解析解与数值解的概念
很多机器学习和深度学习方法,都是在样本的支持下,利用导数或偏微分寻求方程的解,而传统数学方法中,会用到解析和数值两种解法。
(1)解析解法:
就是从小到大教科书里讲的,利用严格公式推导获得解的解析表达式,输入自变量的值就可以求出因变量。
如果一个方程或者方程组存在的某些解,是由有限次常见运算(如:分式、三角函数、指数、对数甚至无限级数等)的组合给出的形式,则称该方程存在解析解。
例如:对于线性回归模型,采用最小二乘法可以直接得出解析解,x=(ATA)−1ATb,其中A是样本支撑的矩阵,b为观测值x=(A^TA)^{-1}A^Tb,\quad 其中A是样本支撑的矩阵,b为观测值x=(ATA)−1ATb,其中A是样本支撑的矩阵,b为观测值
(2)数值解法:
当无法由微积分技巧求得解析解时(特别是复杂函数),利用数值分析方式来求得其数值解是比较好的选择。
采用某种计算方法(如:有限元方法、数值逼近、插值方法等)得到的解,被称为数值解。
数值解是在特定条件下通过近似计算得出来的一个数值。
例如:同样对于线性回归模 ...