AveragedPerceptronTrainer Třída

Definice

Predikce IEstimator<TTransformer> cíle pomocí lineárního binárního klasifikačního modelu natrénovaného průměrem perceptronu

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)
Dědičnost

Poznámky

K vytvoření tohoto trenéra použijte AveragedPerceptron nebo AveragedPerceptron(Options).

Vstupní a výstupní sloupce

Vstupní data sloupce štítku musí být Boolean. Vstupními funkcemi musí být data sloupců známým vektorem Singlevelikosti . Tento trenér vypíše následující sloupce:

Název výstupního sloupce Typ sloupce Description
Score Single Nevázané skóre, které model vypočítal.
PredictedLabel Boolean Předpovězený popisek, který je založen na znaménku skóre. Záporné skóre se mapuje na false a pozitivní skóre se mapuje na true.

Charakteristiky trenéra

Úloha strojového učení Binární klasifikace
Vyžaduje se normalizace? Ano
Vyžaduje se ukládání do mezipaměti? No
Požadovaný NuGet kromě Microsoft.ML None
Exportovatelné do ONNX Ano

Podrobnosti trénovacího algoritmu

Perceptron je klasifikační algoritmus, který vytváří jeho předpovědi vyhledáním oddělení nadrovnice. Například s hodnotami funkcí $f_0, f_1,..., f_{D-1}$, je předpověď dána určením strany nadrovnice, do které části bodu spadá. To je stejné jako znaménko váženého součtu feauture, tj. $\sum_{i = 0}^{D-1} (w_i * f_i) + b$, kde $w_0, w_1,..., w_{D-1}$ jsou váhy vypočítané algoritmem a $b$ je odchylka vypočítaná algoritmem.

Perceptron je online algoritmus, což znamená, že zpracovává instance v trénovací sadě po jednom. Začíná sadou počátečních hmotností (nula, náhodná nebo inicializovaná od předchozího žáka). Pro každý příklad v trénovací sadě se pak vypočítá vážený součet funkcí. Pokud má tato hodnota stejné znaménko jako popisek aktuálního příkladu, váhy zůstanou stejné. Pokud mají opačné znaménka, vektor váhy se aktualizuje buď přidáním nebo odečtením (pokud je popisek kladný nebo záporný), vektorem funkce aktuálního příkladu vynásobeným faktorem 0 < a <= 1, označovaným jako rychlost učení. Ve zobecnění tohoto algoritmu se váhy aktualizují přidáním vektoru funkce vynásobenou rychlostí učení a přechodem některé funkce ztráty (v konkrétním případě popsaném výše je ztráta závěsu, jejíž přechod je 1, pokud není nula).

V argumentu Averaged Perceptron (neboli voted-perceptron) se pro každou iteraci vypočítává vektor hmotnosti, jak je vysvětleno výše. Konečná předpověď se pak vypočítá průměrem váženého součtu z každého vektoru hmotnosti a zobrazením znaménka výsledku.

Další informace naleznete v tématu Položka Wikipedie pro Perceptron nebo Large Margin Classification Using the Perceptron Algorithm.

Odkazy na příklady použití najdete v části Viz také.

Pole

Name Description
FeatureColumn

Sloupec funkcí, který trenér očekává.

(Zděděno od TrainerEstimatorBase<TTransformer,TModel>)
LabelColumn

Sloupec popisku, který trenér očekává. Může to být null, což označuje, že popisek se nepoužívá pro trénování.

(Zděděno od TrainerEstimatorBase<TTransformer,TModel>)
WeightColumn

Váhový sloupec, který trenér očekává. Může být null, což označuje, že hmotnost není použita pro trénování.

(Zděděno od TrainerEstimatorBase<TTransformer,TModel>)

Vlastnosti

Name Description
Info

Predikce IEstimator<TTransformer> cíle pomocí lineárního binárního klasifikačního modelu natrénovaného průměrem perceptronu

(Zděděno od OnlineLinearTrainer<TTransformer,TModel>)

Metody

Name Description
Fit(IDataView, LinearModelParameters)

Pokračuje v trénování OnlineLinearTrainer<TTransformer,TModel> pomocí již natrénovaného modelParameters a vrátí hodnotu ITransformer.

(Zděděno od OnlineLinearTrainer<TTransformer,TModel>)
Fit(IDataView)

Vlaky a vrací .ITransformer

(Zděděno od TrainerEstimatorBase<TTransformer,TModel>)
GetOutputSchema(SchemaShape)

Predikce IEstimator<TTransformer> cíle pomocí lineárního binárního klasifikačního modelu natrénovaného průměrem perceptronu

(Zděděno od TrainerEstimatorBase<TTransformer,TModel>)

Metody rozšíření

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

Připojte kontrolní bod ukládání do mezipaměti do řetězu odhadce. Tím zajistíte, aby podřízené estimátory byly natrénovány proti datům uloženým v mezipaměti. Před průchodem více dat je užitečné mít kontrolní bod ukládání do mezipaměti.

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

Vzhledem k estimátoru vraťte objekt obtékání, který jednou zavolá delegáta Fit(IDataView) . Často je důležité, aby estimátor vrátil informace o tom, co bylo vhodné, což je důvod, proč Fit(IDataView) metoda vrací konkrétní typ objekt, spíše než jen obecný ITransformer. Ve stejnou dobu se však často vytvářejí do kanálů s mnoha objekty, takže možná budeme muset vytvořit řetěz odhadců prostřednictvím IEstimator<TTransformer> místa, kde odhadovač, EstimatorChain<TLastTransformer> pro který chceme získat transformátor, je někde v tomto řetězu. Pro tento scénář můžeme prostřednictvím této metody připojit delegáta, který bude volána po zavolání fit.

Platí pro

Viz také