Share via


AveragedPerceptronTrainer Classe

Definizione

Oggetto IEstimator<TTransformer> per stimare una destinazione usando un modello di classificazione binaria lineare sottoposto a training con la perceptron media.

public sealed class AveragedPerceptronTrainer : Microsoft.ML.Trainers.AveragedLinearTrainer<Microsoft.ML.Data.BinaryPredictionTransformer<Microsoft.ML.Trainers.LinearBinaryModelParameters>,Microsoft.ML.Trainers.LinearBinaryModelParameters>
type AveragedPerceptronTrainer = class
    inherit AveragedLinearTrainer<BinaryPredictionTransformer<LinearBinaryModelParameters>, LinearBinaryModelParameters>
Public NotInheritable Class AveragedPerceptronTrainer
Inherits AveragedLinearTrainer(Of BinaryPredictionTransformer(Of LinearBinaryModelParameters), LinearBinaryModelParameters)
Ereditarietà

Commenti

Per creare questo trainer, usare AveragedPerceptron o AveragedPerceptron(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?
È necessaria la memorizzazione nella cache? No
NuGet richiesto oltre a Microsoft.ML Nessuno
Esportabile in ONNX

Dettagli dell'algoritmo di training

La perceptron è un algoritmo di classificazione che effettua le stime individuando un iperplano separato. 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. Ovvero lo stesso segno della somma ponderata delle feauture, ovvero $\sum_{i = 0}^{D-1} (w_i * f_i) + b$, dove $w_0, w_1,..., w_{D-1}$ sono i pesi calcolati dall'algoritmo e $b$ è il pregiudizio calcolato dall'algoritmo.

La perceptron è un algoritmo online, che significa che elabora le istanze nel set di training una alla volta. Inizia con un set di pesi iniziali (zero, casuale o inizializzato da un learner precedente). Quindi, per ogni esempio nel set di training, viene calcolata la somma ponderata delle funzionalità. Se questo valore ha lo stesso segno dell'etichetta dell'esempio corrente, i pesi rimangono invariati. Se hanno segni opposti, il vettore di pesi viene aggiornato aggiungendo o sottraendo (rispettivamente, se l'etichetta è positiva o negativa) il vettore di funzionalità dell'esempio corrente, moltiplicato per un fattore 0 < a <= 1, denominato tasso di apprendimento. In una generalizzazione di questo algoritmo, i pesi vengono aggiornati aggiungendo il vettore di funzionalità moltiplicato per la frequenza di apprendimento e dalla sfumatura di una funzione di perdita (nel caso specifico descritto in precedenza, la perdita è la perdita della cerniera, la cui sfumatura è 1 quando non è zero).

In Media perceptron (aka voted-perceptron), per ogni iterazione, ovvero passare attraverso i dati di training, viene calcolato un vettore di peso come illustrato in precedenza. La stima finale viene quindi calcolata mediando la somma ponderata da ogni vettore di peso e esaminando il segno del risultato.

Per altre informazioni, vedere La voce Wikipedia per Perceptron o La classificazione di grandi margini usando l'algoritmo Perceptron.

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 null, che indica che l'etichetta non viene usata per il training.

(Ereditato da TrainerEstimatorBase<TTransformer,TModel>)
WeightColumn

Colonna di peso prevista dal trainer. Può essere null, che indica che il peso non viene usato per il training.

(Ereditato da TrainerEstimatorBase<TTransformer,TModel>)

Proprietà

Info

Oggetto IEstimator<TTransformer> per stimare una destinazione usando un modello di classificazione binaria lineare sottoposto a training con la perceptron media.

(Ereditato da OnlineLinearTrainer<TTransformer,TModel>)

Metodi

Fit(IDataView)

Esegue il training e restituisce un ITransformeroggetto .

(Ereditato da TrainerEstimatorBase<TTransformer,TModel>)
Fit(IDataView, LinearModelParameters)

Continua il training di un oggetto usando un OnlineLinearTrainer<TTransformer,TModel> oggetto già sottoposto a modelParameters training e restituisce un ITransformeroggetto .

(Ereditato da OnlineLinearTrainer<TTransformer,TModel>)
GetOutputSchema(SchemaShape)

Oggetto IEstimator<TTransformer> per stimare una destinazione usando un modello di classificazione binaria lineare sottoposto a training con la perceptron media.

(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.

Si applica a

Vedi anche