2.1模型表示:
我们将要用来描述这个回归问题的标记如下:m代表训练集中实例的数量
x代表特征/输入变量
y代表目标变量/输出变量
(x,y)代表训练集中的实例
(x(i),y(i))代表第i个观察实例h代表学习算法的解决方案或函数也称为假设
2.2代价函数
我们现在要做的便是为我们的模型选择合适的参数θ0和θ1,在房价问题这个例子中便是直线的斜率和在y轴上的截距。我们选择的参数决定了我们得到的直线相对于我们的训练集的准确程度,模型所预测的值与训练集中实际值之间的差距就是建模误差。
我们的目标便是选择出可以使得建模误差的平方和能够最小的模型参数。即使得代价函数最小。我们绘制一个等高线图,三个坐标分别为θ0和θ1和J(θ0,θ1):则可以看出在三维空间中存在一个使得J(θ0,θ1)最小的点。
2.3代价函数的直观理解I
2.4代价函数的直观理解II
2.5梯度下降
梯度下降是一个用来求函数最小值的算法,我们将使用梯度下降算法来求出代价函数J(θ0,θ1)的最小值。梯度下降背后的思想是:开始时我们随机选择一个参数的组合(θ0,θ1,...,θn),计算代价函数,然后我们寻找下一个能让代价函数值下降最多的参数组合。我们持续这么做直到到到一个局部最小值,因为我们并没有尝试完所有的参数组合,所以不能确定我们得到的局部最小值是否便是全局最小值,选择不同的初始参数组合,可能会找到不同的局部最小值。
批量梯度下降算法的公式为:
其中α是学习率,它决定了我们沿着能让代价函数下降程度最大的方向向下迈出的步子有多大,在批量梯度下降中,我们每一次都同时让所有的参数减去学习速率乘以代价函数的导数。
2.6梯度下降的直观理解:
梯度下降算法如下图:
描述:对θ赋值,使得J(θ)按梯度下降最快方向进行,一直迭代下去,最终得到局部最小值。其中α是学习率(learning rate),它决定了我们沿着能让代价函数下降程度最大的方向向下迈出的步子有多大。
2.7梯度下降的线性回归:
梯度下降算法和线性回归算法比较如图:
对我们之前的线性回归问题运用梯度下降法,关键在于求出代价函数的导数,即:
则算法改写成: