深度学习之数学基础 Updating
2017-12-14 17:51
337 查看
1. 常用函数的有用性质
1.1 logistic sigmoid函数:
σ(x)=11+e−xlogistic sigmoid函数通常用来产生Bernouli分布中的参数Φ, 因为它的范围是(0, 1), 处在Φ的有效取值范围内。sigmoid函数在变量取绝对值非常大的正值或负值时会出现饱和 (saturate)现象,函数会变得很平,并且对输入的微笑改变会变得不敏感。
1.2 softplus 函数
ζ(x)=log(1+ex)softplus函数可以用来产生正态分布的β和α参数,因为它的范围是(0, ∞). 当处理包含sigmoid函数的表达式时,它也经常出现。softplus函数名来源于它的另一个函数的平滑称软化形式,这个函数为:
x+=max(0,x)
1.2.1 应该背下来的性质
σ(x)=exex+e0=11+e−xddxσ(x)=σ(x)(1−σ(x))
1−σ(x)=σ(−x)
logσ(x)=−ζ(−x)
ddxζ(x)=σ(x)
∀x∈(0,1),σ−1(x)=log(x1−x)
∀x>0,ζ−1(x)=log(ex−1)
ζ(x)=∫x−∞σ(y)dy
ζ(x)−ζ(−x)=x
1.3 softmax函数
softmax 函数经常用于预测与Multinoulli分布相关联的概率,定义为:softmax(x)i=exi∑nj=1exj
1.3.1 上溢和下溢
使用softmax函数的时候,经常需要对其进行上溢和下溢处理。当xi等于c时,如果c是非常小的负数,exp(c)就会下溢,此时分母为0. 当c是非常大的正数时,exp(c)就会上溢。解决办法是,计算softmax(z), z=x−maxixi, 注:这里的z和x为粗体大写。softmax的函数值不会因为从输入向量减去或加上标量而改变。减去maxixi导致exp的最大参数为0,这排除了上溢的可能性。同样,分母中至少有一个值为1的项,排除了因分母下溢而导致被零除的可能性。
计算log softmax(x),先计算softmax再把结果传给log函数,会错误地得到−∞。此时,应该使用相同的方法来稳定log softmax函数。
1.4 基于梯度的优化方法(重点)
大多数深度学习算法都涉及某种形式的优化。优化指的是改变x以最小化或最大化某个函数f(x)的任务。通常我们以最小化f(x)指代大多数最优化问题。最大化可经由最小化算法最小化 -f(x)来实现。
我们把要最小化或最大化的函数称为目标函数 objective function 或准则 criterion。当我们对其进行最小化时,也把它称为代价函数 cost function、损失函数 loss function 或误差 error function。
通常,使用一个上标*表示最小化或者最大化函数的x值,如,x∗=argminf(x).
对于一维输入,可以求其导数。对于多维输入,需要用到偏导数 partial derivative。
梯度 gradient是相对一个向量求导的导数: f的导数是包含所有偏导数的向量,记为∇xf(x)。梯度的第i个元素是f关于xi的偏导数。在多维输入的情况下,临界点是梯度中所有元素都为零的点。
在μ⃗ 单位向量方向的方向导数 directional derivative 是函数f在μ⃗ 方向的斜率。也就是说,方向导数是函数f(x⃗ +αμ⃗ )关于α的导数,在α=0时取得。使用链式法则,我们可以看到,当α=0时,∂∂αf(x⃗ +αμ⃗ )=μT∇xf(x⃗ ).
为了最小化f,我们希望找到使f下降的最快的方向,计算方向导数:
minμ⃗ ,μ⃗ Tμ⃗ =1μ⃗ T∇x⃗ f(x⃗ )=minμ⃗ ,μ⃗ Tμ⃗ =1∥μ⃗ ∥2∥∇x⃗ f(x⃗ )∥2cosθ
其中,θ是μ⃗ 与梯度的夹角。将∥μ⃗ ∥2=1代入,并忽略与μ⃗ 无关的项,就能简化得到minμ⃗ cosθ。这在μ⃗ 与梯度方向相反时取得最小。也就是说,梯度向量指向上坡,负梯度向量指向下坡。我们在负梯度方向上移动可以减小f。这被称为最速下降法 method of steepest descent 或梯度下降 gradient descent。
最速下降建议新的点为:
x⃗ ′=x⃗ −ϵ∇xf(x⃗ )
其中, ϵ为学习率 learning rate, 是一个确定步长大小的正标量。我们可以通过几种不同的方式选择ϵ。普遍的方式是选择一个小常数。有事我们通过计算,选择使方向导数消失的步长。还有一种方法是根据几个ϵ计算f(x⃗ −ϵ∇xf(x⃗ )),并选择其中能产生最小目标函数值的ϵ。这中策略称为线搜索。
最速下降在梯度的每一个元素为零时收敛,或在实践中,很接近零时。在某些情况下,我们也许能够避免运行该迭代算法,并通过解方程∇xf(x⃗ )=0直接跳到临界点。
虽然梯度下降被限制在连续空间中的优化问题,但不断向更好的情况移动一小步,即近似最佳的小移动,的一般概念可以推广到离散空间。递增带有离散参数的目标函数称为盘山 hill climbing算法。
1.5 条件概率的链式法则
条件概率:P(y=y∣x=x)=P(y=y,x=x)P(x=x)
任何多维随机变量的联合概率分布,都可以分解成只有一个变量的条件概率相乘的形式:
P(x(1),⋯,x(n))=P(x(1))∏i=2nP(x(i)∣x(1),⋯,x(i−1))
这个规则被称为概率的链式法则 chain rule 或者乘法法则 product rule。
相关文章推荐
- 深度学习数学基础之微积分
- 一文了解线性代数--深度学习入门之数学基础
- 深度学习之二——相关数学基础(线性代数理论)
- python 深度学习、python神经网络算法、python数据分析、python神经网络算法数学基础教学
- 深度学习的数学基础要求
- 深度学习数学基础之线性代数
- 深度学习的基础:机器学习入门和数学基础(一)
- 深度学习中得数学,高效计算基础与线性分类器
- [深度学习基础] 深度学习基础及数学原理
- 【深度学习之一】数学基础
- 深度学习——数学与机器学习基础
- 【备忘】冲击年薪50万之从数学基础python机器学习到深度学习算法学习路线视频教程 共321G
- 3. 深度学习的数学基础:概率论与信息论
- 深度学习之数学基础(1)
- 深度学习数学基础笔记整理(一)
- 机器学习 深度学习用到的数学基础知识 标量、向量、矩阵和张量
- 七月算法深度学习 第三期 学习笔记-第一节 数学基础
- 深度学习之数学基础(2)
- [深度学习基础] 深度学习基础及数学原理
- 深度学习数学基础—反向传播