Package org.tribuo.common.sgd
Class AbstractLinearSGDModel<T extends Output<T>>
java.lang.Object
org.tribuo.Model<T>
org.tribuo.common.sgd.AbstractSGDModel<T>
org.tribuo.common.sgd.AbstractLinearSGDModel<T>
- All Implemented Interfaces:
com.oracle.labs.mlrg.olcut.provenance.Provenancable<ModelProvenance>
,Serializable
,ProtoSerializable<org.tribuo.protos.core.ModelProto>
- Direct Known Subclasses:
LinearSGDModel
,LinearSGDModel
,LinearSGDModel
A linear model trained using SGD.
It's an AbstractSGDModel
containing a LinearParameters
, with
the bias folded into the features.
See:
Bottou L. "Large-Scale Machine Learning with Stochastic Gradient Descent" Proceedings of COMPSTAT, 2010.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.tribuo.common.sgd.AbstractSGDModel
AbstractSGDModel.PredAndActive
-
Field Summary
Fields inherited from class org.tribuo.common.sgd.AbstractSGDModel
addBias, modelParameters
Fields inherited from class org.tribuo.Model
ALL_OUTPUTS, BIAS_FEATURE, featureIDMap, generatesProbabilities, name, outputIDInfo, provenance, provenanceOutput
Fields inherited from interface org.tribuo.protos.ProtoSerializable
DESERIALIZATION_METHOD_NAME, PROVENANCE_SERIALIZER
-
Constructor Summary
ModifierConstructorDescriptionprotected
AbstractLinearSGDModel
(String name, ModelProvenance provenance, ImmutableFeatureMap featureIDMap, ImmutableOutputInfo<T> outputIDInfo, LinearParameters parameters, boolean generatesProbabilities) Constructs a linear model trained via SGD. -
Method Summary
Modifier and TypeMethodDescriptionai.onnx.proto.OnnxMl.ModelProto
exportONNXModel
(String domain, long modelVersion) Exports thisModel
as an ONNX protobuf.protected abstract String
getDimensionName
(int index) Gets the name of the indexed output dimension.Generates an excuse for an example.getTopFeatures
(int n) Gets the topn
features associated with this model.Returns a copy of the weights.protected abstract String
protected abstract ONNXNode
onnxOutput
(ONNXNode input) Takes the unnormalized ONNX output of this model and applies an appropriate normalizer from the concrete class.writeONNXGraph
(ONNXRef<?> input) Methods inherited from class org.tribuo.common.sgd.AbstractSGDModel
getModelParameters, predictSingle
Methods inherited from class org.tribuo.Model
castModel, copy, copy, createDataCarrier, deserialize, deserializeFromFile, deserializeFromStream, generatesProbabilities, getExcuses, getFeatureIDMap, getName, getOutputIDInfo, getProvenance, innerPredict, predict, predict, predict, serialize, serializeToFile, serializeToStream, setName, toString, validate
-
Constructor Details
-
AbstractLinearSGDModel
protected AbstractLinearSGDModel(String name, ModelProvenance provenance, ImmutableFeatureMap featureIDMap, ImmutableOutputInfo<T> outputIDInfo, LinearParameters parameters, boolean generatesProbabilities) Constructs a linear model trained via SGD.- Parameters:
name
- The model name.provenance
- The model provenance.featureIDMap
- The feature domain.outputIDInfo
- The output domain.parameters
- The model parameters.generatesProbabilities
- Does this model generate probabilities?
-
-
Method Details
-
getTopFeatures
Description copied from class:Model
Gets the topn
features associated with this model.If the model does not produce per output feature lists, it returns a map with a single element with key Model.ALL_OUTPUTS.
If the model cannot describe it's top features then it returns
Collections.emptyMap()
.- Specified by:
getTopFeatures
in classModel<T extends Output<T>>
- Parameters:
n
- the number of features to return. If this value is less than 0, all features should be returned for each class, unless the model cannot score it's features.- Returns:
- a map from string outputs to an ordered list of pairs of feature names and weights associated with that feature in the model
-
getExcuse
Description copied from class:Model
Generates an excuse for an example.This attempts to explain a classification result. Generating an excuse may be quite an expensive operation.
This excuse either contains per class information or an entry with key Model.ALL_OUTPUTS.
The optional is empty if the model does not provide excuses.
-
getDimensionName
Gets the name of the indexed output dimension.- Parameters:
index
- The output dimension index.- Returns:
- The name of the requested output dimension.
-
getWeightsCopy
Returns a copy of the weights.- Returns:
- A copy of the weights.
-
onnxOutput
Takes the unnormalized ONNX output of this model and applies an appropriate normalizer from the concrete class.- Parameters:
input
- Unnormalized ONNX leaf node.- Returns:
- Normalized ONNX leaf node.
-
onnxModelName
- Returns:
- Name to write into the ONNX Model.
-
writeONNXGraph
- Parameters:
input
- The input to the model graph.- Returns:
- the output node of the model graph.
-
exportONNXModel
Exports thisModel
as an ONNX protobuf.- Parameters:
domain
- A reverse-DNS name to namespace the model (e.g., org.tribuo.classification.sgd.linear).modelVersion
- A version number for this model.- Returns:
- The ONNX ModelProto representing this Tribuo Model.
-