LinearSvmTrainer Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Oggetto IEstimator<TTransformer> per stimare una destinazione usando un modello di classificazione binaria lineare sottoposto a training con Linear SVM.
public sealed class LinearSvmTrainer : Microsoft.ML.Trainers.OnlineLinearTrainer<Microsoft.ML.Data.BinaryPredictionTransformer<Microsoft.ML.Trainers.LinearBinaryModelParameters>,Microsoft.ML.Trainers.LinearBinaryModelParameters>
type LinearSvmTrainer = class
inherit OnlineLinearTrainer<BinaryPredictionTransformer<LinearBinaryModelParameters>, LinearBinaryModelParameters>
Public NotInheritable Class LinearSvmTrainer
Inherits OnlineLinearTrainer(Of BinaryPredictionTransformer(Of LinearBinaryModelParameters), LinearBinaryModelParameters)
- Ereditarietà
Commenti
Per creare questo trainer, usare LinearSvm o LinearSvm(Options).
Colonne di input e output
I dati della colonna dell'etichetta di input devono essere Boolean. I dati delle colonne delle funzionalità di input devono essere un vettore di dimensioni note di Single. Questo formatore restituisce le colonne seguenti:
Nome colonna di output | Tipo di colonna | Descrizione |
---|---|---|
Score |
Single | Punteggio non associato calcolato dal modello. |
PredictedLabel |
Boolean | L'etichetta stimata, in base al segno del punteggio. Un punteggio negativo esegue il mapping a false e un punteggio negativo esegue il mapping a true . |
Caratteristiche del trainer
Attività di Machine Learning | Classificazione binaria |
È necessaria la normalizzazione? | Sì |
È necessaria la memorizzazione nella cache? | No |
NuGet richiesto oltre a Microsoft.ML | Nessuno |
Esportabile in ONNX | Sì |
Dettagli dell'algoritmo di training
La SVM lineare implementa un algoritmo che trova un hyperplane nello spazio delle funzionalità per la classificazione binaria, risolvendo un problema SVM. Ad esempio, con valori di funzionalità $f_0, f_1,..., f_{D-1}$, la stima viene fornita determinando il lato dell'hyperplane in cui si trova il punto. Vale a dire il segno della somma ponderata delle feauture, ad esempio $\sum_{i = 0}^{D-1} \left(w_i * f_i \right) + b$, dove $w_0, w_1,..., w_{D-1}$ sono i pesi calcolati dall'algoritmo e $b$ è il pregiudizio calcolato dall'algoritmo.
Lineare SVM implementa il metodo PEGASOS, che alterna i passaggi di discesa delle sfumature stochastiche e i passaggi di proiezione, introdotti in questo documento da Shalev-Shwartz, Singer e Srebro.
Controllare la sezione Vedere anche i collegamenti agli esempi di utilizzo.
Campi
FeatureColumn |
Colonna di funzionalità prevista dal trainer. (Ereditato da TrainerEstimatorBase<TTransformer,TModel>) |
LabelColumn |
Colonna etichetta prevista dal trainer. Può essere |
WeightColumn |
Colonna di peso prevista dal trainer. Può essere |
Proprietà
Info |
Oggetto IEstimator<TTransformer> per stimare una destinazione usando un modello di classificazione binaria lineare sottoposto a training con Linear SVM. (Ereditato da OnlineLinearTrainer<TTransformer,TModel>) |
Metodi
Fit(IDataView, LinearModelParameters) |
Continua il training di un oggetto usando un OnlineLinearTrainer<TTransformer,TModel> oggetto già sottoposto a |
Fit(IDataView) |
Esegue il training e restituisce un ITransformeroggetto . (Ereditato da TrainerEstimatorBase<TTransformer,TModel>) |
GetOutputSchema(SchemaShape) |
Oggetto IEstimator<TTransformer> per stimare una destinazione usando un modello di classificazione binaria lineare sottoposto a training con Linear SVM. (Ereditato da TrainerEstimatorBase<TTransformer,TModel>) |
Metodi di estensione
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Aggiungere un "checkpoint di memorizzazione nella cache" alla catena di stima. Ciò garantisce che gli estimatori downstream vengano sottoposti a training sui dati memorizzati nella cache. È utile avere un checkpoint di memorizzazione nella cache prima dei training che accettano più passaggi di dati. |
WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
Dato un stimatore, restituire un oggetto wrapping che chiamerà un delegato una volta Fit(IDataView) chiamato. Spesso è importante che un stimatore restituisca informazioni su ciò che è stato adatto, che è il motivo per cui il Fit(IDataView) metodo restituisce un oggetto tipizzato in modo specifico, anziché solo un oggetto generale ITransformer. Tuttavia, allo stesso tempo, IEstimator<TTransformer> sono spesso formati in pipeline con molti oggetti, quindi potrebbe essere necessario creare una catena di stima tramite EstimatorChain<TLastTransformer> dove lo stimatore per cui si vuole ottenere il trasformatore è sepolto da qualche parte in questa catena. Per questo scenario, è possibile collegare questo metodo a un delegato che verrà chiamato una volta chiamato fit. |