机器学习分类与性能度量
数据集:训练集(Training Set)、验证集(Validation Set)和测试集(Test Set)
1、 当模型无需人为设定超参数,所用参数都通过学习得到,则不需要验证集。验证集适合多个不同超参数训练多个模型,通过验证集,选择最好的模型及其相应的超参数。
2、监督学习(supervised learning ): 有导师学习,分类和回归
从给定的训练数据集中学习出一个函数(模型参数),当输入新数据时,可以根据这个函数预测结果。
- 分类(classification): 输出是离散型变量,是一种定性输出,如+1、-1。
- 回归(regression):输出是是连续型变量,是一种定量输出。
3 、无监督学习(unsupervised learning):无导师学习,聚类和维度约简。
输入数据没有标签,样本数据类别未知,需要根据样本间的相似性对样本集进行划分是类内差距最小化,类间差距最大化。
- 基于概率密度函数估计的直接方法
- 基于样本间相似性度量的聚类方法
4、强化学习(reinforcement learning):再励学习、评价学习或增强学习
用于描述和解决智能体(agent) 在与环境的交互过程中通过学习策略以达成汇报最大化或实现特定目标的问题。
- 不同于监督学习和无监督学习,强化学习不要求预先给定任何数据,而是通过接受环境对动作的奖励( 反馈)获得学习信息并更新模型参数。
误差(error)
指的是模型输出与真值的偏离程度,通常定义一个损失函数来衡量误差大小。
- 经验误差/训练误差:在训练集上产生的误差,大小反应了模型在训练数据上拟合效果的好坏。
- 泛化误差:模型在未知样本上的误差,通常将测试误差作为泛化误差的近似值,泛化误差用于衡量训练好的模型对未知数据的预测能力。
过拟合和欠拟合
1、过拟合:模型在训练样本中表现的过于优越,导致在验证集以及测试集上表现不佳。
2、欠拟合:指模型在训练和预测时表现的都不好。
评估方法
1、留出法
数据集分为互斥的训练集和测试集。数据分布保持一致。测试集比例保持在1/3 至1/5。
2、交叉验证法
数据集平均分为互斥的k份,每次训练从数据集中选择出一份作为测试集,经过k次后,就k份测试集,求误差的平均值。
3、 自助法
数据集D中包含m个样本,对数据集D进行m次有放回采样,采样到的数据构成数据集S,将S作为训练集,未出现在S中的数据作为测试集。
样本不出现在S中的概率为:
适合小数据集,不会减小训练集规模,但改变了数据分布,易引起估计偏差。
性能度量
分类模型性能度量方法
1、混淆矩阵(confusion matrix):误差矩阵,主要用于分类结果和实例的真实信息。以二分类为例,如下。
真正TP:模型预测为正的正样本
假正FP:模型预测为正的负样本
假负FN:模型预测为负的正样本
真负TN:模型预测为负的负样本
-
准确率:正确预测的正反例数/总数
Accuracy=TP+TNTP+FN+FP+TN\frac{TP+TN}{TP+FN+FP+TN}TP+FN+FP+TNTP+TN -
精确率:正确预测的正例数/预测正例总数
Precision=TPTP+FP\frac{TP}{TP+FP}TP+FPTP -
召回率:正确预测的正例数/实际正例数总和
Recall=TPTP+FN\frac{TP}{TP+FN}TP+FNTP -
F-score : precision和recall的调和值
a = β2β^2β2
F-score=(1+a)precision∗Recalla∗precision+Recall\frac{precision*Recall}{a* precision+Recall}a∗precision+Recallprecision∗Recall
β=1时,称为F1-score或F1-Measure,精确率和召回率都很重要,权重相同。
β<1时,精确率更重要。
β>1时,召回率更重要。
F1-score:precision和Recall的调和平均评估指标。
F1-score=2*precision∗Recallprecision+Recall\frac{precision*Recall}{precision+Recall}precision+Recallprecision∗Recall
2、ROC曲线:根据结果计算得到ROC空间中相应的点,连接这些点形成ROC曲线。值越大代表预测准确率越高。
真正率(TPR):预测为正的正样本/正样本实际数。
TPR=TP/(TP+FN)
假正率(FPR):预测为正的负样本数/负样本实际数
FPR=FP/(FP+TN)
3、AUC:ROC曲线下的面积(ROC的积分)
- AUC=1 ,100%完美识别正负类,不管阈值怎么设定都能得出完美预测;
- 0.5<AUC<1;优于随机猜测。
4、PR曲线:precision对recall的曲线
- 在同一测试集,上面的曲线比在下面的曲线好。
- 光滑曲线比不光滑曲线好。
5、PR曲线与ROC曲线
- 相同点:采用TPR(Recall)来衡量,用AUC来衡量分类器效果。
- 不同点:ROC曲线使用了FPR,PR曲线使用了precision。
回归模型性能度量
1、解释变异:给定数据中的变异能被数学模型所解释的部分,通常方差来量化变异。
Explainedvariance(y,y_)=1- Var(y−y)Vary\frac{Var(y-y_)}{Var y}VaryVar(y−y)
2、决定系数:回归关系已经解释的y值变异在其总变异中所占的比率。
3、兰德指数(rand index)
给定实际类别信息C,假设K是聚类结果,a表示在C与K中都是同类别的元素对数,b表示在C与K都是不同类别的元素对数。
4、调整兰德指数
ARI=RI−E(RI)max(RI)−E(RI)\frac{RI-E(RI)}{max(RI)-E(RI)}max(RI)−E(RI)RI−E(RI),ARI取值范围[-1,1]
5 、 互信息:用来衡量两个数据分布的吻合程度。
假设U与V是对N个样本标签的分布情况,则:
其中P(i,j)=∣Ui∩Vj∣N\frac{|U_i∩V_j |}{N}N∣Ui∩Vj∣
6、 标准化互信息NMI
7、调整互信息
8、轮廓系数
对于单个样本,设a是它与同类别中其他样本的平均距离,b是与它距离最近不同类别中样本的平均距离
S=b−amax(a,b)\frac{b-a}{max(a,b)}max(a,b)b−a,取值范围[-1,1]。
适用于实际类别信息未知的情况。