1、你会如何定义机器学习?
机器学习是编程计算机使其能从数据中学习的科学(和艺术);是让计算机无需明确编程就能学习的研究领域;若一个计算机程序在任务T上的表现(由性能指标P衡量)随经验E而改善,则称其从经验E中学习。
2、什么是带标签的训练集?
在监督学习中,提供给算法的训练数据包含所需的解决方案,这些解决方案被称为 标签 。包含标签的训练数据集合就是 带标签的训练集 。
例如,用于监督学习的 垃圾邮件分类 的训练集,其中包含许多示例电子邮件及其类别(垃圾邮件或正常邮件)。
3、最常见的两种监督学习任务是什么?
回归(预测数值)和分类(预测类别)
4、你会使用哪种类型的算法将你的客户分成多个组?
如果你不知道如何定义分组,可以使用聚类算法(无监督学习);如果你知道想要的分组,可以使用分类算法(有监督学习)。
5、你会将垃圾邮件检测问题归类为有监督学习问题还是无监督学习问题?
垃圾邮件检测是典型的有监督学习问题,算法会被输入许多带有标签(垃圾邮件或非垃圾邮件)的电子邮件。
6、什么是在线学习系统?
在线学习系统是一种能够增量学习的系统,通过依次向其输入数据实例(可以是单个实例,也可以是称为小批量的小组)来逐步训练。每个学习步骤快速且成本低,系统可以在新数据到达时即时学习。
它适用于以下场景:
- 接收连续数据流(如股票价格)
- 需要快速或自主适应变化的系统
- 计算资源有限的情况
此外,在线学习算法还可用于训练无法全部装入一台机器主内存的大型数据集(即核外学习)。
7、什么是核心外学习?
核心外学习
核心外学习是指使用核心外算法进行学习。核心外算法可以处理无法装入计算机主内存的大量数据。该算法将数据分割成小批量,并使用在线学习技术从这些小批量中进行学习。它加载部分数据,对这些数据执行一个训练步骤,然后重复这个过程,直到处理完所有数据。
8、哪种类型的学习算法依靠相似度度量来进行预测?
基于实例的学习算法(Instance-based learning)
9、模型参数和学习算法的超参数有什么区别?
模型参数与超参数的区别
模型有一个或多个 模型参数 ,这些参数决定了模型在给定新实例时的预测结果,例如线性模型的斜率。学习算法会尝试为这些参数找到最优值,以使模型能很好地泛化到新实例。
而 超参数 是学习算法本身的参数,而非模型的参数,例如应用正则化的量。超参数不受学习算法本身的影响,必须在训练前设置,并且在训练期间保持不变。
10、基于模型的学习算法搜索什么?它们最常用的成功策略是什么?它们如何进行预测?
基于模型的学习算法
基于模型的学习算法搜索模型参数的最优值,以使模型能很好地泛化到新实例。
训练策略
最常用的成功策略是通过最小化一个成本函数来训练系统:
- 该成本函数衡量系统在训练数据上的预测效果有多差。
- 如果模型进行了正则化,还会加上对模型复杂度的惩罚。
预测过程
进行预测时:
- 使用学习算法找到的参数值。
- 将新实例的特征输入到模型的预测函数中。
11、请列举机器学习中的四个主要挑战。
训练数据数量不足、训练数据缺乏代表性、数据质量差、特征不相关
12、如果你的模型在训练数据上表现出色,但在新实例上泛化效果不佳,这是怎么回事?请列举三种可能的解决方案。
如果模型在训练数据上表现出色,但泛化到新实例时效果不佳,意味着模型对训练数据 过拟合 。三种可能的解决方案如下:
-
使用验证集 :
将数据分为训练集、验证集和测试集,在训练集上用不同超参数训练多个模型,在验证集上选择表现最佳的模型和超参数,最后在测试集上进行最终测试以估计泛化误差。 -
使用交叉验证 :
将训练集分割成互补子集,每个模型针对不同子集组合进行训练,并在其余部分上进行验证。选择好模型类型和超参数后,在完整训练集上训练最终模型,并在测试集上测量泛化误差。 -
确保训练数据具有代表性 :
使用能代表想要泛化到的新实例的训练数据,避免因训练数据不具代表性而导致模型泛化能力差。
13、什么是测试集,为什么要使用它?
测试集的作用与重要性
测试集是从数据集中随机选取的一部分实例(通常为数据集的20%)并单独放置的数据子集。
使用测试集的目的是为了避免 数据窥探偏差 。因为人脑是一个强大的模式检测系统,容易导致 过度拟合 。如果在模型选择或调优过程中查看了测试集,可能会发现一些看似有趣的模式,从而选择特定的机器学习模型。这会导致在使用测试集估计泛化误差时,得到的估计值过于乐观,最终推出的系统表现可能不如预期。

最低0.47元/天 解锁文章
1985

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



