2012-04-04 11 views
1

Ich bin ein Neuling für Machine Learning. Ich habe eine Frage darüber, wie Normal Bayes in OpenCV implementiert ist.Normale Bayes Implementierung in OpenCV

Ich habe ein Fehl Verständnis in Bezug auf die Begriffe Normaler Bayes und Naive Bayes.

Diese site erzählt, dass Normale Bayes und Naive Bayes das gleiche bedeuten.

Die NormalBayes Dokumentation auf OpenCV-Website gibt an, dass die Funktionen normalerweise verteilt und nicht unbedingt unabhängig sind.

Der Artikel wikipedia Artikel über Naive Bayes Klassifikator sagt uns, dass es angenommen wird, dass Features unabhängig sind. Daher muss Covariance Matrix nicht bestimmt werden.

Wenn ich jedoch die Quelle der Implementierung von Normal Bayes Klassifikator betrachten, berechnet Covariance Matrix.

Ich fand auch eine ähnliche Frage über here, die nicht beantwortet wurde.

Fehle ich etwas hier? oder ist der Normal Bayes Klassifikator in OpenCV kein Standard Naive Bayes Klassifikator?

Antwort

3

Theoretisch geht das Naive-Bayes-Modell von "vollständiger Unabhängigkeit zwischen den Ursachen einer Auswirkung" aus, während das Normal-Modell annimmt, dass "Merkmalsvektoren jeder Klasse normalverteilt sind (obwohl nicht notwendigerweise unabhängig verteilt)". Beachten Sie, dass beide mittlere Vektoren und Kovarianzmatrizen verwenden, die Modellannahme jedoch unterschiedlich ist.

In OpenCV "Datenverteilung Funktion wird angenommen, dass eine Gauß-Mischung, eine Komponente pro Klasse" und das Modell hat keine Annahme in Bezug auf Unabhängigkeit dieser Klassen.