4.1 梯度下降
我们要做的是,通过不断的改变w和b的值知道我们得到想要的最小的代价,有时我们的拟合模型可能会存在多个最小点,也就是我们的代价函数可能不是碗形状的。
梯度下降的思想就是假设一个小孩在下山,想要找到一个最高效的办法,就是在每个点找到最陡的方向迈一步。选择不同的方向可能会到达不同的最小点。
4.2 如何实现梯度下降算法
下面品红色的求导部分是决定朝哪个方向迈步,α(学习率)决定了迈步的大小,不断更新w和b同时更新,直到达到一个最小的点。
一定是同时更新w和b,上图中左下展示了正确的更新方式。
3.4 理解梯度下降
从图上可以看出,当b为0时,w取合适的值,正常情况下,w朝着J减小的方向移动。
4.4学习率
学习率太大或太小都不合适,学习率太小迭代次数过多,学习率过大,模型可能不会收敛。
假设w已经到最低点了,如下图。w会保持不变。
即使学习率的大小是固定的,但是随着越来越接近适宜的w点,对w的偏导就会越来越小,如下图所示,迭代的步长就会自动变小。
4.5用于线性回归的梯度下降
平方误差函数
局部最小值,线性回归一般都是碗状 ,所以只要选择合适的学习率,总是会收敛到全局最小值。
4.6 运行梯度下降
我们使用的是批梯度下降,每一次迭代都是用的是全部的训练样本。