classify_class_mlpT_classify_class_mlpClassifyClassMlpClassifyClassMlpclassify_class_mlp分类类多层感知机(算子)
名称
classify_class_mlpT_classify_class_mlpClassifyClassMlpClassifyClassMlpclassify_class_mlp — 通过多层感知机计算特征向量的类。
签名
def classify_class_mlp(mlphandle: HHandle, features: Sequence[float], num: Sequence[int]) -> Tuple[Sequence[int], Sequence[float]]
def classify_class_mlp_s(mlphandle: HHandle, features: Sequence[float], num: Sequence[int]) -> Tuple[int, float]
描述
classify_class_mlpclassify_class_mlpClassifyClassMlpClassifyClassMlpClassifyClassMlpclassify_class_mlp 计算特征向量 FeaturesFeaturesFeaturesFeaturesfeaturesfeatures 使用 MLPHandleMLPHandleMLPHandleMLPHandleMLPHandlemlphandle 实现的多层感知机(MLP)所能识别的最佳 NumNumNumNumnumnum 个类别,并将类别结果存储在 ClassClassClassClassclassValclass 中,同时将各类别的置信度(概率)存储在
ConfidenceConfidenceConfidenceConfidenceconfidenceconfidence 中。调用 classify_class_mlpclassify_class_mlpClassifyClassMlpClassifyClassMlpClassifyClassMlpclassify_class_mlp 之前,必须使用 train_class_mlptrain_class_mlpTrainClassMlpTrainClassMlpTrainClassMlptrain_class_mlp 对 MLP 进行训练。
classify_class_mlpclassify_class_mlpClassifyClassMlpClassifyClassMlpClassifyClassMlpclassify_class_mlp 仅在多层感知机(MLP)作为分类器使用且 OutputFunctionOutputFunctionOutputFunctionOutputFunctionoutputFunctionoutput_function = 'softmax'"softmax""softmax""softmax""softmax""softmax" 时可调用(参见 create_class_mlpcreate_class_mlpCreateClassMlpCreateClassMlpCreateClassMlpcreate_class_mlp)。否则将返回错误信息。classify_class_mlpclassify_class_mlpClassifyClassMlpClassifyClassMlpClassifyClassMlpclassify_class_mlp 相当于调用
evaluate_class_mlpevaluate_class_mlpEvaluateClassMlpEvaluateClassMlpEvaluateClassMlpevaluate_class_mlp 并额外提取最佳 NumNumNumNumnumnum 个类别的操作。如
evaluate_class_mlpevaluate_class_mlpEvaluateClassMlpEvaluateClassMlpEvaluateClassMlpevaluate_class_mlp 所述,MLP 的输出值可解释为各类别的出现概率。多数情况下,仅需使用 NumNumNumNumnumnum = 1 判断最佳类别的概率是否足够高即可。某些应用中(尤其当类别间存在显著重叠时),考虑次优类别(NumNumNumNumnumnum = 2)可能更具价值。
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 未采用并行化处理。
参数
MLPHandleMLPHandleMLPHandleMLPHandleMLPHandlemlphandle (输入控制) class_mlp → HClassMlp, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
MLP 句柄。
FeaturesFeaturesFeaturesFeaturesfeaturesfeatures (输入控制) real-array → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
特征向量。
NumNumNumNumnumnum (输入控制) integer-array → HTupleSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)
需确定的最佳类别数量。
默认值:
1
建议值:
1, 2, 3, 4, 5
ClassClassClassClassclassValclass (输出控制) integer(-array) → HTupleSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)
使用 MLP 对特征向量进行分类的结果。
ConfidenceConfidenceConfidenceConfidenceconfidenceconfidence (输出控制) real(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
特征向量的类别置信度。
结果
如果参数有效,算子 classify_class_mlpclassify_class_mlpClassifyClassMlpClassifyClassMlpClassifyClassMlpclassify_class_mlp 返回值 2 (H_MSG_TRUE)。如有必要,则抛出异常。
可能的前趋
train_class_mlptrain_class_mlpTrainClassMlpTrainClassMlpTrainClassMlptrain_class_mlp,
read_class_mlpread_class_mlpReadClassMlpReadClassMlpReadClassMlpread_class_mlp
替代
apply_dl_classifierapply_dl_classifierApplyDlClassifierApplyDlClassifierApplyDlClassifierapply_dl_classifier,
evaluate_class_mlpevaluate_class_mlpEvaluateClassMlpEvaluateClassMlpEvaluateClassMlpevaluate_class_mlp
另见
create_class_mlpcreate_class_mlpCreateClassMlpCreateClassMlpCreateClassMlpcreate_class_mlp
参考文献
Christopher M. Bishop: “Neural Networks for Pattern Recognition”;
Oxford University Press, Oxford; 1995.
Andrew Webb: “Statistical Pattern Recognition”; Arnold, London;
1999.
模块
基础