单变量线性回归
纲要
- 代价函数
- 梯度下降算法
- 全局最优与局部最优
代价函数
函数定义:
\[ J(\theta_0,\theta_1,...)=\frac{1}{2m}\sum_{i=1}^{n}(h_\theta(x^{(i)})-y^{(i)})^{2} \]
代价函数是为了寻找假设函数\(h(\theta)\)上的最佳参数\(\theta\),以期得到一个更符合实际情况的假设函数。
梯度下降算法
数学公式定义:
\[ \theta_j := \theta_j - \alpha\frac{\delta}{\delta\theta_j}J(\theta_0,\theta_1,...,\theta_n) \]
其中\(\alpha\)是学习率Learning Rate,而\(\frac{\delta}{\delta\theta_j}\)就是代价函数\(J(\theta)\)的斜率。
梯度下降算法是在函数某一点上寻找下降最快的途径,然后递归在下一个点中继续寻找。由于斜率越接近局部最优点时越小,所以它的下降速度也会越来越小。梯度下降算法对各个参数的优化是同时的,所表现的形式如下:
\(temp0 := \theta_0 - \alpha\frac{\delta}{\delta\theta_0}J(\theta_0,\theta_1,...,\theta_n)\)
\(temp1 := \theta_1 - \alpha\frac{\delta}{\delta\theta_1}J(\theta_0,\theta_1,...,\theta_n)\)
\(\theta_0 := temp0\)
\(\theta_1 := temp1\)
可以看出,梯度算法需要同步更新各个参数变量。同时,梯度下降算法寻找的是一个局部最优点,而线性回归模型存在全局最优点,因此它需要尽可能地遍历所有的训练集,从所有的局部最优点中比较出全局最优点。
局部最优和全局最优
我想用NG课件里的几幅图可以很好的表示这两个概念:
这是其中一个局部最优途径
这是另一个局部最优途径
线性回归模型存在全局最优