1

我想为决策边界实现T = Log(f(x | client)) - Log(f(x | impostor))。我的训练和测试功能是20 * 12。 我已经应用了语音盒matlab工具箱。我写下面的MATLAB代码:使用高斯混合模型进行二进制分类

if max(lp_client)- max(lp_impostor) >0.35 
    disp('accept'); 
else 
    disp('reject'); 
end 

我应该使用Log对数的概率还是Log对数的最大值?

+0

问题标题与内容相比太宽泛。 – minerals 2016-02-15 15:23:38

回答

2

由于估计的概率性质,您应该使用lp_client的总和。如果你有一系列独立的事件(在这个模型中经常假设特征独立),它的概率是每个事件的概率的乘积:

P(Seq | X)= P(feat1 | x)* P (FEAT2 | X)...

或在数域

的logP(SEQ | X)=的logP(FEAT1 | X)+的logP(FEAT2 | X)

所以实际上

logP(x | client)= sum(lp_client)

and

logP(x |冒充者)=总和(lp_impostor)

+0

感谢您的回应,如果我想用1024混合物构建通用背景模型(UBM),我应该像下面的代码那样通过1 GMM中的所有特征来训练GMM吗? 'UBM = [training_features1; ...; training_features1024]''[m_ubm,v_ubm,w_ubm] = gaussmix(UBM,[],No_of_Iterations,No_of_Clusters); ' – 2013-03-18 02:34:28

+0

是的,你可以这样做 – 2013-03-18 17:12:17