练习

  1. 如果你有一个数百万特征的训练集,你应该选择哪种线性回归训练算法?
  2. 假设你训练集中特征的数值尺度(scale)有着非常大的差异,哪种算法会受到影响?有多大的影响?对于这些影响你可以做什么?
  3. 训练 Logistic 回归模型时,梯度下降是否会陷入局部最低点?
  4. 在有足够的训练时间下,是否所有的梯度下降都会得到相同的模型参数?
  5. 假设你使用批量梯度下降法,画出每一代的验证误差。当你发现验证误差一直增大,接下来会发生什么?你怎么解决这个问题?
  6. 当验证误差升高时,立即停止小批量梯度下降是否是一个好主意?
  7. 哪个梯度下降算法(在我们讨论的那些算法中)可以最快到达解的附近?哪个的确实会收敛?怎么使其他算法也收敛?
  8. 假设你使用多项式回归,画出学习曲线,在图上发现学习误差和验证误差之间有着很大的间隙。这表示发生了什么?有哪三种方法可以解决这个问题?
  9. 假设你使用岭回归,并发现训练误差和验证误差都很高,并且几乎相等。你的模型表现是高偏差还是高方差?这时你应该增大正则化参数 \alpha,还是降低它?
  10. 你为什么要这样做:
    • 使用岭回归代替线性回归?
    • Lasso 回归代替岭回归?
    • 弹性网络代替 Lasso 回归?
  11. 假设你想判断一副图片是室内还是室外,白天还是晚上。你应该选择二个逻辑回归分类器,还是一个 Softmax 分类器?
  12. 在 Softmax 回归上应用批量梯度下降的早期停止法(不使用 Scikit-Learn)。

附录 A 提供了这些练习的答案。