47、是否可以通过将装袋集成(bagging ensemble)分布到多个服务器上来加快训练速度?粘贴集成(pasting ensembles)、提升集成(boosting ensembles)、随机森林(random forests)或堆叠集成(stacking ensembles)呢?
可以通过将装袋集成分布到多个服务器上来加快训练速度,因为集成中的每个预测器相互独立。同理,粘贴集成和随机森林也可以,原因相同。
然而,提升集成中的每个预测器是基于前一个预测器构建的,训练必须按顺序进行,将训练分布到多个服务器上不会有任何好处。
对于堆叠集成,给定层中的所有预测器相互独立,因此可以在多个服务器上并行训练,但某一层的预测器只能在前一层的所有预测器训练完成后才能训练。
48、包外评估的好处是什么?
由于预测器在训练期间从未见过包外(OOB)实例,因此可以在这些实例上对其进行评估,而无需单独的验证集或交叉验证。还可以通过对每个预测器的 OOB 评估结果求平均值来评估整个集成模型。
49、是什么让极度随机树(Extra-Trees)比常规随机森林更随机?这种额外的随机性有什么帮助?极度随机树比常规随机森林训练速度慢还是快?
极度随机树的特点
极度随机树在每个节点不仅考虑随机特征子集进行分裂,还使用随机阈值,而不是像常规决策树那样搜索最佳阈值,这使其比常规随机森林更随机。
这种额外的随机性以更高的偏差换取了更低的方差,通常能产生更好的整体模型。
极度随机树比常规随机森林训练速度更快,因为寻找每个特征在每个节点的最佳阈值是生长树最耗时的任务之一,而极度随机树无需进行此操作。
50、如果你的梯度提升集成模型对训练集过拟合,你应该提高还是降低学习率?
应该降低学习率。将学习率设置为较低值(如 0.1 ),虽然需要集成中更多的树来拟合训练集,但预测通常能更好地泛化,这是一种称为 收缩 的正则化技术。
51、降低数据集维度的主要动机是什么?主要缺点是什么?
主要动机
- 加快后续训练算法的速度(在某些情况下甚至可以去除噪声和冗余特征,使训练算法表现更好)
- 可视化数据并深入了解最重要的特征
- 节省空间(压缩)
主要缺点
- 会丢失一些信息,可能降低后续训练算法的性能
- 计算量大
- 会增加机器学习管道的复杂性
- 转换后的特征通常难以解释
52、什么是维度灾难?
维度灾难
维度灾难指许多在低维空间不存在的问题在高维空间中出现。
在机器学习中,一个常见表现是随机采样的高维向量通常非常稀疏,增加了过拟合的风险,并且在没有大量训练数据的情况下很难识别数据中的模式。
53、一旦数据集的维度被降低,是否可以逆转这个操作?如果可以,如何操作?如果不可以,原因是什么?
使用所讨论的算法降低数据集的维度后,几乎不可能完美逆转操作,因为降维过程中会丢失一些信息。此外,一些算法(如 PCA)有简单的逆变换程序,可以重建出与原始数据集相对相似的数据集,而其他算法(如 t-SNE)则没有。
54、主成分分析(PCA)能否用于降低高度非线性数据集的维度?
PCA可用于显著降低大多数数据集的维度,即使是高度非线性的数据集,因为它至少可以去除无用的维度。然而,如果没有无用的维度,例如 瑞士卷数据集 ,使用PCA降维会丢失过多信息。
55、在哪些情况下你会使用普通PCA、增量PCA、随机PCA或核PCA?
- 普通PCA是默认选择,适用于数据集能放入内存的情况;
- 增量PCA适用于数据集无法放入内存的大型数据集,也适用于在线任务,即每次有新实例到来时即时应用PCA;
- 随机PCA适用于想大幅降低维度且数据集能放入内存的情况,此时它比普通PCA快得多;
- 核PCA适用于处理非线性数据集。
56、创建计算图而不是直接执行计算的主要好处和缺点分别是什么?
主要好处:
- TensorFlow 可以自动为你计算梯度(使用反向模式自动微分)
- TensorFlow 可以处理在不同线程中并行运行操作
- 它使同一模型更容易在不同设备上运行
- 它简化了内省,例如在 TensorBoard 中查看模型
主要缺点:
- 它使学习曲线更陡峭
- 它使逐步调试更困难
57、语句 a_val = a.eval(session=sess) 是否等同于 a_val = sess.run(a)?
是的,语句 a_val = a.eval(session=sess) 确实等同于 a_val = sess.run(a) 。
58、语句 a_val, b_val = a.eval(session=sess), b.eval(session=sess) 是否等同于 a_val, b_val = sess.run([a, b])?
否。

68

被折叠的 条评论
为什么被折叠?



