说话人确认Speaker Verification中的评估指标:EER、minDCF、DET曲线、ROC曲线
前言
说话人确认(Speaker Verification)的测试阶段需要判断两句话是否来自同一个说话人,或者某句话是否来自某个特定的人,是个二分类问题。
假设两句话来自同一说话人为正例对(positive),label为1;来自不同说话人为负例对(negative),label为0。测试的时候先计算两句话的相似性得分
s
s
s,然后与门限
γ
\gamma
γ比较,若
s
s
s>=
γ
\gamma
γ,则判为1,否则判为0。
根据不同的情况,有下表:
其中T(true)/F(false)表示判断正/误,P(positive)/N(negative)表示判为正/负例对。
定义:
错误接受率(False Acceptance Rate,FAR):不该接受的样本(label=0)中被接受(prediction=1)概率
F
A
R
=
F
P
/
(
T
N
+
F
P
)
FAR=FP/(TN+FP)
FAR=FP/(TN+FP)
错误拒绝率(False Rejection Rate,FRR):不该拒绝的样本(label=1)中被拒绝(prediction=0)的概率
F
R
R
=
F
N
/
(
F
N
+
T
P
)
FRR=FN/(FN+TP)
FRR=FN/(FN+TP)
学过假设检验的同学可以直接把这两个当做二元假设检验中的两个错误概率,其中FAR为虚警概率,FRR为漏警概率。
等错误概率EER(Equal Error Rate)
当两个错误概率相等的时候,即
F
A
R
=
F
R
R
FAR=FRR
FAR=FRR 时,
E
E
R
=
F
A
R
=
F
R
R
EER=FAR=FRR
EER=FAR=FRR
EER越小越好。EER认为虚警和漏警对系统影响的代价是相等的,也不关心实际中正例对和负例对的先验概率。
最小检测代价函数minDCF(Minimum Detection Cost Function)
m i n D C F = C f a ∗ F A R ∗ ( 1 − p t a r g e t ) + C f r ∗ F R R ∗ p t a r g e t minDCF=C_{fa}*FAR*(1-p_{target})+C_{fr}*FRR*p_{target} minDCF=Cfa∗FAR∗(1−ptarget)+Cfr∗FRR∗ptarget
其中
C
f
a
C_{fa}
Cfa为错误接受样本(虚警)的风险系数,
C
f
r
C_{fr}
Cfr为错误拒绝样本(漏警)的风险系数;
p
t
a
r
g
e
t
p_{target}
ptarget和
1
−
p
t
a
r
g
e
t
1-p_{target}
1−ptarget为正例对和负例对的先验概率,一般来说实际中碰到的绝大部分都是负例对,因此
p
t
a
r
g
e
t
p_{target}
ptarget较小,一般设置为0.01或者0.001。minDCF越小越好。
minDCF考虑了先验概率和不同代价,比 EER 更合理。
DET曲线(Detection Error Trade-off)
对于N个pairs,先计算每个pair的相似性,然后设置M个不同的门限,每设置一个门限都能得到相应的TN、FP、FN和TP,并计算相应的FAR和FRR,把(FAR, FRR)当做点坐标,当M很大时,得到的点足够多,在坐标系里可以绘成一条曲线,即DET曲线。
当门限最小的时候,所有pair都被判为1,(FAR, FRR)=(1,0);门限最大时,所有都被判为0,(FAR, FRR)=(0, 1)。DET曲线与y=x的交点的横坐标或者纵坐标即为EER。
ROC曲线(Receiver Operating Characteristic)
与DET曲线对应,把(FAR, 1-FRR)当做点坐标,绘出的曲线即为ROC曲线。ROC曲线与y=1-x的交点的横坐标即为EER。
特别地,在ROC曲线中,定义AUC为ROC曲线下方的面积。AUC越大,EER越小,性能越好。