通俗理解Platt scaling/Platt缩放/普拉特缩放

一、引言

        最近在读论文的时候接触到Platt scaling,有点不理解这个概念。然后好奇心比较重,就看了一些科普,并追根溯源调查了一下Platt scaling。最终搞懂了这个概念,写个博客记录一下。中文翻译有看到:普拉特缩放,但是我比较喜欢叫它Platt缩放。Platt是一位机器学习领域的研究者,Platt scaling是以他名字命名的概念。

        Platt缩放出自论文[2],这篇论文非常的厉害,谷歌学术引用数量在2023年1月7看到时已经达到7337。

二、Platt scaling/Platt缩放/普拉特缩放

        在机器学习中,Platt scaling是一种将分类模型的输出转换为类概率分布的方法。该方法是由John Platt在支持向量机的背景下发明的,取代了Vapnik的早期方法,但可以应用于其他分类模型。Platt scaling的工作原理是将逻辑回归模型与分类器的分数拟合。

        简单地说,在一些分类模型中,对于输入一个样本x,模型给出的输出y不是一个概率值(范围为[0,1]),而是一个分数或者距离值(范围超出0,1])。这个分数或者距离值可能会影响到分类模型在其他任务中的应用,不方便使用。所以研究者非常聪明地想到了一个办法:将模型的输出值(分数或者距离值)转换成一个概率值,然后再用于其他任务。

        具体的方法如下:

        假设\tiny x是一个样本,且\tiny x \in R^d\tiny f表示一个二分类模型,对于输入\tiny x,该分类模型的输出值为\tiny f(x),其中\tiny f(x)的范围不仅仅是区间\tiny [0,1]。而在该二分类任务中,\tiny x的标签\tiny y的值为\tiny +1\tiny -1

        Platt scaling是一个两参数(two-parameter)优化问题,而优化的目标为

\tiny min-\sum_i{t_i{\rm log}(p_i)+(1-t_i){\rm log}(1-p_i)}

其中\tiny t_i=\frac{y_i+1}{2},而\tiny y_i是样本\tiny x_i是标签值;另外,\tiny p_i = \frac{1}{1+e^{Af(x_i)+B}}\tiny A\tiny B就是Platt scaling要学习的参数(只有两个)。在该优化问题中,训练集是\tiny (f(x_i), t_i)

        由于优化目标是两参数最小化问题,所以用什么优化算法应该都是可以的。其中,论文[2]使用了model-trust minimization算法[3]。具体的优化算法我这里就不多说了,如果只是理解Platt scaling的话,我们不妨想象一下使用梯度下降算法来优化这个目标。

        最终,我们可以通过样本\tiny x,经过模型\tiny f得到\tiny f(x),然后将\tiny f(x)传到Platt scaling得到一个概率值\tiny p,而\tiny p的范围一定是属于区间\tiny [0,1]的。\tiny f(x)的缩放最终得以实现。

三、应用举例

        上面我没有对具体的应用进行举例子说明。这里,我就根据我目前遇到的问题谈一个实际的应用。是这样的,我所在的领域是知识图谱嵌入,一些知识图谱嵌入模型的样本的输出值是范数距离(范围是[0,+∞)),另一些是概率值(范围是[0,1]),还有一些是实数值(范围是[-∞,+∞))。然后我看到了一篇关于集成学习的文章[4],这篇文章想要把各种知识图谱嵌入模型当作个体学习器集成起来。但是呢,这些个体学习器的输出值的范围有很大差别,集成的结果肯定是不好。所以,这篇文章的作者就使用了Platt缩放,最终将所有模型的输出值都转化为了概率值。然后,作者通过使用所有模型的概率值的算术平均当作最终的预测概率。

四、参考

        [1] Platt scaling - Wikipedia.

        [2] Platt, John. "Probabilistic outputs for support vector machines and comparisons to regularized likelihood methods." Advances in large margin classifiers 10.3 (1999): 61-74.

        [3] Gill, Philip E., Walter Murray, and Margaret H. Wright. Practical optimization. Society for Industrial and Applied Mathematics, 2019.

        [4] Krompaß, Denis, and Volker Tresp. "Ensemble solutions for link-prediction in knowledge graphs." Proceedings of the 2nd Workshop on Linked Data for Knowledge Discovery, Porto, Portugal. 2015.

你可能感兴趣的:(机器学习与深度学习,学习记录,Platt,scaling)