概述
1.如果你有一个数百万特征的训练集,你应该选择哪种线性回归训练算法?
- 如果拥有具有数百万特征的训练集,则可以使用随机梯度下降或小批量梯度下降
- 如果内存够,则也可以是批量梯度下降。
- 但是你不能使用 the Normal Equation,因为计算复杂度随着特征数量的增长而快速增长(超过二次方)。
2.假设你训练集中特征的数值尺度(scale)有着非常大的差异,哪种算法会受到影响?有多大的影响?对于这些影响你可以做什么?
- 如果训练集中的特征具有非常不同的比例,损失函数将具有细长碗的形状,因此梯度下降算法梯度下降算法收敛会很慢,将花费很长时间。
- 要解决此问题,应该在训练模型之前特征缩放。请注意, the Normal Equation在没有缩放的情况下可以正常工作。
3.训练 Logistic 回归模型时,梯度下降是否会陷入局部最低点?
在训练Logistic回归模型时,梯度下降不会陷入局部最小值,因为成本函数是凸的
4.在有足够的训练时间下,是否所有的梯度下降都会得到相同的模型参数?
- 如果优化问题是凸的(例如线性回归或Logistic回归),并且假设学习率不是太高,那么所有梯度下降算法将接近全局最优并最终产生相当类似的模型。
- 但是,除非你逐渐降低学习率,否则Stochastic GD and Mini-batch GD 将永远不会真正收敛; 相反,他们将继续围绕在全局最佳状态附近来回跳跃。这意味着即使你让它们运行很长时间,这些Gradient Descent算法也会产生略微不同的模型。
5.假设你使用批量梯度下降法,画出每一代的验证误差。当你发现验证误差一直增大,接下来会发生什么?你怎么解决这个问题?
如果验证错误在每个epoch后一直上升,那么一种可能性是学习率太高导致算法正在发散。
- 如果训练错误也会增加,那么这显然是学习率太高的问题,你应该降低学习率。
- 但是,如果训练错误没有增加,那么您的模型将过拟合训练集,您应该停止训练。
6.当验证误差升高时,立即停止小批量梯度下降是否是一个好主意?
- 应该保留那个值,如果长时间没有更好的值,则停止。
-
由于它们的随机性,Stochastic Gradient Descent nor Mini-batch Gradient Descent 都不能保证在每次训练迭代中会取得进步。
-
因此,如果在验证错误增加时立即停止训练,您可能会在达到最佳值之前过早停止。更好的选择是定期保存模型,当它长时间没有改进时(意味着它可能永远不会超过记录),您可以恢复到最佳保存模型。
7.哪个梯度下降算法(在我们讨论的那些算法中)可以最快到达解的附近?哪个的确实会收敛?怎么使其他算法也收敛?
一般来将随机梯度下降最快到达解的附近,而批量梯度下降经过长时间的迭代确实会收敛,
-
随机梯度下降具有最快的训练迭代,因为它一次只考虑一个训练实例,因此它通常是第一个达到全局最佳值(或具有非常小的批量大小的小批量GD)附近。
-
然而,在给定足够的训练时间的情况下,只有批量梯度下降实际上会收敛。
降低学习速度,随机梯度下降和小批量梯度下降设置合理的学习步长也会收敛。
8.假设你使用多项式回归,画出学习曲线,在图上发现学习误差和验证误差之间有着很大的间隙。这表示发生了什么?有哪三种方法可以解决这个问题?
说明发生了过拟合现象,解决方法有:简化模型;增加数据集;添加正则化项。
- 尝试解决此问题的一种方法是降低多项式次数:具有较少自由度的模型不太可能过拟合。
- 您可以尝试的另一件事是规范模型 - 例如,通过在成本函数中添加添加正则化项。 这也会降低模型的自由度。
- 最后,您可以尝试增加训练集的大小。也就是获取更多的数据
9.假设你使用岭回归,并发现训练误差和验证误差都很高,并且几乎相等。你的模型表现是高偏差还是高方差?这时你应该增大正则化参数 ,还是降低它?
如果训练误差和验证误差几乎相等且相当高,则模型可能欠拟合训练集,这意味着它具有高偏差。你应该尝试减少正则化超参数α。
10.你为什么要这样做:
使用岭回归代替线性回归?
- 具有一些正则化的模型通常比没有任何正则化的模型表现更好,因此您通常应该优先选择岭回归(添加l2惩罚项)而不是简单线性回归。
Lasso 回归代替岭回归?
- Lasso回归使用l1惩罚项,这往往会将权重降低到完全为零。这会导致稀疏模型,除了最重要的权重之外,所有权重都为零。这是一种自动执行特征选择的方法,如果您怀疑只有少数特征真正重要,这是很好的。当你不确定时,你应该更喜欢岭回归。
弹性网络代替 Lasso 回归?
- 岭回归为了使模型的参数权重尽量小;Lasso 回归完全消除最不重要的特征的权重;一般来说,弹性网络的表现要比 Lasso 好,因为当特征数量比样本的数量大的时候,或者特征之间有很强的相关性时,Lasso 可能会表现的不规律。
11.假设你想判断一副图片是室内还是室外,白天还是晚上。你应该选择二个逻辑回归分类器,还是一个 Softmax 分类器?
- 两个逻辑回归分类器,因为Softmax分类器只能输出一个标签,只能用于判断互斥的类别。如果您想将图片分类为室外/室内和白天/夜晚,因为这些不是排他性的类(即,所有四种组合都是可能的),你应该训练两个Logistic回归分类器。
最后
以上就是优秀衬衫为你收集整理的Sklearn 与 TensorFlow 机器学习实用指南——第四章课后习题的全部内容,希望文章能够帮你解决Sklearn 与 TensorFlow 机器学习实用指南——第四章课后习题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复