Sdílet prostřednictvím


AveragedPerceptronTrainer Třída

Definice

Předpověď 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

Chcete-li vytvořit tohoto trenéra, použijte AveragedPerceptron nebo AveragedPerceptron(Options).

Vstupní a výstupní sloupce

Vstupní data sloupce popisku musí být Boolean. Vstupní funkce sloupcová data musí být vektorem známé velikosti Single. 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 Predikovaný popisek na základě znaménka skóre. Záporná skóre mapuje na false a kladná skóre se mapuje na true.

Charakteristiky trenéra

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

Podrobnosti trénovacího algoritmu

Perceptron je klasifikační algoritmus, který vytváří své předpovědi vyhledáním oddělení hyperplanu. Například s hodnotami funkcí $f_0, f_1,..., f_{D-1}$, je predikce zadána určením strany nadroviny, do které bod spadá. To je stejné jako znaménko váženého součtu feautures, 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 předsudky 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á z předchozího učení). Pak se pro každý příklad v trénovací sadě 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 hmotností se aktualizuje buď sčítáním nebo odečtením (pokud je popisek kladný nebo záporný, v uvedeném pořadí), vektorem funkce aktuálního příkladu vynásobeným faktorem 0 < a <= 1, označovaným jako rychlost učení. V generalizaci tohoto algoritmu se váhy aktualizují přidáním vektoru funkce vynásobenou rychlostí učení a přechodem některé ztrátové funkce (v konkrétním případě popsaném výše je ztráta pant-ztráta, jejíž přechod je 1, pokud je nenulový).

V averaged Perceptron (aka voted-perceptron) pro každou iteraci, tj. průchozí trénovací data, se vypočítá 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 pohledem na znaménko výsledku.

Další informace naleznete v části Wikipedie pro perceptron nebo velkou klasifikaci okrajů pomocí algoritmu Perceptron.

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

Pole

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

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

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

Vlastnosti

Info

Předpověď 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

Fit(IDataView, LinearModelParameters)

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

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

Vlaky a vrací hodnotu ITransformer.

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

Předpověď 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í

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

Připojte k řetězci estimátoru kontrolní bod ukládání do mezipaměti. Tím zajistíte, aby podřízené estimátory byly vytré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 zalamovací objekt, který zavolá delegáta jednou Fit(IDataView) . Často je důležité, aby odhadovač vrátil informace o tom, co bylo vhodné, což je důvod, proč Fit(IDataView) metoda vrací konkrétně typ objekt, nikoli 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ězec estimátorů, kde EstimatorChain<TLastTransformer> je odhadovač, IEstimator<TTransformer> pro který chceme získat transformátor, zakopán někde v tomto řetězci. 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é