目录
1)Model representation
2)Cost function
3)Cost function intuition 1
4)Cost function intuition2
5)Gradient descent
6)Gradient descent intuition
7)Gradient descent for linear regression
现在我们来开始学习第一个算法:线性回归算法
1)Model representation
来看一个预测住房价格的例子,这是典型的监督学习,回归问题是预测连续值,分类问题是预测离散值。
现在来介绍一下我们对在机器学习中用到的标记/符号定义:
- m 为训练集中样本的数量;
- x 代表输入特征/输入变量;
- y 代表输出特征/输出变量;
- (x,y)代表训练集的一个实例;
- (x(i),y(i))代表第i个观察实例;
下图是我们一个监督学习算法的工作方式,h代表学习算法的解决方案也称为假设(hypothesis)。右边为我们假设的表达方式,因为只有一个输入变量,这个问题叫做单变量线性回归问题。
2)Cost function
现在我们将定义代价函数的概念,我们已经有了线性回归模型,我们要做的就是为我们的模型选择合适的参数,使我们的代价函数最小,我们选择平方误差代价函数,对于大多数回归问题,这都是一个合理的选择。
3)Cost function intuition 1
下面是我们之前定义的代价函数及简化版:
下图说明了代价函数随参数变化的情况,当参数为1时代价最小。
4)Cost function intuition2
我们先看看我们之前的假设、代价函数和我们的目标:
我们绘制代价函数的三维图:
而我们的目标是找出代价函数的最小值,如图所示,即等高线图中心点对应的参数:
5)Gradient descent
我们将使用梯度下降求函数最小值,梯度下降我们会多次用到,无论是机器学习还是深度学习。
下面是我们梯度下降的思想:
随机选取参数值,计算代价函数值,然后寻找下一个能让代价函数值下降最多的参数,我们持续这么做直到找到全局最小值。
下面是梯度算法的公式,需要提醒的是,我们需要同时更新参数值,左边为正确公式。
6)Gradient descent intuition
前面我们介绍了梯度下降数学上的定义:
下图说明了,为什么梯度下降会得到代价函数的最小值,我们每次都沿着梯度下降最快的方向进行。
我们来看看梯度下降中,学习率的作用,它会决定我们下降的速度:
7)Gradient descent for linear regression
回顾一下之前我们定义的梯度下降算法和线性回归模型:
现在对线性回归问题运用梯度下降算法:
同步更新参数,多次迭代我们得到了代价函数的最小值。
这里我们运用了批量梯度下降,每一步我们都对所有训练样本进行计算。