Learning From Crowds梳理
文中首先提出,在监督学习中获取真实的标签值是不现实的。很多的标签是通过人工标注的,而不同的人进行标注又会出现不同的结果产生分歧。故作者在本文中提出了一种概率模型从多个标注者的标注结果中学习潜在的数据标签。
1. 含有多个标注者的有监督的学习
上面说到人工标注可能会产生很大的分歧。为了解决这个问题,作者就提出了一个概率模型来解决以下问题:
- 如何在有很多个标注结果的情况下使用传统的有监督的学习方法?
- 当我们没有标准的标签的时候如何评价学习系统?
- 如何评估每个标注者的可靠性?
1.1 赢者通吃的缺点
在很多情况下,对有冲突的标注的数据通常都用标注最多的结果作为最终标签。如二分类问题:
y i ^ = { 1 if ( 1 / R ) ∑ j = 1 R y i j > 0.5 0 if ( 1 / R ) ∑ j = 1 R y i j < 0.5 \hat{y_i}= \begin{cases} 1 \space\space\space\space \textbf{if} (1/R)\sum_{j=1}^Ry_i^j > 0.5\\ 0 \space\space\space\space \textbf{if} (1/R)\sum_{j=1}^Ry_i^j < 0.5 \end{cases} yi^={
1 if(1/R)∑j=1Ryij>0.50 if(1/R)∑j=1Ryij<0.5
另一种方式是将所有人的标注结果都算作是一个实例,之后取平均,如下:
Pr [ y i = 1 ∣ y i 1 , … , y i R ] = ( 1 / R ) ∑ j = 1 R y i j (1) \operatorname{Pr}\left[y_{i}=1 | y_{i}^{1}, \ldots, y_{i}^{R}\right]=(1 / R) \sum_{j=1}^{R} y_{i}^{j} \tag{1} Pr[yi=1∣yi1,…,yiR]=(1/R)j=1∑Ryij(1)
显然,这两种方法都存在很明显的弊端。即对于有很大噪声的标注,结果偏差会很大。但我们可以引入权重来解决这个问题。
1.2 建议的方法
我们提出了一个最大似然估计器,该估计器共同学习分类器/回归器,注释器准确性和实际真实标签。所提出的算法会自动发现最佳专家,并为其分配更高的权重。
2. 二分类问题
为了便于说明,文章从二分类开始
2.1 双硬币模型
掷一枚硬币,假设 y j ∈ { 0 , 1 } y^j \in \left\{0,1\right\} yj∈{ 0,1}是第 j j j个标注者对 x x x的标注结果, y y y是该实例的真实标签(不可观测)。假设该实例真实标签为1,那么标注者掷一个硬币,其偏移为 α j \alpha^j αj(敏感性)。假设真实标签为0,那么标注者掷另外一个硬币,其偏移为 β j \beta^j βj(专业性)。
如果真实标签为1,则将第 j j j个注释者的敏感性(真阳性率)定义为将其标记为1的概率。
α j : Pr [ y j = 1 ∣ y = 1 ] \alpha^j : \operatorname{Pr}[y^j=1|y=1] αj:Pr[yj=1∣y=1]
如果真实标签为零,则将专业性(1-假阳性率)定义为将其标签为零的概率。
β j : = Pr [ y j = 0 ∣ y = 0 ] \beta^j:= \operatorname{Pr}[y^j=0|y=0] βj:=Pr[yj=0∣y=0]
且假设 α j \alpha^j αj和 β j \beta^j βj不依赖于实例 x x x,即标注者对任何实例的表现都是一致的。
2.2 分类模型
从简单的线性分类模型说起。假设线性判别模型 F = { f w } \mathcal{F}= \left\{f_w \right\} F={ fw},对任意 x , w ∈ R d \boldsymbol{x}, \boldsymbol{w} \in \mathbb{R}^{d} x,w∈Rd有 f w ( x ) = w T x f_w(\boldsymbol{x})=\boldsymbol{w}^T\boldsymbol{x} fw(x)=wTx,最终分类模型可表示为 y ^ = 1 if w T x ≥ γ \hat{y}=1 \space\space \textbf{if}\space w^Tx\geq\gamma y^=1 if wTx≥γ,否则为0。 γ \gamma γ为阈值,ROC(Receiver Operating Characteristic)曲线就是通过移动 γ \gamma γ,从 − ∞ , ∞ -\infty,\infty −∞,∞得到。正例最终可以通过作用在 f w ( x ) f_w(\boldsymbol{x}) fw(x)上的logistic sigmoid函数得到: Pr [ y = 1 ∣ x , w ] = σ ( w T x ) \operatorname{Pr}[y=1|x,w]=\sigma(w^Tx) Pr[y=1∣x,w]=σ(wTx)。logistic sigmoid函数为 σ ( z ) = 1 / ( 1 + e − z ) \sigma(z)=1/(1+e^{-z}) σ(z)=1/(1+e−z)。
2.3 估计/学习问题
给定一个有 N N N个实例, R R R个标注者的数据集 D \mathcal{D} D,即 D = { x i , y i 1 , . . . , y i R } 1 N \mathcal{D}=\left\{x_i,y_i^1,...,y_i^R\right\}^N_1 D={ xi,yi1,...,yiR}1N。我们的任务就是估计权重向量 w w w敏感性 α = [ α 1 , . . . , α R ] \alpha=[\alpha^1,...,\alpha^R] α=[α1,...,αR]和专业性 β = [ β 1 , . . . , β R ] \beta=[\beta^1,...,\beta^R] β=[β1,...,βR]。同时求出每个数据的真实标签 y 1 , . . . , y N y_1,...,y_N y1,...,yN
2.4 最大似然估计器
假设训练集是独立样本,似然函数在给定数据集 D \mathcal{D} D的情况下可分解为,参数是 θ = { w , α , β } \theta=\{w,\alpha,\beta\} θ={
w,α,β}
Pr [ D ∣ θ ] = ∏ i = 1 N Pr [ y i 1 , . . . , y i R ∣ x i , θ ] (2) \operatorname{Pr}[\mathcal{D}|\theta] = \prod_{i=1}^N \operatorname{Pr}[y_i^1,...,y_i^R | x_i,\theta] \tag{2} Pr[D∣θ]=i=1∏NPr[yi1,...,yiR∣xi,θ](2)
假设每个标注结果 y i j y_i^j yij是条件独立的,则似然函数可分解为
Pr [ D ∣ θ ] = ∏ i = 1 N { Pr [ y i 1 , . . . , y i R ∣ y i = 1 , α ] Pr [ y i = 1 ∣ x i , w ] } + ∏ i = 1 N { Pr [ y i 1 , . . . , y i R ∣ y i = 0 , β ] Pr [ y i = 0 ∣ x i , w ] } (3) \begin{aligned} \operatorname{Pr}[\mathcal{D}|\theta] &= \prod_{i=1}^N \{ \operatorname{Pr}[y_i^1,...,y_i^R |y_i=1,\alpha]\operatorname{Pr}[y_i=1 |x_i,w] \} \\ &+ \prod_{i=1}^N \{ \operatorname{Pr}[y_i^1,...,y_i^R |y_i=0,\beta]\operatorname{Pr}[y_i=0 |x_i,w] \} \end{aligned} \tag{3} Pr[D∣θ]=i=1∏N{
Pr[yi1,...,yiR∣yi=1,α]Pr[yi=1∣xi,w]}+i=1∏N{
Pr[yi1,...,yiR∣yi=0,β]Pr[yi=0∣xi,w]}(3)
由于每个标注结果 y i j y_i^j yij是相互独立的,于是上式中的 Pr [ y i 1 , . . . , y i R ∣ y i = 1 , α ] \operatorname{Pr}[y_i^1,...,y_i^R |y_i=1,\alpha] Pr[yi1,...,yiR∣yi=1,α]可写成
Pr [ y i 1 , . . . , y i R ∣ y i = 1 , α ] = ∏ j = 1 R Pr [ y i j ∣ y i = 1 , α j ] = ∏ j = 1 R [ α j ] y i j [ 1 − α j ] 1 − y i j (4) \operatorname{Pr}[y_i^1,...,y_i^R |y_i=1,\alpha] = \prod_{j=1}^R \operatorname{Pr}[y_i^j|y_i=1,\alpha^j]=\prod_{j=1}^R[\alpha^j]^{y_i^j}[1-\alpha^j]^{1-y_i^j} \tag{4} Pr[yi1,...,yiR∣yi=1,α]=j=1∏RPr[yij∣yi=1,αj]=j=1∏R[αj]yij[1−αj]1−yij(4)
化简之后我们就可以得到
Pr [ D ∣ θ ] = ∏ i = 1 N [ a i p i + b i ( 1 − p i ) ] (5) \operatorname{Pr}[\mathcal{D}|\theta] = \prod_{i=1}^N[a_ip_i+b_i(1-p_i)] \tag{5} Pr[D∣θ]=i=1∏N[aipi+bi(1−pi)](5)
我们记
p i : = σ ( w T x i ) a i : = ∏ j = 1 R [ α j ] y i j [ 1 − α j ] ( 1 − y i j ) b i : = ∏ j = 1 R [ β j ] ( 1 − y i j ) [ 1 − β j ] y i j p_i := \sigma(w^Tx_i)\\ a_i := \prod_{j=1}^R[\alpha^j]^{y_i^j}[1-\alpha^j]^{(1-y_i^j)}\\ b_i := \prod_{j=1}^R[\beta^j]^{(1-y_i^j)}[1-\beta^j]^{y_i^j} pi:=σ(wTxi)ai:=j=1∏R[αj]yij[1−αj](1−yij)bi:=j=1∏R[βj](1−yij)[1−βj]yij
则我们可以通过最大化对数似然来找到最大似然估计量,即
θ ^ M L = { α ^ , β ^ , w ^ } = arg max θ { ln Pr [ D ∣ θ ] } (6) \hat{\theta}_{\mathrm{ML}}=\{\hat{\boldsymbol{\alpha}}, \hat{\boldsymbol{\beta}}, \hat{\boldsymbol{w}}\}=\arg \max _{\theta}\{\ln \operatorname{Pr}[\mathcal{D} | \theta]\} \tag{6} θ^ML={
α^,β^,w^}=ar