iiscleap / NeuralPlda

Implementation of Neural PLDA (NPLDA) model (A discriminative backend for Speaker Verification)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

How about the C_primary

ZhouWenjun2019 opened this issue · comments

I don't understand the meaning of C_primary mentioned in "NPLDA: A Deep Neural PLDA Model for Speaker Verification", and I didn't find that in the code. What is this used for?

I wonder if C_primary means that the threshold is fixed, so we use the minDCF to update the threshold?

Hi, You are right in saying that the threshold is fixed in C_{Primary}, It is the threshold set for a particular application, where you know the prior probability of target trials (P_{target}) and assign costs for a miss and false alarm (C_{Miss} and C_{FA} respectively), then You can compute \beta using Eq. 10 in the paper. If the scores were log-likelihood ratios, then applying the threshold of \log \beta theoretically gives the optimal cost. But in reality, for an evaluation set, there will be a different threshold that minimizes the DCF, and that cost is minDCF or C_{min}. Evaluations like NIST SRE report both the C_{Primary} and C_{min}. The C_{min} alone is a measure of the discriminative capability of the system, and the gap between C_{Primary} and C_{min} tells you how well the system is calibrated (how well do the scores represent LLRs). In our paper, we work only on improving the discriminative ability of the system and not calibration, as it can be achieved by an additional step using a toolkit such as BOSARIS.

Thank you for the detailed answer.