梯度下降和随机梯度下降
用一个例子来解释一下梯度下降:
如图所示,要求得J(x)的极小值时的x,初始值为Xp的时候斜率为正数,x = 此时x的值是减小的,同理当初始值为Xn的时候,斜率为负,根据更新公式x = 此时x的值是增大的,所以根据梯度下降可以逐渐逼近极值点。
定义损失函数
1.批量梯度下降
对于C(v1,v2)定义△C为C的变化量(这里的v1,v2代表两个特征,相当于w和b),△V为V的变化量,▽C为C的梯度
可以得到三个公式:
从上面三个公式可以推出
设定:
可以计算出
更新方程:
这个是平均的cost,对于每一个训练实例X都要计算梯度向量▽C,训练数据集过大就会花费很多时间,所以现在实际操作中都用随机梯度下降法。
2.随机梯度下降法
基本思想就是从所有训练实例中取出一个小采样(mini-batch)来估计▽C(m个样本)
更新方程:
然后从新选择一个mini-batch用来训练,直到用完所有实例,一轮epoch完成。