add_sample_class_mlpT_add_sample_class_mlpAddSampleClassMlpAddSampleClassMlpadd_sample_class_mlp添加样本类多层感知机(算子)

名称

add_sample_class_mlpT_add_sample_class_mlpAddSampleClassMlpAddSampleClassMlpadd_sample_class_mlp — 将训练样本添加到多层感知机的训练数据中。

签名

add_sample_class_mlp( : : MLPHandle, Features, Target : )

Herror T_add_sample_class_mlp(const Htuple MLPHandle, const Htuple Features, const Htuple Target)

void AddSampleClassMlp(const HTuple& MLPHandle, const HTuple& Features, const HTuple& Target)

void HClassMlp::AddSampleClassMlp(const HTuple& Features, const HTuple& Target) const

void HClassMlp::AddSampleClassMlp(const HTuple& Features, Hlong Target) const

static void HOperatorSet.AddSampleClassMlp(HTuple MLPHandle, HTuple features, HTuple target)

void HClassMlp.AddSampleClassMlp(HTuple features, HTuple target)

void HClassMlp.AddSampleClassMlp(HTuple features, int target)

def add_sample_class_mlp(mlphandle: HHandle, features: Sequence[float], target: MaybeSequence[Union[int, float]]) -> None

描述

add_sample_class_mlpadd_sample_class_mlpAddSampleClassMlpAddSampleClassMlpAddSampleClassMlpadd_sample_class_mlp 将训练样本添加到由 MLPHandleMLPHandleMLPHandleMLPHandleMLPHandlemlphandle 指定的多层感知机(MLP)中。训练样本由 FeaturesFeaturesFeaturesFeaturesfeaturesfeaturesTargetTargetTargetTargettargettargetFeaturesFeaturesFeaturesFeaturesfeaturesfeatures 是样本的特征向量,因此必须是长度为 NumInputNumInputNumInputNumInputnumInputnum_input 的实数向量,这在 create_class_mlpcreate_class_mlpCreateClassMlpCreateClassMlpCreateClassMlpcreate_class_mlp 中有明确规定。TargetTargetTargetTargettargettarget 是样本的目标向量,其长度必须为 NumOutputNumOutputNumOutputNumOutputnumOutputnum_output(参见 create_class_mlpcreate_class_mlpCreateClassMlpCreateClassMlpCreateClassMlpcreate_class_mlp),适用于 MLP 的三种激活函数类型(例外情况:见下文)。若多层感知机用于回归(函数逼近),即当 OutputFunctionOutputFunctionOutputFunctionOutputFunctionoutputFunctionoutput_function = 'linear'"linear""linear""linear""linear""linear" 时,TargetTargetTargetTargettargettarget 即为函数在坐标 FeaturesFeaturesFeaturesFeaturesfeaturesfeatures 处的值。在此情况下,TargetTargetTargetTargettargettarget 可以包含任意实数。当 OutputFunctionOutputFunctionOutputFunctionOutputFunctionoutputFunctionoutput_function = 'logistic'"logistic""logistic""logistic""logistic""logistic" 时,TargetTargetTargetTargettargettarget 只能包含值 0.01.0。值为 1.0 表示该属性存在,值为 0.0 表示该属性不存在。因为在此情况下属性是独立的,因此可以传递任意组合的 0.01.0 值。当 OutputFunctionOutputFunctionOutputFunctionOutputFunctionoutputFunctionoutput_function = 'softmax'"softmax""softmax""softmax""softmax""softmax" 时, TargetTargetTargetTargettargettarget 也只能包含 0.01.0 这两个数值。与 OutputFunctionOutputFunctionOutputFunctionOutputFunctionoutputFunctionoutput_function = 'logistic'"logistic""logistic""logistic""logistic""logistic" 不同,元组 TargetTargetTargetTargettargettarget 中必须仅有一个元素取值为 1.0 。元组中的位置指定样本的类。为方便使用,当 OutputFunctionOutputFunctionOutputFunctionOutputFunctionoutputFunctionoutput_function = 'softmax'"softmax""softmax""softmax""softmax""softmax" 时,可传递单个整数值。该值直接指定样本的类,从0开始计数,即类必须是 0 到 NumOutputNumOutputNumOutputNumOutputnumOutputnum_output - 1 之间的整数。该类在内部被转换为长度为 NumOutputNumOutputNumOutputNumOutputnumOutputnum_output 的目标向量。

在使用 train_class_mlptrain_class_mlpTrainClassMlpTrainClassMlpTrainClassMlptrain_class_mlp 训练多层感知机(MLP)之前,必须先通过 add_sample_class_mlpadd_sample_class_mlpAddSampleClassMlpAddSampleClassMlpAddSampleClassMlpadd_sample_class_mlp所有训练样本添加到 MLP 中。

当前存储的训练样本数量可通过 get_sample_num_class_mlpget_sample_num_class_mlpGetSampleNumClassMlpGetSampleNumClassMlpGetSampleNumClassMlpget_sample_num_class_mlp 查询。存储的训练样本可通过 get_sample_class_mlpget_sample_class_mlpGetSampleClassMlpGetSampleClassMlpGetSampleClassMlpget_sample_class_mlp 再次读取。

通常,使用 write_samples_class_mlpwrite_samples_class_mlpWriteSamplesClassMlpWriteSamplesClassMlpWriteSamplesClassMlpwrite_samples_class_mlp 将训练样本保存至文件中颇为实用,这既便于重复利用样本,又可在必要时向数据集添加新训练样本,从而使新建的多层感知机(MLP)能够基于扩展后的数据集重新进行训练。

执行信息

此算子修改后续输入参数的状态:

在执行此算子时,若该参数值需在多个线程间使用,则必须对其访问进行同步。

参数

MLPHandleMLPHandleMLPHandleMLPHandleMLPHandlemlphandle (输入控制,状态被修改)  class_mlp HClassMlp, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

MLP 句柄。

FeaturesFeaturesFeaturesFeaturesfeaturesfeatures (输入控制)  real-array HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

待存储的训练样本特征向量。

TargetTargetTargetTargettargettarget (输入控制)  number(-array) HTupleMaybeSequence[Union[int, float]]HTupleHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double)

待存储训练样本的类或目标向量。

结果

如果参数有效,算子 add_sample_class_mlpadd_sample_class_mlpAddSampleClassMlpAddSampleClassMlpAddSampleClassMlpadd_sample_class_mlp 返回值 2 ( H_MSG_TRUE )。如有必要,则抛出异常。

可能的前趋

create_class_mlpcreate_class_mlpCreateClassMlpCreateClassMlpCreateClassMlpcreate_class_mlp

可能的后继

train_class_mlptrain_class_mlpTrainClassMlpTrainClassMlpTrainClassMlptrain_class_mlp, write_samples_class_mlpwrite_samples_class_mlpWriteSamplesClassMlpWriteSamplesClassMlpWriteSamplesClassMlpwrite_samples_class_mlp

替代

read_samples_class_mlpread_samples_class_mlpReadSamplesClassMlpReadSamplesClassMlpReadSamplesClassMlpread_samples_class_mlp

另见

clear_samples_class_mlpclear_samples_class_mlpClearSamplesClassMlpClearSamplesClassMlpClearSamplesClassMlpclear_samples_class_mlp, get_sample_num_class_mlpget_sample_num_class_mlpGetSampleNumClassMlpGetSampleNumClassMlpGetSampleNumClassMlpget_sample_num_class_mlp, get_sample_class_mlpget_sample_class_mlpGetSampleClassMlpGetSampleClassMlpGetSampleClassMlpget_sample_class_mlp

模块

基础