|
|
|
@@ -64,29 +64,39 @@ $\begin{aligned} & \text{repeat until convergence:} \; \lbrace \newline \; & \th |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
为了优化梯度下降的收敛速度,采用特征缩放方法,使各特征值的**范围尽量一致**。 |
|
|
|
为了优化梯度下降的收敛速度,采用特征缩放的技巧,使各特征值的**范围尽量一致**。 |
|
|
|
|
|
|
|
除了以上图人工选择并除以一个参数的方式,**均值归一化(Mean normalization)**方法更为便捷,可采用它来对所有特征值统一缩放: |
|
|
|
|
|
|
|
$x_i=\frac{x_i-average(x)}{maximum(x)-minimum(x)}, 使得 $ $x_i \in (-1,1)$$ |
|
|
|
|
|
|
|
对于特征的范围,并不一定需要使得 $-1 < x < 1$,类似于 $1\leqslant x \leqslant 3$ 也是可取的。 |
|
|
|
对于特征的范围,并不一定需要使得 $-1 \leqslant x \leqslant 1$,类似于 $1\leqslant x \leqslant 3$ 等也是可取的,而诸如 $-100 \leqslant x \leqslant 100 $,$-0.00001 \leqslant x \leqslant 0.00001$,就显得过大/过小了。 |
|
|
|
|
|
|
|
另外注意,一旦采用特征缩放,我们就需对所有的输入采用特征缩放,包括训练集、测试集、预测输入等。 |
|
|
|
|
|
|
|
## 4.4 梯度下降实践2-学习速率(Gradient Descent in Practice II - Learning Rate) |
|
|
|
|
|
|
|
对于梯度下降,一般给定迭代次数来得出最小化损失函数的参数值,当然也可以设定比如 $J\left(\theta\right) < {10}^{-3}$ 等下限值来得到参数值,不过我们更常用的是**给定迭代次数**来得到参数值。 |
|
|
|
通常,有两种方法来确定函数是否收敛 |
|
|
|
|
|
|
|
通过绘制损失函数关于迭代次数的图像,我们可以可视化梯度下降的执行过程,直观的图形可以帮助我们发现损失函数趋向于多少时能趋于收敛,参考图像来调整诸如学习速率的取值,迭代次数的选定等问题。 |
|
|
|
- 多次迭代收敛法 |
|
|
|
- 无法确定需要多少次迭代 |
|
|
|
- 较易绘制关于迭代次数的图像 |
|
|
|
- 根据图像易预测所需的迭代次数 |
|
|
|
- 自动化测试收敛法(比较阈值) |
|
|
|
- 不易选取阈值 |
|
|
|
- 损失函数近乎直线时无法确定收敛情况 |
|
|
|
|
|
|
|
对于梯度下降,一般采用多次迭代收敛法来得出最小化损失函数的参数值,自动化测试收敛法(如设定 $J\left(\theta\right) < {10}^{-3}$ 为阈值)则几乎不会被使用。 |
|
|
|
|
|
|
|
我们可以通过绘制**损失函数关于迭代次数的图像**,可视化梯度下降的执行过程,借助直观的图形来发现损失函数趋向于多少时能趋于收敛,依据图像变化情况,确定诸如学习速率的取值,迭代次数的大小等问题。 |
|
|
|
|
|
|
|
 |
|
|
|
|
|
|
|
对于学习速率 $\alpha$,一般上图为合适,下图中左图可能表明 **$\alpha$ 过大**,损失函数**无法收敛**,右图可能表明 **$\alpha$ 过小**,损失函数**收敛的太慢**。当然,$\alpha$ 足够小时,损失函数在每轮迭代后一定会减少。$\alpha$ 可选取如 $\dots\;0,001,\;0.003,\;0.01,\;0.03,\;0.1,\;\dots$ |
|
|
|
对于学习速率 $\alpha$,一般上图展现的为适中情况,下图中,左图可能表明 **$\alpha$ 过大**,损失函数**无法收敛**,右图可能表明 **$\alpha$ 过小**,损失函数**收敛的太慢**。当然,$\alpha$ 足够小时,损失函数在每轮迭代后一定会减少。 |
|
|
|
|
|
|
|
 |
|
|
|
|
|
|
|
另外,迭代次数刚开始可尽量高些,后面再根据需要同 $\alpha$ 进行调整。 |
|
|
|
通过不断改变 $\alpha$ 值,绘制并观察图像,并以此来确定合适的学习速率。 尝试时可取 $\alpha$ 如 $\dots\;0,001,\;0.003,\;0.01,\;0.03,\;0.1,\;\dots$ |
|
|
|
|
|
|
|
## 4.5 特征和多项式回归(Features and Polynomial Regression) |
|
|
|
|
|
|
|
@@ -106,6 +116,8 @@ $\begin{aligned} & \text{repeat until convergence:} \; \lbrace \newline \; & \th |
|
|
|
|
|
|
|
## 4.6 正规方程(Normal Equation) |
|
|
|
|
|
|
|
对于一些线性回归问题来说,正规方程法给出了一个更好的解决问题的方式。 |
|
|
|
|
|
|
|
正规方程法,即令 $\frac{\partial}{\partial{\theta_{j}}}J\left( {\theta_{j}} \right)=0$ ,通过解析函数的方式直接计算得出参数向量的值 $\theta ={{\left( {X^T}X \right)}^{-1}}{X^{T}}y$ ,Octave 中为 `theta = inv(X'*X)*X'*y`。 |
|
|
|
|
|
|
|
> ${X}^{-1}$: 矩阵 $X$ 的逆,在 Octave 中,`inv` 函数计算矩阵的逆,类似的还有 `pinv` 函数。 |
|
|
|
|