replaced using cv::exp

pull/13383/head
Maria Dimashova 13 years ago
parent 6367867cbc
commit 39c23ea0bd
  1. 7
      modules/ml/src/em.cpp

@ -503,8 +503,11 @@ void EM::computeProbabilities(const Mat& sample, int& label, Mat* probs, double*
return; return;
Mat buf, *sampleProbs = probs ? probs : &buf; Mat buf, *sampleProbs = probs ? probs : &buf;
Mat expL_Lmax; Mat expL_Lmax(L.size(), CV_64FC1);
exp(L - L.at<double>(label), expL_Lmax); double maxLVal = L.at<double>(label);
for(int i = 0; i < L.cols; i++)
expL_Lmax.at<double>(i) = std::exp(L.at<double>(i) - maxLVal);
double partSum = 0, // sum_j!=q (exp(L_ij - L_iq)) double partSum = 0, // sum_j!=q (exp(L_ij - L_iq))
factor; // 1/(1 + partExpSum) factor; // 1/(1 + partExpSum)
for(int clusterIndex = 0; clusterIndex < nclusters; clusterIndex++) for(int clusterIndex = 0; clusterIndex < nclusters; clusterIndex++)

Loading…
Cancel
Save