【深度学习 理论】Gradient Descent_1-2

接上篇:https://blog.csdn.net/Aibiabcheng/article/details/107430209

Tip 2: Stochastic Gradient Descent

误差Loss是所有预测值与真实值之间误差之和。

与Adagrad不同,随机梯度下降,是取一个样本Xn(可以随机取,也可以按顺序取),计算Loss值(下面公式),然后计算梯度。

原来的Gradient Descent,计算所有的data loss才更新一次参数,走的路径是比较稳定的。

而Stochastic Gradient Descent,每遇到一个data,就更新一次参数 。步伐小,局部方向与整体方向不一定一致,但是经过多样本训练之后,整体结果是正确的。训练速度快。

Tip 3: Feature Scaling

特征归一化:

为什么要进行特征归一化?

我们假设有两个参数的模型,w1的权值很小,w2的权值很大,这样x2的变化会对y影响特别大,梯度下降特别大。

如果两个参数差不多大的话,各个参数对loss的影响也差不多,也可以说梯度下降大小差距不大。

如何归一化?

对每一个维度求出平值和维数,然后将特征值减去相应的平均值,再除以方差。如下:

Gradient Descent Theory

为什么Gradient Descent会work?

Gradient Descent背后的理论基础是什么?

再讲这个问题之前,先思考一个问题:在梯度下降的过程中,随着每次参数的更新,Loss都是越来越小的吗?

答案是否定的

假如我们要解一个optimization的话,在这个figure上找最低点,应该怎么做?

有一个做法是,给你一个起始点O1,在这个点附件画一个小圆圈,我们有方法可以找到这个圈内的最低点O2,然后在O2附近再画一个小圆圈,依次进行……

那怎样在小圆圈内找一个最低点呢?

这里用到的是“泰勒定理”。在一个函数中,对于x0附近的x值,都可以用下图公式来求解。

猜你喜欢

转载自blog.csdn.net/Aibiabcheng/article/details/107452775