SdcaMaximumEntropyMulticlassTrainer 类

定义

使用 IEstimator<TTransformer> 最大枚举多类分类器预测目标。 训练的模型 MaximumEntropyModelParameters 生成类的概率。

public sealed class SdcaMaximumEntropyMulticlassTrainer : Microsoft.ML.Trainers.SdcaMulticlassTrainerBase<Microsoft.ML.Trainers.MaximumEntropyModelParameters>
type SdcaMaximumEntropyMulticlassTrainer = class
    inherit SdcaMulticlassTrainerBase<MaximumEntropyModelParameters>
Public NotInheritable Class SdcaMaximumEntropyMulticlassTrainer
Inherits SdcaMulticlassTrainerBase(Of MaximumEntropyModelParameters)
继承

注解

若要创建此训练程序,请使用 SdcaMaximumEntropySdcaMaximumEntropy (选项)

输入和输出列

输入标签列数据必须是 类型,特征列必须是已知大小的向量 Single

该训练程序输出以下列:

输出列名称 列名称 描述
Score Single 的向量 所有类的分数。 值越高意味着落入相关类的概率越高。 如果第 i 个元素具有最大值,则预测的标签索引为 i。 请注意,i 是从零开始的索引。
PredictedLabel key 类型 预测标签的索引。 如果其值为 i,则实际标签为键值输入标签类型中的第 i 个类别。

训练器特征

机器学习任务 多类分类
规范化是否需要?
是否需要缓存?
除 Microsoft.ML 外所需的 NuGet
可导出到 ONNX

评分函数

这会训练线性模型来解决多类分类问题。 假设类数为 $m$ 且特征数为 $n$。 它为 $c$-th 类分配系数向量 $\textbf{w}_c \in {\mathbb R}^n$ 和 {\mathbb R}$ 中的偏差$b_c \,用于 $c=1,\dots,m$。 给定特征向量 $\textbf{x} \in {\mathbb R}^n$,$c$-th 类的分数将是 $\tilde{P} (c |\textbf{x}) = \frac{ e^{\hat{y}^c} }{ \sum_{c' = 1}^m e^{\hat{y}^{c'}} }$,其中 $\hat{y}^c = \textbf{w}_c^T \textbf{x} + b_c$。 请注意,$\tilde{P} (c |\textbf{x}) $ 是当特征向量为 $\textbf{x}$ 时观察类 $c$ 的概率。

训练算法详细信息

请参阅 SdcaMulticlassTrainerBase 的文档。

有关使用示例的链接,请查看“另请参阅”部分。

字段

FeatureColumn

训练程序期望的功能列。

(继承自 TrainerEstimatorBase<TTransformer,TModel>)
LabelColumn

训练程序期望的标签列。 可以是 null,指示标签不用于训练。

(继承自 TrainerEstimatorBase<TTransformer,TModel>)
WeightColumn

训练器期望的权重列。 可以 null,这表示权重不用于训练。

(继承自 TrainerEstimatorBase<TTransformer,TModel>)

属性

Info

使用 IEstimator<TTransformer> 最大枚举多类分类器预测目标。 训练的模型 MaximumEntropyModelParameters 生成类的概率。

(继承自 StochasticTrainerBase<TTransformer,TModel>)

方法

Fit(IDataView)

火车并返回一个 ITransformer

(继承自 TrainerEstimatorBase<TTransformer,TModel>)
GetOutputSchema(SchemaShape)

使用 IEstimator<TTransformer> 最大枚举多类分类器预测目标。 训练的模型 MaximumEntropyModelParameters 生成类的概率。

(继承自 TrainerEstimatorBase<TTransformer,TModel>)

扩展方法

AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment)

将“缓存检查点”追加到估算器链。 这将确保针对缓存的数据训练下游估算器。 在执行多个数据传递的训练器之前,拥有缓存检查点会很有帮助。

WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>)

给定估算器后,返回将调用委托的 Fit(IDataView) 包装对象。 估算器通常必须返回有关拟合情况的信息,这就是为什么 Fit(IDataView) 该方法返回特定类型化对象的原因,而不仅仅是常规 ITransformer对象。 但是,同时, IEstimator<TTransformer> 通常形成为包含许多对象的管道,因此,我们可能需要通过 EstimatorChain<TLastTransformer> 估算器链生成一系列估算器,以便我们要获取转换器的估算器被埋在此链中的某个位置。 对于这种情况,我们可以通过此方法附加调用一次将调用的委托。

适用于

另请参阅