前情回顾
概述
本节复习了机器学习的基本概念,包括交叉验证,误差的来源和分类等,也包括机器学习基本的两种分类:有监督和无监督。
随后回顾了有监督和无监督学习常见的基本模型。
1 机器学习基本概念
1.1 基本概念
可以参照前一节深度学习概述和数学基础中的有关内容
典型为有监督和无监督
- 有监督学习:代表任务是分类和回归
- 无监督学习:代表任务是聚类和降维
1.2 数据集的划分
在训练模型时,需要划分训练集、验证集和测试集。有时也不划分验证集(如果数量很少)
-
训练集(Training set):用于模型拟合的数据样本;
-
验证集(Validation set):是模型训练过程中单独留出的样本集,它可以用于调整模型的超参数和用于对模型的能力进行初步评估;
-
测试集(Test set):用来评估模最终模型的泛化能力。但不能作为调参、选择特征等算法相关的选择的依据。
上述划分是基于交叉验证的思路:
-
K折重复多次,每次重复中产生不同的分割
基本思路:将训练集划分为K份,每次采用其中K-1份作为训练集, 另外一份作为验证集,在训练集上学得函数后,然后在验证集上计 算误差——K折交叉验证
-
留一交叉验证(Leave-One-Out)
1.3 误差分析
误差是指算法实际预测输出与样本真实输出之间的差异。
- 模型在训练集上的误差称为“训练误差”
- 模型在总体样本上的误差称为“泛化误差”
- 模型在测试集上的误差称为“测试误差”
由于我们无法知道总体样本如何,所以我们只能尽量最小化训练误差, 导致训练误差和泛化误差有可能存在明显差异。
此处可以参考先前的学习,集成模式中分析了误差的组成。可通过公式推导,得出模型的误差为偏差+方差。
过拟合是指模型能很好地拟合训练样本,而无法很好地拟合测试样本的现象,从而导致泛化性能下降。为防止“过拟合”,可以选择减少参数、降低模型复杂度、正则化等
欠拟合是指模型还没有很好地训练出数据的一般规律,模型拟合程度不高的现象。为防止“欠拟合”,可以选择调整参数、增加迭代深度、换用更加复杂的模型等
下图展示了回归任务上的过拟合和欠拟合。
分类任务上的过拟合和欠拟合。
误差和偏差有一个trade-off的关系。
1.4 任务的界定
在具体的应用中,可以参考下面sklearn的这个图来判断任务的种类。
2 常用模型
2.1 有监督学习
分为分类问题和回归问题
常见的模型有
-
线性回归
-
逻辑回归,在线性回归的基础上,加上sigmoid,是解决分类问题的
-
支持向量机,找到一个分界面,使得样本分得最明显
根据核函数进一步分类
-
决策树
除了单一模型外,还有集成模型,关于集成的目的和意义可以参考先前的笔记集成模式,用多个低偏差的学习器进行集成来降低模型的方差,或者利用多个低方差学习器进行集成来降低模型的偏差。
最基础常见的集成模型是随机森林。
2.2 无监督学习
无监督学习的常见问题有聚类和降维
- 聚类
聚类的目的是将数据分成多个类别,在同一个类内,对象(实体)之间具 有较高的相似性,在不同类内,对象之间具有较大的差异。
对一批没有类别标签的样本集,按照样本之间的相似程度分类,相似的归为一类,不相似的归为其它类。这种分类称为聚类分析,也称为无监督分类
常见的方法有:kmeans,基于密度的聚类(效果对比如下)
除此之外还有层次聚类 - 降维
降维的目的就是将原始样本数据的维度𝑑降低到一个更小的数𝑚,且尽量使得样本蕴含信息量损失最小,或还原数据时产生的误差最小。比如主成分分析法
降维的优势:
- 数据在低维下更容易处理、更容易使用;
- 相关特征,特别是重要特征更能在数据中明确的显示出来;
- 如果只有二维或者三维的话,能够进行可视化展示;
- 去除数据噪声,降低算法开销等。