classify_class_gmmT_classify_class_gmmClassifyClassGmmClassifyClassGmmclassify_class_gmm (算子名称)
名称
classify_class_gmmT_classify_class_gmmClassifyClassGmmClassifyClassGmmclassify_class_gmm — Calculate the class of a feature vector by a Gaussian Mixture
Model.
参数签名
void ClassifyClassGmm(const HTuple& GMMHandle, const HTuple& 特征, const HTuple& Num, HTuple* ClassID, HTuple* ClassProb, HTuple* Density, HTuple* KSigmaProb)
HTuple HClassGmm::ClassifyClassGmm(const HTuple& 特征, Hlong Num, HTuple* ClassProb, HTuple* Density, HTuple* KSigmaProb) const
static void HOperatorSet.ClassifyClassGmm(HTuple GMMHandle, HTuple 特征, HTuple num, out HTuple classID, out HTuple classProb, out HTuple density, out HTuple KSigmaProb)
HTuple HClassGmm.ClassifyClassGmm(HTuple 特征, int num, out HTuple classProb, out HTuple density, out HTuple KSigmaProb)
def classify_class_gmm(gmmhandle: HHandle, 特征: Sequence[float], num: int) -> Tuple[Sequence[int], Sequence[float], Sequence[float], Sequence[float]]
def classify_class_gmm_s(gmmhandle: HHandle, 特征: Sequence[float], num: int) -> Tuple[int, Sequence[float], Sequence[float], Sequence[float]]
描述
classify_class_gmmclassify_class_gmmClassifyClassGmmClassifyClassGmmClassifyClassGmmclassify_class_gmm computes the best NumNumNumNumnumnum classes of
the feature vector 特征特征特征特征特征特征 with the Gaussian Mixture Model
(GMM) GMMHandleGMMHandleGMMHandleGMMHandleGMMHandlegmmhandle and returns the classes in ClassIDClassIDClassIDClassIDclassIDclass_id
and the corresponding probabilities of the classes in
ClassProbClassProbClassProbClassProbclassProbclass_prob. Before calling classify_class_gmmclassify_class_gmmClassifyClassGmmClassifyClassGmmClassifyClassGmmclassify_class_gmm, the
GMM must be trained with train_class_gmmtrain_class_gmmTrainClassGmmTrainClassGmmTrainClassGmmtrain_class_gmm.
classify_class_gmmclassify_class_gmmClassifyClassGmmClassifyClassGmmClassifyClassGmmclassify_class_gmm corresponds to a call to
evaluate_class_gmmevaluate_class_gmmEvaluateClassGmmEvaluateClassGmmEvaluateClassGmmevaluate_class_gmm and an additional step that extracts the
best NumNumNumNumnumnum classes. As described with
evaluate_class_gmmevaluate_class_gmmEvaluateClassGmmEvaluateClassGmmEvaluateClassGmmevaluate_class_gmm, the output values of the GMM can be
interpreted as probabilities of the occurrence of the respective
classes. However, here the posterior probability ClassProbClassProbClassProbClassProbclassProbclass_prob
is further normalized as ClassProbClassProbClassProbClassProbclassProbclass_prob = p(i|x)/p(x)
, where p(i|x) and p(x) are specified with evaluate_class_gmmevaluate_class_gmmEvaluateClassGmmEvaluateClassGmmEvaluateClassGmmevaluate_class_gmm.
In most cases it should be sufficient to use NumNumNumNumnumnum =
1 in order to decide whether the
probability of the best class is high enough. In some applications
it may be interesting to also take the second best class into
account (NumNumNumNumnumnum = 2), particularly if it can be
expected that the classes show a significant degree of overlap.
DensityDensityDensityDensitydensitydensity and KSigmaProbKSigmaProbKSigmaProbKSigmaProbKSigmaProbksigma_prob are explained with
evaluate_class_gmmevaluate_class_gmmEvaluateClassGmmEvaluateClassGmmEvaluateClassGmmevaluate_class_gmm.
运行信息
- 多线程类型:可重入(与非独占操作符并行运行)。
- 多线程作用域:全局(可以从任何线程调用)。
- 未经并行化处理。
参数表
GMMHandleGMMHandleGMMHandleGMMHandleGMMHandlegmmhandle (input_control) class_gmm → HClassGmm, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
GMM handle.
特征特征特征特征特征特征 (input_control) real-array → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Feature vector.
NumNumNumNumnumnum (input_control) integer → HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Number of best classes to determine.
Default:
1
Suggested values:
1, 2, 3, 4, 5
ClassIDClassIDClassIDClassIDclassIDclass_id (output_control) integer(-array) → HTupleSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Result of classifying the feature vector with
the GMM.
ClassProbClassProbClassProbClassProbclassProbclass_prob (output_control) real-array → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
A-posteriori probability of the classes.
DensityDensityDensityDensitydensitydensity (output_control) real-array → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Probability density of the feature vector.
KSigmaProbKSigmaProbKSigmaProbKSigmaProbKSigmaProbksigma_prob (output_control) real-array → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Normalized k-sigma-probability for the feature
vector.
结果
如果参数均有效,算子 classify_class_gmmclassify_class_gmmClassifyClassGmmClassifyClassGmmClassifyClassGmmclassify_class_gmm
返回值 2 (
H_MSG_TRUE)
. If necessary an exception is
raised.
可能的前置算子
train_class_gmmtrain_class_gmmTrainClassGmmTrainClassGmmTrainClassGmmtrain_class_gmm,
read_class_gmmread_class_gmmReadClassGmmReadClassGmmReadClassGmmread_class_gmm
可替代算子
evaluate_class_gmmevaluate_class_gmmEvaluateClassGmmEvaluateClassGmmEvaluateClassGmmevaluate_class_gmm
参考其它
create_class_gmmcreate_class_gmmCreateClassGmmCreateClassGmmCreateClassGmmcreate_class_gmm
References
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.
模块
Foundation