[关闭]
@fsfzp888 2019-01-27T14:09:53.000000Z 字数 2586 阅读 1176

机器学习基本概念问题解答

机器学习 题目


1.你会怎么定义机器学习?

机器学习是一种能够从数据中学习知识,策略,经验,然后利用这些经验,策略来解决实际问题的程序和算法。

答案:机器学习是一种能够让系统从数据中学习的计算机科学

2.机器学习在哪些问题上边表现突出,你能提出四种类型吗?

机器学习在解决回归,分类,数据降维,聚类等问题表现突出。
机器学习有监督式学习,无监督式学习,半监督式学习,强化学习和迁移学习等

答案:机器学习非常利于:不存在已知算法解决方案的复杂问题,需要大量手工调整或者规则列表超长的问题,创建可以适应环境波动的系统,以帮助人类学习及进行数据挖掘。

3.什么是被标记的训练数据集?

被标记的训练数据集是指人工标定的,用于训练机器学习模型和算法的数据集合

答案:被标记的训练集指包含每个示例所期望的解决方案的训练

4.最常见的两种监督监督学习是什么?

回归和分类

5.你能举出四种常见的无监督学习任务吗?

主成分分析,分层聚类,最大期望,核主成分分析等

答案:聚类,可视化,降维和关联规则学习

6.要让一个机器人在各种位置的地形上边行走,你会使用什么类型的机器学习算法?

强化学习,因为机器人的系统需要能够观察环境,做出选择,执行操作,并获得回报,或者是以负面回报的形式来获得惩罚,以让它决定什么是最好的策略,从而随着时间的推移,能够应对环境的变化,做出正确的操作。

7.要让顾客分成多个组,你会使用什么类型的算法?

这是分类问题,可用监督式学习算法,获取顾客的特征数据,训练模型进行分类

答案:如果不知道如何定义分组,那可以使用无监督学习里边的聚类将相似的顾客分为一组,但是如果你知道想要什么样的群组,那么可以将每个组的多个示例反馈给分类算法,即监督式学习的方法,它可以将顾客归类到这些组中。

8.你会将垃圾邮件检测问题列为监督式还是无监督式的学习?

垃圾邮件检测问题应该是监督式问题,因为垃圾邮件有一定的规则,标签和特征,需要人工设定一些基本的规则,以及提供一些垃圾邮件的示例。

答案:监督式学习问题,将邮件和它们的标签关联到一起

9.什么是在线学习系统?

在线学习系统可以循序渐进地给系统提供训练数据,逐步地积累学习成果。提供数据的方式可以是单独的,也可以采用小批量的数据分批次来训练。每一步学习都很快。可以在系统上线后,需要更新的时候离线,再利用训练数据进行训练和重新学习。能够有效地节省存储器的空间。

答案:在线学习系统可以进行增量学习,与批量学习系统正好相反。这使得它能够快速适应不断变化的数据和自动化系统,并且能够在大量的数据上进行训练。

10.什么是核外学习?

答案:核外算法可以处理计算机主内存无法应对的大量数据。它将数据分割成小批量,然后使用在线学习技术从这些小批量中学习。

11.什么类型的学习算法依赖相似度来做出预测?

答案:基于实例的学习系统通过死记硬背来学习训练数据,当给定一个新实例的时候,它会使用相似度度量来找到与之相似的实例,并用它们进行预测

12.模型参数和学习算法的超参数之间有什么区别?

答案:模型有一个或多个参数,这些参数决定了模型对新的给定的实例会做出怎样的预测(比如,线性模型的斜率),学习算法试图找到这些参数的最佳值,使得该模型能够很好的泛化至新的实例。超参数是学习算法本身的参数,不是模型的参数(比如,要应用的正则化的数量)

13.基于模型的学习算法搜索的是什么?它们最常见的策略是什么?它们如何做出预测?

基于模型的学习算法搜索的是最佳的模型参数,使得定义的损失函数的值尽可能的小,常见的策略就是定义模型函数后,再定义损失函数,通过优化损失函数得到最优的模型参数,最后通过模型来对数据进行预测,得到最终的预测结果。

答案:基于模型的学习算法搜索使模型泛化最佳的模型参数值。通常通过是成本函数最小化来训练这样的系统。成本函数衡量的是系统对训练数据的预测有多坏,如果模型有正则化,则在加上一个对模型复杂度的惩罚。学习算法最后找到的参数值就是最终得到的预测函数。只需要将示例特征提供给这个预测函数即可进行预测。

14.你能提出机器学习的四个主要挑战吗?

机器学习的挑战主要有:
训练的数据集不足,导致算法效果比较差
训练的数据不具有代表性,存在采样偏差,导致算法效果具有一定的偏差
数据质量比较差,有较多错误等,需要时间去清理训练数据
无关特征比较多,需要区分哪些特征是不必要的,进行降维,减少训练时间等
训练数据过度拟合,数据集存在噪声,训练的模型选择过于复杂,导致过拟合,需要选择一个合适的模型,既不要过于复杂,也能够完成要求。
训练数据拟合不足,模型选择太简单所致。

答案:数据缺乏,数据质量差,数据不具有代表性,特征不具信息量,模型过于简单对训练数据拟合不足,模型过于发杂对训练数据过拟合

15.如果你的模型在训练数据上表现得好,但是应用到新的实例中的泛化结果却很糟糕,是怎么回事?能提出三种可能的解决方案吗?

泛化结果差,但在训练数据上表现得好,原因可能是模型过拟合,可以考虑的解决方法有:
简化模型,选择参数比较少的模型
搜集更多的数据
减少训练数据集中的噪声
也可以对模型进行更多的约束,这些约束也可以叫做正则化

16.什么是测试集,为什么要使用测试集?

测试集是用于评估机器学习算法和模型的好坏的数据集。只有通过使用测试集,才可以在上线前评估模型的好坏,以便于在结果不好的时候做出调整等。通过评估测试集上的误差,以及泛化误差,可以知道时候对训练数据存在过度拟合等现象。

答案:在模型启动值生产环境之前,使用测试集来估算模型在新实例上的泛化误差。

17.验证集的目的是什么?

验证集用于评估不同的超参数训练的多个模型的好坏,和测试集一起用作泛化误差的估值

答案:验证集用来比较不同的模型。他可以用来选择最佳模型和调整超参数。

18.如果使用测试集调整超参数会出现什么问题?

可能会导致泛化误差比较大

答案:有过度拟合的风险,使用测试集评估泛化误差的时候会过于乐观,导致最好启动的模型的性能比预期的差。

19.什么是交叉验证?它为什么比验证集更好?

交叉验证是把训练集分成若干个互补的子集,然后每个模型通过这些子集的不同组合来进行训练,之后剩余的子集进行验证。这样更能减少泛化误差,通过不需要更多的训练数据。

答案:通过交叉验证技术,可以不需要单独地验证集实现模型比较(用于模型选择和调整超参数)。这节省了宝贵的训练数据。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注