AveragedPerceptronTrainer Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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 |
WeightColumn |
Sloupec hmotnosti, který trenér očekává. Může to být |
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 |
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. |