那对于复杂函数是不是就只能束手无策了呢?在你了解 牛顿迭代法 之后就可以回到不是了,而此前对于这个问题也许只能回答不能了 。
文章插图
通过迭代,我们可以逐步的逼近索要寻找的极值 。
这里,我们还人为的引入了一个 η 参数,这个参数用于调整步长 。步子迈大了可能会越过极值,迈小了有会产生很大的计算量,具体取多大合适,还是要多看看老司机们烫过的坑 。
普通的梯度下降法(批梯度下降法,BGD),需要遍历所有的数据样本,在样本量不大的时候还是可以的,毕竟这么干精度起码是很高的 。但是如果样本容量巨大,那每次遍历所有样本,必然都会消耗很多时间成本 。并且如果我们的损失函数不是一个凸函数误差曲面就会存在多个局部极小值(即局部碗底),那采用这种方法可能会陷入局部最优解中 。
文章插图
如上图就是一个非凸损失函数,有可能在梯度下降的过程中走到了一个局部最低点去,而这其实不是真正的最低点 。
为了加快收敛速度,随机梯度下降法(SGD) 就诞生了 。它的思想是每次仅随机的抽取样本总体中的一个样本,来决定下一步的走向 。它的好处是不用遍历所有的样本,所以对于样本容量巨大的情况,能够极大的加快收敛 。但可想而知,每次随便取一个样本来更新权值,最终的权值很可能并不是最优解,不过有时在考虑现实情况的时候,这点精度误差也是可接受的 。
那我们可不可以既要速度,又要精度呢?当 CoorChice 这么问的时候,你可就是知道套路问题的套路答案了(也许下次 CoorChice 就不会按套路走了,啊哈哈!) 。答案就是 小批梯度下降法(Mini-batch GD) 。它的思想是每次选取一定量的样本进行训练,然后再更新权值 。即不用全部遍历,也不会因为每次更新仅由一个样本来决定而损失过多的精度 。两头兼顾,当然也比较中庸 。
2.2.4 交叉熵
在了解交叉熵之前,先了解一下什么是信息熵?首先看两个相关公式 。
信息量公式:
文章插图
没错,通过对一种情况发生的先验概率进行对数计算的结果,被用来表征这种事件发生的信息量 。
信息熵公式:
文章插图
就是将所有事件的信息熵进行加和 。这个值越大,表明对于预测一个事件而言的不确定性就越大 。
上面的公式是 信息熵 公式,它表示对于一系列事件,根据其历史发生数据可以计算出一个先验概率,根据这个先验概率,可以计算出该事件发生的信息量,再将信息量乘以先验概率,就可以得到单个事件的熵 。将这些事件的熵求和,就可以得到信息熵了 。它有什么作用呢?就是用来量化信息量的,如果越不确定,则其信息熵就越大 。对于一个有序的系统(按部就班)来说,它的信息熵就比较小了 。
如果理解了信息熵,接下来就可以更进一步的了解交叉熵了 。首先,交叉熵损失函数如下:
文章插图
y 表示期望输出值,a 表示实际模型的输出 。交叉熵是用来干什么的呢?它表示的训练结果和实际标签结果的差距 。交叉熵函数也有这种常用的形式:
文章插图
通常交叉熵会和 Softmax 激励函数一起在输出层计算输出 。
03 深度学习的基本概念深度学习是基于深度神经网络的学习 。它的概念类似与人的神经结构,由神经元可链接成一个神经网络,每个神经元被作为一个网络节点 。
好像一下又回到了生物课!深度学习相对于传统的机器学习来说,很明显的优势在于能够自动提取特征,可将线性不可分的问题转变为线性可分的问题 。
使用传统机器学习,不管用朴素贝叶斯、决策树、支持向量机SVM等分类模型之前,必须对大量的模型进行处理,人工的从中提取特征用于量化 。而在深度学习中,通过大量的线性分类器的堆叠,加上一些非线性因素,可以使一些特征能够自动的显现出来,而干扰因素经过过滤也能很大程度的被忽略 。
推荐阅读
- 美国为什么乱成一锅粥
- 什么是防火墙?防火墙的作用?
- 梦见坟墓有火是什么预兆 梦见坟墓火烧得很旺
- 梦见老鼠往自己身上爬是什么意思 做梦小老鼠爬到自己的身上
- PS图片磨皮技巧
- 梦见家中被盗是怎么回事儿? 梦见家被盗了预示什么
- 梦见和老婆的姐姐有情感是什么意思 梦见老公的姐姐是什么意思
- 胰腺炎不能吃什么
- 怀孕后不能吃什么
- 胆囊炎不能吃什么