机器学习《一》基础知识
1 评估方法
在训练的时候,我们通常会将数据分为训练集和测试集,保证测试集和训练集之间的互斥性。
1.1 常用方法
留出法
将所有的数据按照一定的比例分成训练集和测试集,要注意保证测试集和训练集中数据要保持同样的分布;测试集不能太大或者太小,一般占数据集的 左右。
k-交叉验证法
假设数据有 个数据,将这些数据等分成 个子集,并且保证每个子集中的数据分布一致性,然后每次用 个子集的并集作为训练集,剩下的子集作为测试集,这样作为一次训练的过程。然后因此整个训练的过程可以训练 次不同的结果,最后返回的训练结果是这k次训练的平均值。
当 的时候,这时候每次训练的测试集就只用一个样本测试,其余数据用来训练,这种方法称之为留一法,这种方法虽然准确率较高,但是计算复杂度很大。
自助法
每次从数据集中 中,随机抽取一部分放入一个新数据集中 中,重复 次,每次抽取数据,新数据集 中可能会有重复,只保留不重复的数据, 次过后,新数据集 用作训练集, 用作测试集。不过这种方法会改变原始数据的分布,有可能会引入新的误差,适用于数据总量比较小的情况。
1.2 训练集、验证集和测试集
在实际训练模型的时候,测试集是我们将模型训练好后,进行测试的数据,在训练结束之前不会接触。
在训练的数据中,我们往往会进一步将训练集进行细分,按照一定的划分,比如 折交叉验证法, 个子集用来训练,剩下的用来作验证集。验证集在每轮训练之后测试这一轮训练的结果,因此验证集只用来测试而不是训练。验证集并不对模型的参数有任何影响,但是我们会根据验证集的结果,慢慢调整超参数的大小。
1.3 性能度量
性能度量衡量模型泛化能力的的评价标准,使用不同的性能度量会有不同的评判结果。除了常用的错误率和精度来度量模型的好坏之外,还需要其他的一些性能度量指标。
以二分类为例,我们可以把模型的预测结果建立一个混淆矩阵:
查准率:
表示所有预测为正例的样本中,有多少是真正预测准确的
查全率:
数据集中所有的正例中,模型准确预测为正例的样例数目
F1度量: (N是样本总数)
综合评价查准率和查重率的一个衡量但闻
度量:
添加一个系数 ,因此动态调节F1度量,当 的时候,表示希望更看重查全率;当 的时候,表示更看重查准率
敏感度:
敏感度的计算公式和查全率一样,都表示对样本正例的预测全面程度。
特异度:
特异度表示所有的错误预测中,把正例预测错误的概率
RoC曲线:
以 TPR 为 y 轴,以 FPR 为 x 轴,我们就直接得到了RoC曲线。从 FPR 和 TPR的定义可以理解,TPR越高,FPR越小,我们的模型和算法就越高效。也就是画出来的RoC曲线越靠近左上越好。如下图左图所示。从几何的角度讲,RoC曲线下方的面积越大越大,则模型越优。所以有时候我们用RoC曲线下的面积,即AUC(Area Under Curve)值来作为算法和模型好坏的标准。
PR曲线:
以查准率为 y 轴,以查全率为 x 轴,我们就得到了PR曲线。查准率越高,查全率越高,我们的模型和算法就越高效。也就是画出来的PR曲线越靠近右上越好。如上图右图所示。