机器学习概览练习
1.如何定义机器学习?
机器学习是通过编程让计算机从数据中进行学习的科学(和艺术)。
2.机器学习可以解决的四类问题?
监督学习、非监督学习、半监督学习和强化学习
3.什么是带标签的训练集?
用来训练算法的训练数据包含了答案
4.最常见的两个监督任务是什么?
- K近邻算法
- 线性回归
- 逻辑回归
- 支持向量机(SVM)
- 决策树和随机森林
- 神经网络
5.指出四个常见的非监督任务?
- 聚类 K 均值 层次聚类分析(Hierarchical Cluster Analysis,HCA) 期望最大值
- 可视化和降维 主成分分析(Principal Component Analysis,PCA) 核主成分分析 局部线性嵌入(Locally-Linear Embedding,LLE) t-分布邻域嵌入算法(t-distributed Stochastic Neighbor Embedding,t-SNE)
- 关联性规则学习 Apriori 算法 Eclat 算法
6.要让一个机器人能在各种未知地形行走,你会采用什么机器学习算法?
强化学习
7.要对你的顾客进行分组,你会采用哪类算法?
聚类
8.垃圾邮件检测是监督学习问题,还是非监督学习问题?
监督学习
9.什么是在线学习系统?
在在线学习中,是用数据实例持续地进行训练,可以一次一个或一次几个实例(称为小批量)。每个学习步骤都很快且廉价,所以系统可以动态地学习收到的最新数据
10.什么是核外学习?
核外算法可以处理计算机无法应对的数据,它将数据切分为小批量,然后使用在线学习技术从这些小批量中学习。
11.什么学习算法是用相似度做预测?
基于实例的学习系统
12.模型参数和学习算法的超参数的区别是什么?
模型有一个或多个参数,这些参数决定了模型对新的给定实例会做出怎样的预测。学习算法试图找出这些参数的最佳值,使得该模型可以很好的泛化到新实例。超参数是学习算法本身的参数,不是模型的参数。(比如要应用的正则化常量)
13.基于模型学习的算法搜寻的是什么?最成功的策略是什么?基于模型学习如何做预测?
训练数据量不足
没有代表性的训练数据
低质量数据
不相关的特征
过拟合训练数据
欠拟合训练数据
15.如果模型在训练集上表现好,但推广到新实例表现差,问题是什么?给出三个可能的解决方案。
模型对训练数据过拟合。
- 简化模型,可以通过选择一个参数更少的模型(比如使用线性模型,而不是高阶多项式模型)、减少训练数据的属性数、或限制一下模型
- 收集更多的训练数据
- 减小训练数据的噪声(比如,修改数据错误和去除异常值)
16.什么是测试集,为什么要使用它?
评估模型的泛化能力,防止过拟合和欠拟合情况。
17.验证集的目的是什么?
比较不同的模型,可以用来选择最佳模型和调整超参数。
18.如果用测试集调节超参数,会发生什么?
可能会导致模型对新数据的性能不高。
19.什么是交叉验证,为什么它比验证集好?
为了避免“浪费”过多训练数据在验证集上,通常的办法是使用交叉验证:训练集分成互补的子集,每个模型用不同的子集训练,再用剩下的子集验证。一旦确定模型类型和超参数,最终的模型使用这些超参数和全部的训练集进行训练,用测试集得到推广误差率。