Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/162.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ openCV中EM的对数似然输出_C++_Opencv_Machine Learning - Fatal编程技术网

C++ openCV中EM的对数似然输出

C++ openCV中EM的对数似然输出,c++,opencv,machine-learning,C++,Opencv,Machine Learning,我在openCV中使用EM模型,遇到了EM::train输出的对数似然值的困难。我在单独(但相关)数据上训练EM模型,并且对数似然值与数据的绝对值相关联,即当训练值大于100时,EM::train返回强正对数似然值,当训练值小于一个大的负值时,我的理解是,考虑到EM的工作方式,这没有任何意义。 下面是训练模型的代码部分,以防我犯了任何愚蠢的错误(我对opencv很陌生),std::cout确认当训练值大于100时,值大于1,当训练值小于1时,值小于-1 我的问题与这篇文章类似: 除非没有实现DP

我在openCV中使用EM模型,遇到了EM::train输出的对数似然值的困难。我在单独(但相关)数据上训练EM模型,并且对数似然值与数据的绝对值相关联,即当训练值大于100时,EM::train返回强正对数似然值,当训练值小于一个大的负值时,我的理解是,考虑到EM的工作方式,这没有任何意义。 下面是训练模型的代码部分,以防我犯了任何愚蠢的错误(我对opencv很陌生),std::cout确认当训练值大于100时,值大于1,当训练值小于1时,值小于-1

我的问题与这篇文章类似: 除非没有实现DPGMM之类的东西,否则无法使用日志可能性

非常感谢,

萨姆

{
双对数=0;
cv::EM模型(g,1,参数);
模型序列(样本输入列(i),对数可能性);
对于(int j=0;j{
    double logs =0;
    cv::EM model (g,1,parameters);
    model.train(sample_input.col(i),log_likelihoods);
    for(int j = 0; j < number_selected; j++ )
    {
        logs += log_likelihoods.at<double>(j);
        std::cout << log_likelihoods.at<double>(j) <<' ';
    }
    mean_of_logs[i] += 0.1*logs;
    reduced_models.push_back(model);
}