1、如何定义机器学习
(1)机器学习通过编程让计算机从数据中进行学习的科学(和艺术)。
(2)机器学习让计算机具有学习能力,无需进行明确编程。
(3)计算机程序利用经验E学习任务T,性能是P,如果针对任务T的性能P随着经验E不断增长,则称为机器学习。
2、机器学习可以解决的四类问题
(1)需要进行大量手工调整或需要拥有长串规则才能解决的问题,机器学习算法通常可以简化代码、提高性能;
(2)问题复杂,传统方法难以解决太复杂或是没有已知算法的问题,:最好的机器学习方法可以找到解决方案;
(3)环境有波动,机器学习算法可以适应新数据;
(4)洞察复杂问题和大量数据
3、什么是带标签的训练集
带答案的数据
4、最常见的两个监督任务是什么?
分类和回归
5、指出四个常见的非监督任务?
聚类、关联性规则学习、可视化、降维
6、要让一个机器人能在各种未知地形行走,你会采用什么机器学习算法?
由于地形位置复杂多变,难以建模,所以选择强化学习。
7、要对你的顾客进行分组,你会采用哪类算法?
聚类算法如K均值、层次聚类分析、期望最大值
8、垃圾邮件检测是监督学习问题,还是非监督学习问题?
监督学习问题,用许多带有归类标签(垃圾邮件或普通邮件)的邮件样本进行训练
9、什么是在线学习系统?
在线学习中,是用数据实例持续地进行训练,可以一次一个或一次几个实例(称为小批量)。可以进行增量学习。可以循序渐进的给系统提供训练数据,逐步积累学习成果。
10、什么是核外学习?
在线学习算法也可以当机器的内存存不下大量数据集时,用来训练系统,这称作核外学习。对于超大数据集(超过一台计算机的主存储器的数据),进行在线学习。将数据分割成小批量,然后使用在线学习技术从这些小批量中学习。
11、什么学习算法是用相似度做预测?
K近邻通常使用距离最近的k个数据标签进行预测。
12、模型参数和学习算法的超参数的区别是什么?
模型参数是训练过程中得到的,超参数是人为设定的。
13、基于模型学习的算法搜寻的是什么?最成功的策略是什么?基于模型学习如何做预测?
寻找的是能够对样本集进行归纳的模型。基于模型的学习算法搜索使模型泛化最佳的模型参数值。通常通过使成本函数最小化来训练这样的系统,成本函数衡量的使系统对训练数据的预测有多坏,如果模型有正则化,则再加上一个对模型复杂度的惩罚。学习算法最后找到的参数值就是最终得到的预测函数,只需要将实例特征提供给这个预测函数即可进行预测。
14、机器学习的四个主要挑战是什么?
训练数据量不足;没有代表的训练数据;低质量数据;不相关的特征;过拟合;欠拟合
15、如果模型在训练集上表现好,但推广到新实例表现差,问题是什么?给出三个可能的解决方案。
显然是发生过拟合了,解决方法有:
(1)简化模型,可以通过选择一个参数更少的模型(比如使用线性模型,而不是高阶多项式模型)、减少训练数据的属性数或限制一下模型
(2)收集更多的训练数据
(3)减小训练数据的噪声(比如,修改数据错误和去除异常值)
14、什么是测试集,为什么要使用它?
测试集是独立于训练集的数据,用来对训练出来的模型好坏进行测试评价。评估模型的泛化能力,防止过拟合和欠拟合情况。
15、验证集的目的是什么?
验证集是为了对用训练集和多个超参数训练的多个模型进行选择最佳性能的模型和调整超参数。
16、如果用测试集调节超参数,会发生什么?
由于多次在测试集测量了推广误差率,调整了模型和超参数,以使模型最适合这个集合。可能会导致模型对新数据的性能不高。
17、什么是交叉验证,为什么它比验证集好?
将训练集分成互补的子集 ,每个模型用不同的子集训练,用剩下子集验证,这就是交叉验证法。如果使用单一验证集,“浪费”过多训练数据在验证集上。一旦确定模型类型和超参数,最终的模型使用这些超参数和全部的训练集进行训练,用测试集得到推广误差率。