一 : 线性回归:
通用公式:
二:梯度下降算法(类似于下山找最快下山方式,即不断更新点,求其斜率)
目的:求极大值和极小值。
数学解释:
1.α是什么含义?
α在梯度下降算法中被称作为学习率或者步长,意味着我们可以通过α来控制每一步走的距离,就是不要走太快,错过了最低点。同时也要保证不要走的太慢,导致太阳下山了,还没有走到山下。所以α的选择在梯度下降法中往往是很重要的!α不能太大也不能太小,太小的话,可能导致迟迟走不到最低点,太大的话,会导致错过最低点!
2.为什么要梯度要乘以一个负号?
梯度前加一个负号,就意味着朝着梯度相反的方向前进!我们在前文提到,梯度的方向实际就是函数在此点上升最快的方向!而我们需要朝着下降最快的方向走,自然就是负的梯度的方向,所以此处需要加上负号
3. 损失函数(错误函数):
m是数据集中点的个数
½是一个常量,这样是为了在求梯度的时候,二次方乘下来就和这里的½抵消了,自然就没有多余的常数系数,方便后续的计算,同时对结果不会有影响
y 是数据集中每个点的真实y坐标的值
h 是我们的预测函数,根据每一个输入x,根据Θ 计算得到预测的y值,即
将公式带入求导便得到以下公式:
三种梯度下降方法
1.批量梯度下降:全部样本梯度下降一次,训练样本很大时,单次迭代需要时间太长。
2.随机梯度下降:单个样本梯度下降一次,没有了向量化加速,效率比Batch Gradient Descent低,到达loss最低区域后还可能会跳出来,当然这也可以使它从局部最小值区域跳出来,可以使用学习率衰减来缓解这个问题。
3.小批量梯度下降:部分样本梯度下降一次,上两个方法的折中,它可能不会收敛也可能不会在很小的范围内波动(同样可以用学习率衰减的方法来缓解这个问题)。
下面是loss的梯度图,三条线是三种梯度下降方法每下降一次的路线,蓝色是批量梯度下降,紫色是随机梯度下降,绿色是小批量梯度下降。
由图可知,3种算法的营养效果不同,可以在不同前提下进行自己的选择应用。
三种方法优缺点对比:
BGD(批量)
优点 非凸函数可保证收敛至全局最优解
缺点 计算速度缓慢 ,不允许新样本中途进入
SGD(随机)
优点 计算速度快
缺点 计算结果不易收敛,可能会陷入局部最优解中
MBGD(小批量)
优点 计算速度快,收敛稳定