Preliminaries
Quadratic Weighted Kappa最初的原则是用来做评分者信度,评分者信度主要用于小样本检验中, 用于两个评分者对同一批测试者进行测试获得两组检验结果,检测这两组检测结果是否可信, 被广泛用于离散 整数标签(例如测试样本,李克特量表打分等)的机器学习问题.
Quadratic Weighted Kappa的一个问题是"等间隔"假设,例如,当评分学生论文的等级从1到5时,1和2之间的差异可能不等于4和5之间的差异。但是 Quadratic Weighted Kappa的先验没有对这种情况进行假设.
标准定义
Quadratic Weighted Kappa(写作\mathcal{k})最初被用以做评分者信度,在这一章节中,我们有两个评分者 A 和 B,分别由 n 个整数评分向量a和b ,有a,b \in \mathbb{L}^{n\times1},其中\mathbb{L} = {1,2,...,\mathbb{l}}是一个包含有限个数的评分集.我们试图量化a和b之间的一致性水平,为计算\mathcal{k}(a,b),我们需要观测模糊矩阵U=(u_{i,j})\in \mathbb{N}^{l\times l},计算公式如下:
u_{i,j} = \sum_{k=1}^n \mathbb{I}(a_k = i) \cdot \mathbb{I}(b_k=j)
接下来,我们需要计算期望模糊矩阵V=(v_{i,j}) \in \mathbb{R}^{l \times l},我们通过假设评估者之间没有相关性来计算V, 在这个假设下,我们可以简单地将 V 计算为两个评估者观察到的边际分布之间的外积,进行归一化, 所以 V 和 U 的总和相同(i.e. \sum_{i,j=1}^l v_{i,j} = \sum_{i,j=1}^l u_{i,j})
V=\frac{(U \cdot e) \otimes (U^T \cdot e)}{n}
其中 e 为元素都是1的向量,最后我们定义权重矩阵W=(w_{i,j} \in \mathbb{R}^{l \times l})为:
w_{i,j} = \frac{(i-j)^2}{(l-1)^2}
给定 U,V 和 W, 我们定义\mathcal{K}为:
\mathcal{K}(a,b)=1-\frac{\sum_{i,j=1}^l u_{i,j}\cdot w_{i,j}}{\sum_{i,j=1}^l v_{i,j}\cdot w_{i,j}} = 1- \frac{< U,W >_F}{< V,W >_F} \tag{1}
其中<\cdot,\cdot>_F为Frobenius内积
另一种形式
假设我们有n个 d 维数据组成的数据矩阵X=[x_1^T,...,x_n^T] \in \mathcal{R}^{n \times d}, 和一个由 n 个有限整数组成的标签向量y\in \mathbb{L}^{n\times 1}. 我们假设每个点x_i和标签y_i存在函数映射y_i = f(x_i), 我们的目标是找到一个函数\hat{y_i} = \hat{f}(x_i)尽可能接近真实函数.使用这种表示法,我们可以开始重写对\mathbb{κ}的定义,首先要注意分子只是表示标准误差平方和:
<U,W>_F = \sum^n_{k=1}\frac{(y_k - \hat{f}(x_k))^2}{(l-1)^2} = \frac{||y-\hat{y}||^2}{(l-1)^2}
接下来,我们注意到分母也可以用y和\hat{y}进行重写
<U,W>_F = \frac{||y||^2 - \frac2n(y^Te)(\hat{y}^Te) + ||\hat{y}||^2}{(l-1)^2}
通过组合这些表达式,我们可以推导出简化版本关于y和\hat{y}的\mathcal{k}的表达式.
\mathcal{k}(y,\hat{y})=1-\frac{||y-\hat{y}||^2}{||y||^2 - \frac2n(y^Te)(\hat{y}^Te) + ||\hat{y}||^2}
=1-\frac{||y||^2 -2y^T \hat{y} + ||\hat{y}||^2}{||y||^2 - \frac2n(y^Te)(\hat{y}^Te) + ||\hat{y}||^2}
=\frac{2[y-e(\frac{y^Te}{n})]^T\hat{y}}{||y||^2 - \frac2n(y^Te)(\hat{y}^Te) + ||\hat{y}||^2}
如果我们删除标签上的整数约束,我们可以假设 y 已经被中心化,我们进一步简化公式:
\mathcal{k}(y,\hat{y}) = \frac{2< y \cdot \hat{y}>}{||y||^2 + ||\hat{y}||^2}
在本文的其余部分,我们将假设(不失一般性) y 被居中化处理.
线性模型
我们考虑一个简单的线性模型,y=f(X):
f(X) = Xa
我们的目标是寻找函数参数 a 使得k(a)最大化,有:
k(a) = \frac{2<y\cdot{XA}>}{||y||^2 + ||Xa||^2}
我们能够证明出\mathcal{k}(a)是一个一个凹函数,因为已知严格准凹凸函数f的任何局部最大值也是全局最大值,所以我们可以应用乘子法来找到局部最大值,并得出结论,这也是全局最大值.在开始,我们可以使用变量\gamma=||y||^2 + ||Xa||^2进行代换将此问题的求解改写为一个有约束的问题.
\max_{a,\gamma} \frac{2}{\gamma}<y\cdot Xa>
\textbf{Subject to} \quad\quad \gamma = ||y||^2 + ||Xa|||^2
然后,我们定义拉格朗日函数
L(a,\gamma,\lambda)=\frac{2}{\gamma}<y\cdot Xa>+\lambda(\gamma-||y||^2 -||Xa||^2)
=\frac{2}{y}y^TXa+\lambda(\gamma-y^Ty-a^TX^TXa)
我们首先对 y 求偏导,并令其等于0