使用模型预测模型的准确率:Conformal Prediction (共型预测)与MPP

使用模型预测模型的准确率:Conformal Prediction (共型预测)与MPP

要解决的问题

  • 机器学习模型的表现好坏多由训练数据与待预测的真实数据决定,模型的泛化力不同,根据收到的数据不同,预测效果也好坏不一。因此,如何选择适合的模型、如何预测模型是否会失效、模型的准确度如何,都是需要解决的问题。
  • 同时,真实数据多根据外界环境的变化而有敏锐的改变,因此机器学习模型也需要不断更新。而这一过程如果由人力来操作则是复杂甚至不现实的,因此最好是由自动化的算法实现。工业生产中的数据往往没有标注,因此传统的将预测结果和标注对比的方式并不能预测生产过程中机器学习模型的准确度。
  • 为了尝试解决以上这些问题,预测模型的准确率的方法被提出。

基本思想

  • 在原模型的基础上,使用另一个模型预测原模型在数据集上的准确率。

实现过程

共型预测 Conformal Prediction(CP)的过程

  • CP是一种使用模型预测准确率的方法,大致过程如下:
  1. 使用训练集训练出一个模型,此处简称原模型
  2. 使用训练集的数据以及原模型对训练集作出的预测相结合作为训练集,训练出一个新的模型(此处称为CP模型)
  3. CP模型的输入特征可以与原模型的输入不同(两个模型的特征相关但不一定要完全一致)
    CP模型的输出是1个置信度和1个不一致程度。CP模型直接使用新模型去拟合原模型输出是否与真实y值不一致的程度(如直接拟合差值的绝对值等,原论文中未出现明确的方法) 然后会通过公式将该值映射到0~1之间的值:

\[ p^y=\frac{|\{i=1,...,n|α_i^y\geα_n^y\}|}{n},其中,||代表数量值 \] 可以看到,该映射将α按样本的数量等距映射到0~1之间,并且α的值越大,映射出的p值越小;因为α是不一致性,那么p值就用来衡量一致性的大小。

  1. 经过以上步骤,我们得到了一个可以判断原模型是否准确的CP模型。
  • CP模型输出了原模型是否可信的p值。

Model Performance Prediction(MPP)的过程

  • MPP是另一种使用模型预测准确率的方法,大致过程如下:
  1. 使用训练集训练出一个模型,此处简称原模型
  2. 使用训练集的数据以及原模型对训练集作出的预测相结合作为训练集,训练出一个新的模型(此处称为MPP模型)
    MPP模型的输入特征可以与原模型的输入不同(两个模型的特征相关但不一定要完全一致)
    MPP模型的输出是0(预测错误)或1(预测正确),在这里有两种情况:分类与拟合,在分类时,原模型预测正确则向MPP模型输入y=1,反之输入y=0;在拟合时,人为规定一个阈值ε,如果原模型预测的结果与真实值相差小于阈值则判断为预测正确,向MPP模型输入y=1,反之输入y=0
  3. 在拟合问题中,阈值ε的取值使用了空模型理论(the null model concept)与REC(Regression Error Characteristic)肘部法则来确定。
  4. 经过以上步骤,我们得到了一个可以判断原模型是否准确的MPP模型。
  • 可以看出MPP模型是一个二分类模型,其输出了原模型是否会预测正确的判断。

思考

  • 整体来看,使用新模型判断原模型是否正确或者预测原模型的准确率的做法与提升模型(boosting)有类似的地方。提升模型是使用新的模型预测原模型结果与真实结果的差值,并且可以迭代多次,典型的模型有GBDT、XGBoost、LGBM等。提升模型更像是直接使用新模型来整合到整个模型中为最后的结果做出贡献。而结果预测模型则是输出一个供人作参考的值,用来对原模型作出评判。

参考