一名数学专业的人工智能爱好者
导语
随着人工智能、深度学习的火爆,越来越多的人加入到这个行业中来,相信你们也一定听说过,不懂数学的AI工作者找工作时经常碰壁,博主作为一名数学专业学生开这一系列博客希望可以帮大家以简明的方式了解深度学习中数学到底起了什么作用
最优化问题
为什么会讲到最优化问题,我们在学习DL时,需要极小化损失函数以达到极大化学习率的目的,也就是求w与b的值。通常我们采用随机梯度下降或者牛顿法来求,这部分就是运筹优化的知识。
简单的说,最优化问题就是基于现有资源使效益极大化或者为实现某类目标使成本极小化的问题。因为极大化问题也可以看作极小化该问题的负值,所以统一将该模型写成:
⎧⎩⎨minf(x)s.t.x∈Ω
Ω 为某个指定的集合,称为可行集或可行域,
f(x) 为定义在集合
Ω 上的连续可微的多元实值函数(不要被这句话吓到&_&,我们目前所接触到的函数基本都是这种函数)
x 就是n元决策变量了。
Ω={x∈Rn|ci(x)=0,i∈ξ;ci(x)≥0,i∈ζ}, 额,又是一长串公式,简单来说就是前边是个等式约束集,后边是个不等式约束集,如果这两个集合 ζ 与 ξ 是空集那么这个问题就是无约束优化问题。
无约束优化问题
我们先来梳理一下要用到数学知识:
1、向量范数与矩阵范数
2、多元函数梯度与Hesse阵
3、凸集与凸函数
特别要提示的是:如果该函数为凸函数,那么它有且仅有一个最优点,如果它的值不在无穷处,我们利用大部分算法都可以很容易找到它。
无约束优化算法概述
在数值优化中,一般采用迭代法求解无约束优化问题,所用到算法大致可分为:线搜索方法,信赖域方法,最小二乘问题的Gauss-Newton法、L-M方法。
其中线搜索方法用的较多,主要有梯度法(也称最速下降法),牛顿法,共轭梯度法,拟牛顿法。
本篇先介绍一下线搜索算法框架:
- 步骤0,初始化,选取有关参数及初始迭代点 x0∈Rn ,设定容许误差 0≤ε≪1 ,令 k=0
- 步骤1,检验终止判别准则,计算 gk=∇f(xk) ,若 ∥gk∥≤ε 满足某种终止,停算,输出 x∗≈xk .
- 步骤2,确定下降方向 dk ,使满足 gTkdk<0 .
- 步骤3,确定步长因子 αk ,可利用“精确线搜索”或者“非精确线搜索”
- 步骤4,更新迭代点,令 xk+1=xk+αkdk,k=k+1 ,转步骤1
本篇文章介绍到此,我们再来看……好吧,一脸懵逼 两脸懵逼 羣懵逼 序懵逼 离散懵逼 高斯懵逼 拉格朗日变换懵逼……
下篇将会上代码,来点实在的 → _ →