AveragedPerceptronTrainer 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 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 formatore, usare AveragedPerceptron o AveragedPerceptron(Options).To create this trainer, use AveragedPerceptron or AveragedPerceptron(Options).
Colonne di input e output
I dati della colonna dell'etichetta di input devono essere Boolean. Le caratteristiche di input dei dati della colonna devono essere un vettore di dimensioni note di Single. Questo formatore restituisce le colonne seguenti:
| Nome della colonna di output | Tipo di colonna | Descrizione |
|---|---|---|
Score |
Single | Punteggio non associato calcolato dal modello. |
PredictedLabel |
Boolean | Etichetta prevista, in base al segno del punteggio. Un punteggio negativo corrisponde a false e un punteggio positivo corrisponde a true. |
Caratteristiche del trainer
| Attività di Machine Learning | Classificazione binaria |
| La normalizzazione è necessaria? | Yes |
| La memorizzazione nella cache è necessaria? | No |
| NuGet necessario oltre a Microsoft.ML | Nessuno |
| Esportabile in ONNX | Yes |
Dettagli algoritmo di training
La perceptron è un algoritmo di classificazione che esegue le stime trovando un iperpiano separato. Ad esempio, con valori di funzionalità $f_0, f_1,..., f_{D-1}$, la stima viene data determinando il lato dell'iperpiano in cui rientra il punto. Corrisponde al segno della somma ponderata delle feauture, ad esempio $\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$ è la distorsione calcolata dall'algoritmo.
La perceptron è un algoritmo online, il che significa che elabora le istanze nel set di training uno alla volta. Inizia con un set di pesi iniziali (zero, casuale o inizializzato da un apprendimento 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 dei pesi viene aggiornato aggiungendo o sottraendo (se l'etichetta è rispettivamente 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 per il gradiente di una funzione di perdita (nel caso specifico descritto in precedenza, la perdita è la perdita della cerniera, la cui sfumatura è 1 quando è diverso da zero).
In Averaged Perceptron (noto anche come pivot-perceptron), per ogni iterazione, ovvero passare attraverso i dati di training, un vettore di peso viene calcolato 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 di Wikipedia per Perceptron o La classificazione di margini di grandi dimensioni tramite l'algoritmo Perceptron.
Vedere anche la sezione Vedere anche i collegamenti agli esempi di utilizzo.
Campi
| Nome | Descrizione |
|---|---|
| FeatureColumn |
Colonna di funzionalità prevista dal formatore. (Ereditato da TrainerEstimatorBase<TTransformer,TModel>) |
| LabelColumn |
Colonna etichetta prevista dal formatore. Può essere |
| WeightColumn |
Colonna di peso prevista dal formatore. Può essere |
Proprietà
| Nome | Descrizione |
|---|---|
| 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
| Nome | Descrizione |
|---|---|
| Fit(IDataView, LinearModelParameters) |
Continua il training di un OnlineLinearTrainer<TTransformer,TModel> oggetto utilizzando un oggetto già sottoposto a |
| Fit(IDataView) |
Esegue il training e restituisce un oggetto ITransformer. (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 la perceptron media. (Ereditato da TrainerEstimatorBase<TTransformer,TModel>) |
Metodi di estensione
| Nome | Descrizione |
|---|---|
| AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Aggiungere un "checkpoint di memorizzazione nella cache" alla catena di stima. In questo modo si garantisce che gli estimatori downstream vengano sottoposti a training su dati memorizzati nella cache. È utile disporre di un checkpoint di memorizzazione nella cache prima che i formatori eseseguono più passaggi di dati. |
| WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
Dato uno strumento di stima, restituire un oggetto wrapping che chiamerà un delegato una volta Fit(IDataView) chiamato. È spesso importante che uno strumento di stima restituisca informazioni sulle dimensioni, 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> vengono spesso formati in pipeline con molti oggetti, quindi potrebbe essere necessario creare una catena di estimatori tramite EstimatorChain<TLastTransformer> dove lo strumento di stima per il quale si vuole ottenere il trasformatore è sepolto in una posizione in questa catena. Per questo scenario, è possibile collegare un delegato che verrà chiamato una volta chiamato fit. |