【代价函数与梯度下降】吴恩达机器学习笔记EP2(P11-P20)
从今天开始我将学习吴恩达教授的机器学习视频,下面是课程的连接1.1 欢迎来到机器学习!_哔哩哔哩_bilibili。一共有142个视频,争取都学习完成吧。
代价函数
代价函数会告诉我们模型做得有多好,以此为依据就可以试着让模型做得更好。
这里介绍了linear model里面的参数w和b。w是权重,b是系数。
在图像上,w可以代表斜率,b可以代表截距。
这里是平方误差代价(成本)函数。在式子里面除2只是为了让以后的计算更整洁。
这里以w=1为例,介绍了权重w与代价函数J的关系。
J是衡量平方误差有多大的代价函数,因此选择最小化代价函数值J的w和b,使其尽可能小,这样可以为我们提供一个好的模型。
如果将参数变量变为两个,画出来的代价函数图像就是个立体的3维图像,将其看作一个等高线图可以帮助理解。
梯度下降
以两个参数变量的代价函数图像为例,为了尽可能减小J,我们使用梯度下降法,这里的做法就是每一步向代价函数值J减小变化最快的方向下降,直到一个最小或局部最小值点。
下面是梯度下降法的计算公式:
红色圈里的α表示学习率,粉色框里面的表示导数。
然后如果是两个参数的更新,正确的做法是同原本的w和b计算出各自更新之后的值,最后同时更新w和b。
如果导数大于0,说明减小w可以让J减小。
导数小于0,说明增大w可以让J减小。
学习率
学习率表示更新参数的变化幅度大小。
学习率太小梯度减小速度慢,可能无法跳出当前局部最小值区域。
学习率太大容易跳过最优解或无法稳定收敛到最优解。
当接近局部最小值时,导数会自动变小,所以更新的步长也会自动变小。所以即使学习率α是固定不变的,每一次移动的步长也会变化。
下面是线性回归模型当中的梯度下降公式的推导过程:
在线性回归中平方误差成本函数只有一个极小值(最小值),因此处理此问题时,我们只需考虑如何更好地达到最小值点即可。
批处理
梯度下降时在每次更新时查看整个一批训练示例。