classify_class_gmmT_classify_class_gmmClassifyClassGmmClassifyClassGmmclassify_class_gmm (Operator)

Name

classify_class_gmmT_classify_class_gmmClassifyClassGmmClassifyClassGmmclassify_class_gmm — Berechnen der Klasse eines Merkmalsvektors durch ein Gaußsches Mischverteilungsmodell.

Signatur

classify_class_gmm( : : GMMHandle, Features, Num : ClassID, ClassProb, Density, KSigmaProb)

Herror T_classify_class_gmm(const Htuple GMMHandle, const Htuple Features, const Htuple Num, Htuple* ClassID, Htuple* ClassProb, Htuple* Density, Htuple* KSigmaProb)

void ClassifyClassGmm(const HTuple& GMMHandle, const HTuple& Features, const HTuple& Num, HTuple* ClassID, HTuple* ClassProb, HTuple* Density, HTuple* KSigmaProb)

HTuple HClassGmm::ClassifyClassGmm(const HTuple& Features, Hlong Num, HTuple* ClassProb, HTuple* Density, HTuple* KSigmaProb) const

static void HOperatorSet.ClassifyClassGmm(HTuple GMMHandle, HTuple features, HTuple num, out HTuple classID, out HTuple classProb, out HTuple density, out HTuple KSigmaProb)

HTuple HClassGmm.ClassifyClassGmm(HTuple features, int num, out HTuple classProb, out HTuple density, out HTuple KSigmaProb)

def classify_class_gmm(gmmhandle: HHandle, features: Sequence[float], num: int) -> Tuple[Sequence[int], Sequence[float], Sequence[float], Sequence[float]]

def classify_class_gmm_s(gmmhandle: HHandle, features: Sequence[float], num: int) -> Tuple[int, Sequence[float], Sequence[float], Sequence[float]]

Beschreibung

classify_class_gmmclassify_class_gmmClassifyClassGmmClassifyClassGmmClassifyClassGmmclassify_class_gmm berechnet mit dem durch GMMHandleGMMHandleGMMHandleGMMHandleGMMHandlegmmhandle gegebenen Gaußsche Mischverteilungsmodell (GMM) die NumNumNumNumnumnum besten Klassen des Merkmalsvektors FeaturesFeaturesFeaturesFeaturesfeaturesfeatures und gibt die Klassen in ClassIDClassIDClassIDClassIDclassIDclass_id und die zugehörigen Wahrscheinlichkeiten der Klassen in ClassProbClassProbClassProbClassProbclassProbclass_prob zurück. Das GMM muss vor der Verwendung von classify_class_gmmclassify_class_gmmClassifyClassGmmClassifyClassGmmClassifyClassGmmclassify_class_gmm mit train_class_gmmtrain_class_gmmTrainClassGmmTrainClassGmmTrainClassGmmtrain_class_gmm trainiert werden.

classify_class_gmmclassify_class_gmmClassifyClassGmmClassifyClassGmmClassifyClassGmmclassify_class_gmm entspricht dem Aufruf von evaluate_class_gmmevaluate_class_gmmEvaluateClassGmmEvaluateClassGmmEvaluateClassGmmevaluate_class_gmm und der zusätzlichen Bestimmung der besten NumNumNumNumnumnum Klassen. Wie bei evaluate_class_gmmevaluate_class_gmmEvaluateClassGmmEvaluateClassGmmEvaluateClassGmmevaluate_class_gmm beschrieben, können die Ausgabewerte ClassProbClassProbClassProbClassProbclassProbclass_prob des GMM als Wahrscheinlichkeiten des Auftretens der jeweiligen Klasse interpretiert werden. Hier wird aber die a-posteriori-Wahrscheinlichkeit ClassProbClassProbClassProbClassProbclassProbclass_prob weiter als ClassProbClassProbClassProbClassProbclassProbclass_prob = p(i|x)/p(x) normalisiert, wobei p(i|x) und p(x) wie bei evaluate_class_gmmevaluate_class_gmmEvaluateClassGmmEvaluateClassGmmEvaluateClassGmmevaluate_class_gmm definiert sind. Im Normalfall, sollte es ausreichend sein, NumNumNumNumnumnum = 1 zu verwenden, um zu entscheiden, ob die Wahrscheinlichkeit der besten Klasse des Merkmalsvektors hoch genug ist. In manchen Anwendungen kann es aber auch interessant sein, die zweitbeste Klasse zu betrachten (NumNumNumNumnumnum = 2), insbesondere, wenn zu erwarten ist, dass sich die Klassen signifikant überlappen.

Die Parameter DensityDensityDensityDensitydensitydensity und KSigmaProbKSigmaProbKSigmaProbKSigmaProbKSigmaProbksigma_prob sind bei evaluate_class_gmmevaluate_class_gmmEvaluateClassGmmEvaluateClassGmmEvaluateClassGmmevaluate_class_gmm beschrieben.

Ausführungsinformationen

Parameter

GMMHandleGMMHandleGMMHandleGMMHandleGMMHandlegmmhandle (input_control)  class_gmm HClassGmm, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle des GMM.

FeaturesFeaturesFeaturesFeaturesfeaturesfeatures (input_control)  real-array HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Merkmalsvektor.

NumNumNumNumnumnum (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Anzahl der zu bestimmenden besten Klassen.

Defaultwert: 1

Wertevorschläge: 1, 2, 3, 4, 5

ClassIDClassIDClassIDClassIDclassIDclass_id (output_control)  integer(-array) HTupleSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Ergebnis der Klassifikation des Merkmalsvektors durch das GMM.

ClassProbClassProbClassProbClassProbclassProbclass_prob (output_control)  real-array HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Die a-posteriori-Klassenwahrscheinlichkeit.

DensityDensityDensityDensitydensitydensity (output_control)  real-array HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Wahrscheinlichkeitsdichte des Merkmalsvektors.

KSigmaProbKSigmaProbKSigmaProbKSigmaProbKSigmaProbksigma_prob (output_control)  real-array HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Normalisierte k-Sigma-Wahrscheinlichkeit für den Merkmalsvektor.

Ergebnis

Sind die Parameterwerte korrekt, dann liefert classify_class_gmmclassify_class_gmmClassifyClassGmmClassifyClassGmmClassifyClassGmmclassify_class_gmm den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

train_class_gmmtrain_class_gmmTrainClassGmmTrainClassGmmTrainClassGmmtrain_class_gmm, read_class_gmmread_class_gmmReadClassGmmReadClassGmmReadClassGmmread_class_gmm

Alternativen

evaluate_class_gmmevaluate_class_gmmEvaluateClassGmmEvaluateClassGmmEvaluateClassGmmevaluate_class_gmm

Siehe auch

create_class_gmmcreate_class_gmmCreateClassGmmCreateClassGmmCreateClassGmmcreate_class_gmm

Literatur

Christopher M. Bishop: „Neural Networks for Pattern Recognition“; Oxford University Press, Oxford; 1995.
Mario A.T. Figueiredo: „Unsupervised Learning of Finite Mixture Models“; IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 24, No. 3; March 2002.

Modul

Foundation