1、你会如何定义机器学习?
机器学习是让计算机编程后能从数据中学习的科学(和艺术);
是让计算机具备无需明确编程就能学习能力的研究领域;
若一个计算机程序在任务T上,依据性能指标P衡量,其表现会随经验E提升,
就称该程序从经验E中学习。
2、两种最常见的监督学习任务是什么?
回归(预测数值)和分类(预测类别)
3、要让机器人在各种未知地形上行走,你会使用哪种机器学习算法?
强化学习算法
4、你会使用哪种类型的算法将你的客户划分为多个群体?
可以使用聚类算法,通过基于客户的购买行为和网站活动等信息进行聚类,从而将客户划分为不同的群体。
5、什么是核外学习?
核外学习通常离线进行,可看作增量学习。核外学习算法将数据分割成小批量,运用在线学习技术从这些小批量数据中学习,能处理无法装入计算机主内存的大量数据。
6、哪种类型的学习算法依靠相似度度量来进行预测?
基于实例的学习算法依靠相似度度量来进行预测。这种算法会记住训练数据,当遇到新实例时,使用相似度度量找出最相似的已学实例,并据此进行预测。
7、模型参数和学习算法的超参数有什么区别?
模型参数与超参数的区别
模型参数决定模型在给定新实例时的预测结果,例如线性模型的斜率。学习算法会尝试找到这些参数的最优值,使模型能很好地泛化到新实例。
而超参数是学习算法本身的参数,并非模型的参数,例如要应用的正则化量。它不受学习算法影响,必须在训练前设置好,且在训练期间保持不变。
8、基于模型的学习算法搜索的是什么?它们最常用的成功策略是什么?它们如何进行预测?
基于模型的学习算法
基于模型的学习算法搜索模型参数的最优值,以使模型能很好地推广到新实例。
常用策略
- 最小化一个成本函数,该函数衡量系统在训练数据上的预测效果
- 若模型经过正则化,则还会加上模型复杂度的惩罚项
进行预测
- 将新实例的特征输入到模型的预测函数中
- 使用学习算法找到的参数值进行计算
9、如果你的模型在训练数据上表现出色,但对新实例的泛化能力很差,这是怎么回事?请列举三种可能的解决方案。
如果模型在训练数据上表现出色,但对新实例的泛化能力很差,意味着模型对训练数据 过拟合 。三种可能的解决方案如下:
-
采用留出验证法
留出部分训练集作为验证集,评估多个候选模型并选择最佳模型,之后在完整训练集上训练最佳模型,最后在测试集上评估最终模型。 -
进行重复交叉验证
若验证集大小不合适,可使用多个小验证集,每个模型在其余数据上训练后在每个验证集上评估一次,通过平均评估结果更准确衡量模型性能。 -
确保数据代表性
验证集和测试集应尽可能代表生产中使用的数据,避免数据不匹配问题。
10、什么是测试集,为什么要使用它?
测试集的定义与作用
测试集是在机器学习和数据挖掘中使用的一组数据样本,用于在模型投入生产之前,估计模型对新实例会产生的泛化误差。
使用测试集的原因是:
- 训练集 :用于训练模型;
- 验证集 :用于调整模型的超参数;
- 测试集 :用于评估模型在未见过的数据上的真实表现。
通过使用测试集,可以确保模型具有良好的泛化能力,避免过拟合等问题,从而可以更可靠地应用于实际场景中。
11、验证集的目的是什么?
验证集的作用与使用方法
验证集用于比较模型,能帮助选择最佳模型并调整超参数。
具体做法:
- 训练集缩减 :从完整训练集中划分出一部分作为验证集。
- 模型训练 :在缩减后的训练集(即完整训练集减去验证集)上,使用不同超参数训练多个模型。
- 模型选择 :选择在验证集上表现最佳的模型作为最优模型。
验证过程结束后的步骤:
- 最终模型训练 :在完整训练集(包括验证集)上训练选择出的最佳模型,得到最终模型。
- 模型评估 :在测试集上评估该最终模型,以估计其泛化误差。
12、什么是训练开发集,何时需要它,以及如何使用它?
训练开发集的作用与使用方式
训练开发集是训练集的一部分,模型不对其进行训练。当训练数据与验证和测试数据集存在不匹配风险时需要使用它。
使用方式
- 模型在训练集的其余部分上进行训练
- 并在训练开发集和验证集上进行评估
情况分析
- 若模型在训练集上表现良好,但在训练开发集上表现不佳,那么模型可能对训练集过拟合
- 若模型在训练集和训练开发集上表现良好,但在验证集上表现不佳,那么训练数据与验证和测试数据之间可能存在显著的数据不匹配
- 此时应尝试改进训练数据,使其更接近验证和测试数据
机器学习核心问题与算法解析

最低0.47元/天 解锁文章

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



