一、单变量线性回归
1.1 线性回归模型
其中J(θ0,θ1)是代价函数,目标可以用下图来理解,也就是寻找θ0和θ1,使J(θ0,θ1)最小,即三维空间中的最低点。
1.2 梯度下降算法
梯度下降是一个用来求函数最小值的算法,我们将使用梯度下降算法来求出代价函数 J(θ0,θ1) 的最小值。
梯度下降背后的思想是:开始时我们随机选择一个参数的组合(θ0,θ1,...,θn),计算代价函数,然后我们寻找下一个能让代价函数值下降最多的参数组合。我们持续这么做直到找到一个局部最小值,因为我们并没有尝试完所有的参数组合,所以不能确定我们得到的局部最小值是否便是全局最小值,所以选择不同的初始参数组合, 可能会找到不同的局部最小值。如下图所示:
梯度下降的算法公式如下:
注:梯度下降算法可以用来最小化任何代价函数J。
1.3 使用梯度下降算法解决单变量线性回归问题
二、多变量线性回归
2.1 多变量梯度下降
多变量时模型变化为如下所示:
相应的梯度算法变化为如下所示: