1

I'm a newbie to Machine Learning. I have a question about how Normal Bayes is implemented in OpenCV.

I have a mis-understanding regarding the terms Normal Bayes and Naive Bayes.

This site tells that Normal Bayes and Naive Bayes mean the same.

The NormalBayes documentation on OpenCV website specifies that the features are Normally distributed and not necessarily independent.

The wikipedia article on Naive Bayes classifier tells us that it is assumed that features are independent. Therefore, Covariance Matrix need not be determined.

However, when I look at the source of the implementation of Normal Bayes classifier, it does calculate Covariance Matrix.

I also found a similar question over here which wasn't answered.

Am I missing something here? or is it that Normal Bayes classifier in OpenCV is not a standard Naive Bayes classifier?

1 Answer 1

3

Theoretically, the Naive Bayes model assumes "complete independence between causes of an effect", while the Normal model assumes that "feature vectors from each class are normally distributed (though, not necessarily independently distributed)". Note that both uses mean vectors and covariance matrices, however, the model assumption is different.

In OpenCV "data distribution function is assumed to be a Gaussian mixture, one component per class" and the model does not made an assumption regarding independence of such classes.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.