学习理论-模型评估与评价指标

学习理论

1、基本概念
2、PAC理论
3、VC维
4、极大似然,最大后验概率,贝叶斯估计
5、模型评估与评价指标
6、模型诊断调参

五、模型评估与评价指标

一、模型评估

​ 在不同的假设空间下,依据各自的准则选择出最优模型后(学习),往往需要对这些模型进行评估。一般而言,把训练数据划分为训练集-验证集-测试集。

训练集:用来训练不同模型,获得模型及其训练误差;

验证集:与训练集相对独立,获取训练模型在该集上的预测误差,用来做模型选择;

测试集:与训练集和验证集独立,获得一般误差和其他模型评价指标,用来评价已选择出的模型。

常用的验证方法有:

交叉验证法(hold-out cross validation):

1、随机的分割训练样本SSStrainS_{train}ScyS_{cy},一般7070%3030%,前者为训练集,后者为验证/测试集集。

2、为每一类模型MiM_{i}在训练集StrainS_{train}上学习,每个假设类得到一个目标函数hih_{i}

3、对这些目标函数在验证样本上进行验证,得出泛化误差

K-fold cross validation:

1随机的把样本SS分为kk份,得到了训练子集S1,S2,..,SkS_{1},S_{2},..,S_{k}

2对于每一个模型MiM_{i},从11kk选择留下一份SjS_{j}作为验证集,其余的作为训练集。进行kk次训练得到kk个训练误差ϵij^,j=1..k\hat{\epsilon_{ij}},j=1..k,,然后在测试集上进行测试得到泛化误差ϵij,j=1,..,k\epsilon_{ij},j=1,..,k ,求均值作为该模型的验证误差。

3、选出模型MiM_{i}中验证误差最小的

一般情况下 较常用,也称十重交叉验证。特别的在样本数非常少时,当k=mk=m时,称为留一法leave-one-out cross validation。

二、评价指标

平均平方根误差(RMSE),平均平方误差(MSE),平均绝对值误差(MAE)
RMSE=1mi=1m(hθ(x(i)y(i))2MSE=1mi=1m(hθ(x(i)y(i))2MAE=1mi=1mhθ(x(i)y(i) RMSE=\sqrt{\frac{1}{m}\sum_{i=1}^{m}(h_{\theta}(x^{(i)}-y^{(i)})^2}\\ MSE=\frac{1}{m}\sum_{i=1}^{m}(h_{\theta}(x^{(i)}-y^{(i)})^2\\ MAE=\frac{1}{m}\sum_{i=1}^{m}\left |h_{\theta}(x^{(i)}-y^{(i)} \right |
精度(Accuracy )召回率(Recall)精确率(Precision) F1

真实值/预测值 1 0
1 TP(真正例) FN(假反例) Recall=TP/(TP+FN)实际为1
0 FP(假正例) TN(真反例)
Precision=TP/(TP+FP)预测为1 Accuracy=(TP+TN)/(TP+FN+FP+TN)

F1=2PRP+R=2TP2TP+FN+FP F1=\frac{2PR}{P+R}=\frac{2*TP}{2*TP+FN+FP}

受试者工作特征曲线 (ROC:receiver operating characteristic curve )与曲线下方面积(AUC:area under curve)

​ 我们都知道在分类问题上确定最终的分类是通过一个指示函数(阈值函数),设置一个阈值进行分类。不同的阈值决定不同的召回率和精确率,因此,ROC曲线是在多组阈值下描述召回率和精确率的曲线,如下图:

学习理论-模型评估与评价指标

曲线的横坐标表示误分类为正类占所有负例的比例,纵坐标表示正确分类为正类占所有正例的比例(这样的好处,由于单独比上各类的总样本数,不会因为数据不均衡问题导致在不同测试集上曲线大变样)。曲线的含义是,当我们不断的调整阈值识别更多的正例时,不可避免的引入了负例误判为正类。

​ AUC值则表示曲线下方的面积,面积越大则表示在调整阈值是引入负例的概率较小,也就是说曲线面积越大,分类性能越好。

下图是ROC曲线和Presision-Recall曲线的对比:

学习理论-模型评估与评价指标

在上图中,a)和c)为Roc曲线,b)和d)为Precision-Recall曲线。a)和b)展示的是分类其在原始测试集(正负样本分布平衡)的结果,c)和d)是将测试集中负样本的数量增加到原来的10倍后,分类器的结果,可以明显的看出,ROC曲线基本保持原貌,而Precision-Recall曲线变化较大。

DCG(Discounted Cumulative gain )与NDCG(Normalize DCG):两个指标是信息检索下常用的指标,按检索排序计算得分,每个检索排序对应真实排序有一个得分rr,将模型前KK个检索结果的得分累加。
DCG@K=i=1K2ri1log(i+1)NDCG=DCG@K(ri)DCG@K(rj)[email protected]=\sum_{i=1}^{K}\frac{2^{r_{i}}-1}{log(i+1)}\\ NDCG=\frac{[email protected](r_{i})}{[email protected](r_{j})}
其中rir_{i}表示模型检索排序的对应第ii个结果的得分,rjr_{j}表示真实排序下对应第jj个结果的得分。可以发现,最好的模型检索结果即为与真实排序一致,那么DCG值最大,规范化之后为11

MAP(Mean Average Precision):信息检索下的评价指标,MAP与DCG不同之处在于对检索结果不考虑排序,而是考虑平均的精确率(每个结果的权重为1)。设定一组检索阈值(比如说检索结果排在前K位分类为正例),对应阈值下会有一个精确率后取均值。

以上,在进行模型选择时,往往在多组数据集上进行测试,同时需要综合一些评价指标,以及特定的需求(比如某些场景下更看重召回率,而精确率却不是特别重要),权衡选择出做好的模型。